mcp-agent
gives you one programming model that scales from a laptop to a managed cloud runtime. You can deploy full agents and standalone MCP servers (FastMCP services, ChatGPT App backends, bespoke tool APIs) without rewriting your app. This section maps the deployment options, explains when to reach for each path, and points to the detailed runbooks that follow.
Why deploy with mcp-agent
?
- One protocol everywhere – every deployment option exposes the same MCP endpoints (
call_tool
,read_resource
,list_prompts
). Any MCP client (Claude, Cursor, ChatGPT Apps, custom SSE client) can connect without rewriting code. - Durable workflows when you need them – the same decorators (
@app.tool
,@app.async_tool
,@app.workflow
) run onasyncio
locally and on Temporal in the cloud. Pause/resume, retries, and human-in-the-loop all come along for free. - Operational guardrails – the CLI manages build artifacts, secrets, auth configuration, client installation, and observability so you can focus on agent logic.
Deployment paths
- Managed (mcp-agent cloud) –
mcp-agent deploy
bundles your project, processes secrets, and ships it to our hosted environment. Agent workflows execute on Temporal, stdio MCP servers run as sidecar containers, and you get managed auth, logging, and tracing. Learn the architecture → - Bring-your-own Temporal – point the same project at your self-hosted Temporal cluster for on-prem or air-gapped requirements. See Durable agents for configuration.
- Plain MCP servers – use FastMCP or
@app.tool
only and deploy without workflows when you just need stateless tools. Deploy an MCP server → - Local iteration – run with
asyncio
on your laptop for rapid development and tests. Switch to Temporal when you are ready for durability.
Use case | Recommended path | What you get |
---|---|---|
Prototype & debugging | uv run main.py or mcp-agent dev start | Hot reload, local logs, same decorators |
Durable agents in hours | mcp-agent deploy (managed) | Temporal-backed workflows, cloud logging, secrets, auth |
Regulated / on-prem | Self-hosted Temporal + mcp_agent.config.yaml overrides | Same workflow code, you manage infra |
Publish reusable MCP tools | FastMCP or @app.tool deployed via cloud | Standard MCP transport, installable from CLI |
Two-minute preview
<app_id>
is the hostname printed by the CLI (for example, app_abc123xyz
).
Any MCP client can connect over SSE/WebSocket using your chosen auth mode.
What happens after deployment?
- Temporal schedules your workflows – every
@app.async_tool
and@app.workflow
runs as a Temporal workflow with pause/resume, retries, and human input support. - Each stdio MCP server is containerized – servers declared in
mcp_agent.config.yaml
run in sand-boxed containers with managed lifecycle. - Observability is turned on – logs are streamed through the
mcp-agent cloud logger tail
API and you can forward traces to any OTLP endpoint. - Clients install with one command –
mcp-agent install
ormcp-agent cloud configure
writes the right headers/URLs into Claude Desktop, Cursor, VS Code, or ChatGPT Apps.
Explore next
Deployment Quickstart
Hands-on walk-through from project to production
mcp-agent Cloud
Deep dive into the managed architecture & lifecycle
Authentication
Compare bearer tokens, OAuth, and unauthenticated modes
Observability
Wire up OTEL exporters and live log streaming
Use cases
Guides for agents, MCP servers, and ChatGPT Apps
CLI reference
Full command catalog for automation and CI