mcp-c is a fully managed runtime for MCP applications—whether that is a full mcp-agent workflow, a FastMCP server, or a custom ChatGPT App backend. You write agents using the same decorators you use locally—@app.tool, @app.async_tool, @app.workflow—and deploy them with a single CLI command. The platform bundles your code, provisions containerized MCP servers, executes workflows on Temporal, secures secrets, and streams telemetry to your dashboard or OTEL backend.
Key capabilities
- Agents as MCP servers – every
MCPAppis exposed as an MCP server with standard transports (SSE + streamable HTTP). Tools, resources, and prompts remain discoverable via the MCP APIs. - Temporal-backed durability –
@app.async_tooland@app.workflowmap to Temporal workflows with built-in retries, pause/resume, human input, and memoized state. - Automatic container orchestration – stdio MCP servers defined in
mcp_agent.config.yamlrun in hardened containers with lifecycle management, health checks, and auto-restarts. - Managed secrets – deployment secrets are encrypted at rest; per-user secrets are collected via
mcp-agent cloud configureand scoped to that user’s execution. - Observability out-of-the-box – structured logs, traces, token counts, and workflow telemetry are available via the CLI or your own OTEL endpoint.
- Simple client integration –
mcp-agent installwrites correct configs for Claude Desktop, Cursor, VS Code, and ChatGPT Apps.
Architecture at a glance
| Layer | What happens |
|---|---|
| Developer workstation | mcp-agent deploy packages your project, transforms secrets, optionally tags the git commit, and uploads artefacts. |
| Deploy control plane | Validates the bundle, builds container images, provisions or updates the MCP server, and wires secrets + environment variables. |
| Runtime plane | A dedicated container hosts your main.py (MCPApp). Each stdio server (fetch, filesystem, custom tools) runs in its own container and communicates over local networking. |
| Temporal cluster | Durable execution for workflows. Runs inside an internal multi-role Temporal deployment with service discovery and auth proxies. |
| Edge + observability | Edge services expose HTTPS + SSE endpoints, enforce auth, forward telemetry to OTEL, and provide log streaming (mcp-agent cloud logger tail). |
Deployment lifecycle
- Bundle – the CLI snapshots your directory, applying
.mcpacignoreand generatingmcp_agent.deployed.secrets.yaml. - Upload – artefacts are sent to the deployment service along with metadata (name, description, git commit, semantic version if provided).
- Build – containers are built for the application runtime and declared MCP stdio servers.
- Provision – infrastructure spins up in an isolated namespace; TLS certificates and routing are configured automatically.
- Health gate – Temporal workers and MCP endpoints must report healthy before the deployment is marked online.
- Operate – logs, traces, workflow state, and metrics become available through CLI and OTEL endpoints.
Execution model
- Synchronous tools (
@app.tool) run inline in the MCP server process and return results immediately. Use them for quick lookups or wrappers around MCP servers. - Asynchronous tools (
@app.async_tool) enqueue a Temporal workflow and return{workflow_id, run_id}. Callers pollworkflows-get_statusuntil completion. - Workflow classes (
@app.workflow,@app.workflow_run) define reusable long-running units. The platform generates the MCP tools (workflows-<Name>-run,workflows-cancel, etc.) automatically. - Human input & signals – workflows can pause on
await context.request_human_input(...)or custom signals. Temporal keeps state durable during waits. - Multi-agent orchestration – routers, evaluator-optimizer loops, and deep orchestrator patterns are distributed across worker tasks but remain addressable through MCP tool APIs.
Security & authentication
- Bearer tokens – default authentication mode. API keys created via
mcp-agent loginare scoped per user and can be rotated. - Unauthenticated mode – enable with
mcp-agent deploy <name> --no-authfor public endpoints (required for ChatGPT Apps). - OAuth 2.1 (preview) – the platform’s authorization server follows the MCP OAuth specification, enabling end-to-end user authentication for enterprise scenarios. See Authentication →.
- Downstream OAuth – use
mcp_agent.config.yamlto configure client credentials for the agent’s outbound connections (e.g., Linear MCP server). Tokens are stored via the built-in token manager (token_storesupports in-memory and Redis backends).
Observability
- Logs – stream with
mcp-agent cloud logger tail <identifier>; filter by time, severity, regex; export as JSON or YAML. - Traces – enable OpenTelemetry exporters in
mcp_agent.config.yamlor forward to your collector viamcp-agent cloud logger configure. - Token accounting – the runtime counts prompt+completion tokens when using supported AugmentedLLM providers.
- Workflow insights – inspect status, history, and memo data via CLI (
mcp-agent cloud workflows describe) or Temporal Web UI (coming soon to the console).
Tooling surface
| Need | Command |
|---|---|
| Deploy or update | mcp-agent deploy <name> |
| Configure user secrets | mcp-agent cloud configure --id <server-url> |
| Manage servers | mcp-agent cloud servers list | describe | delete |
| Monitor logs | mcp-agent cloud logger tail <id> |
| Manage workflows | mcp-agent cloud workflows list | runs | describe | suspend | resume | cancel |
| Install into clients | mcp-agent install --client <vscode|cursor|claude_desktop|chatgpt> <server-url> |
When to use mcp-agent cloud
- You want durable, resumable agents without operating Temporal or container infrastructure yourself.
- You need to ship MCP servers to a broader audience (internal marketplace, customer-facing tools, ChatGPT Apps).
- You require centralised observability and secrets management for all deployments.
- You are ready to standardise on MCP for tool integration and agent orchestration.
