The Deployer MCP server
Let Claude Code, Codex, Cursor, VS Code or any AI coding agent deploy and run your apps withThe Deployer. Ask it to put your app online and it checks the code, fixes whatwould stop a deploy, creates the project, sets the environment variables, shows you the hosting plan and itsmonthly cost, launches into your own cloud once you say yes, follows the deployment and fixes what fails.Then it redeploys, adds domains, scales, schedules start and stop, attaches databases and more.
The Deployer runs your app in your own DigitalOcean, AWS, Google Cloud or Azure account, or on your ownservers, so the cloud bills you directly.
Tools
| Tool | What it does | Key |
|---|---|---|
guide |
The Deployer's playbooks for agents: the order of a deploy, what code needs, how to fix failures | Not needed |
check_repo |
Will a public repository deploy? What it found, what's missing, and what it would cost on each cloud | Not needed |
plan_deploy |
The check, plus your connected accounts and projects, and the next step to take | Any |
account |
Your connected clouds and code hosts, workspaces, and what the key may do | Any |
status |
Your projects, their live addresses and their latest deployment | Any |
project |
One project in depth, with the exact next step | Any |
deployment |
Where a deployment is, what it waits on, and for a failed one what to fix | Any |
logs |
A deployment's log, with secrets removed | Any |
diagnose |
Read-only checks on a live server: containers, app logs, memory and disk | Any |
redeploy |
Pulls the latest code on a live project's branch and restarts it | Any |
create_project |
Creates a project from a repository and reads its code | Operate |
set_env |
Sets environment variables; values are never shown back | Operate |
launch |
Shows the plan and its cost, then launches after you say yes | Operate |
api_catalog / api_schema / api_read / api |
Everything else (api_read reads, api changes): domains, scaling, schedules, databases, access, environments, blueprints, servers, adoption |
Reads: any. Changes: Operate |
fixes / fix / claim_fix / report_fix / fix_status |
Code problems a deploy hit, when you choose to have your own agent fix them (The Deployer fixes them itself by default) | Reads: any. Changes: Operate |
request_done_for_you |
Asks for a done-for-you Launch or Move; you finish the order in The Deployer | Any |
To create a key, sign in to The Deployer, open Profile, and use API keys and AI coding tools. ChooseOperate to let an agent set up and run projects, or Look and redeploy. The page also shows thesesetups with your key filled in.
What an agent can never do with a key: see your cloud or git credentials or your environment variablevalues, change billing, your team or your account, delete projects, databases or servers, or create keys.Anything that costs money waits for your yes.
Setup: sign in, no key
The fastest way: add the server by its address and sign in. Your agent opens The Deployer in your browser, youapprove it, and that's it: no key to create or paste. Or open Connections → Coding agents in The Deployer andpick your agent for one-click setup.
Server address: https://app.thedploy.com/mcp
Claude Code:
claude mcp add --transport http --scope user thedeployer https://app.thedploy.com/mcp
claude mcp login thedeployer
Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector, addresshttps://app.thedploy.com/mcp.
Cursor, in ~/.cursor/mcp.json, then Cursor Settings → Tools & MCP → thedeployer → Needs login:
{ "mcpServers": { "thedeployer": { "url": "https://app.thedploy.com/mcp" } } }
VS Code: run MCP: Add Server → HTTP → https://app.thedploy.com/mcp; VS Code asks you to sign in thefirst time Copilot uses it.
Codex:
codex mcp add thedeployer --url https://app.thedploy.com/mcp
Gemini CLI, in ~/.gemini/settings.json:
{ "mcpServers": { "thedeployer": { "httpUrl": "https://app.thedploy.com/mcp" } } }
Setup with a key
For tools that can't sign in, or for CI.
The hosted server needs nothing installed. Replace dpl_your_key with your key.
Keep the key out of files you commit. Put it in your user-level settings, or have your tool read it froman environment variable or a prompt, as shown below for project files.
Claude Code, for all your projects (stored in ~/.claude.json):
claude mcp add --transport http --scope user thedeployer https://app.thedploy.com/api/v1/mcp --header "Authorization: Bearer dpl_your_key"
To share the server in a project's .mcp.json, use "Authorization": "Bearer ${THEDEPLOYER_API_KEY}" asthe header. Claude Code fills it in from each person's THEDEPLOYER_API_KEY environment variable.
Codex, in ~/.codex/config.toml:
[mcp_servers.thedeployer]
command = "npx"
args = ["-y", "thedeployer-mcp"]
env = { THEDEPLOYER_API_KEY = "dpl_your_key" }
Cursor, in ~/.cursor/mcp.json:
{
"mcpServers": {
"thedeployer": {
"url": "https://app.thedploy.com/api/v1/mcp",
"headers": { "Authorization": "Bearer dpl_your_key" }
}
}
}
In a project's .cursor/mcp.json, use "Authorization": "Bearer ${env:THEDEPLOYER_API_KEY}" instead, soCursor reads the key from your environment.
VS Code, in .vscode/mcp.json. VS Code asks for the key the first time and stores it securely:
{
"inputs": [
{ "type": "promptString", "id": "thedeployer-key", "description": "The Deployer API key", "password": true }
],
"servers": {
"thedeployer": {
"type": "http",
"url": "https://app.thedploy.com/api/v1/mcp",
"headers": { "Authorization": "Bearer ${input:thedeployer-key}" }
}
}
}
The same works in your user configuration (run MCP: Open User Configuration).
Gemini CLI, in ~/.gemini/settings.json:
{
"mcpServers": {
"thedeployer": {
"httpUrl": "https://app.thedploy.com/api/v1/mcp",
"headers": { "Authorization": "Bearer dpl_your_key" }
}
}
}
Tools that start a local command (Cline, Windsurf and others) use this package, which needs Node.js 18or newer. Add it to the tool's user-level MCP settings:
{
"mcpServers": {
"thedeployer": {
"command": "npx",
"args": ["-y", "thedeployer-mcp"],
"env": { "THEDEPLOYER_API_KEY": "dpl_your_key" }
}
}
}
If your tool's configuration looks different, its MCP documentation has the equivalent fields: a URLwith an Authorization header, or a command with an environment variable.
Proxies and company networks
With the hosted server, your AI tool makes the connection, so its own proxy settings apply.
This package uses Node.js, which ignores HTTPS_PROXY unless you turn that on. Add NODE_USE_ENV_PROXYnext to it, which needs Node.js 22.21 or newer, or 24.0 or newer. (The --use-env-proxy flag does thesame from Node.js 22.21 or 24.5.) On older versions, this package can't go through a proxy.
If your network inspects HTTPS with its own certificate, set NODE_EXTRA_CA_CERTS to that certificate'sfile (PEM):
"env": {
"THEDEPLOYER_API_KEY": "dpl_your_key",
"HTTPS_PROXY": "http://proxy.example.com:8080",
"NODE_USE_ENV_PROXY": "1",
"NODE_EXTRA_CA_CERTS": "/path/to/company-ca.pem"
}
What a key can and can't do
A key works only with The Deployer's MCP server, and only through its tools: check_repo,plan_deploy, status, logs (with secrets removed), redeploy and request_done_for_you. It can'ttouch your cloud or git credentials, your environment variables, your billing or your account settings, andit can't create more keys. The Deployer stores only a hash of it. Revoke a key on the Profile page at anytime; use one key per tool or machine, so you can revoke one without touching the rest. Changing orresetting your password revokes all your keys.
redeploy changes a live app. Keep your tool asking you before it runs redeploy, rather than approvingit automatically.
Tool answers come from your repositories and deployments. Treat them like any other text your agent reads.
How this package works
index.mjs is a bridge with no dependencies. It reads MCP messages from stdin, sends each one to TheDeployer's hosted endpoint over HTTPS with your key, and writes the answers to stdout. The tools run on TheDeployer, so this package doesn't change when they do.
Every request gets an answer. When The Deployer refuses one or can't be reached, the answer is an errorthat says why, such as a revoked key or a timeout. The bridge never follows redirects, and it never putsyour key anywhere but the Authorization header.
| Variable | Meaning |
|---|---|
THEDEPLOYER_API_KEY |
Your personal API key. Without it, only check_repo works |
THEDEPLOYER_MCP_URL |
The endpoint, if not https://app.thedploy.com/api/v1/mcp. It must use https://, except on this computer (127.0.0.1, ::1 or localhost) |
THEDEPLOYER_TIMEOUT_MS |
How long to wait for one answer, in milliseconds, from 1000 to 600000 (default 200000) |
npm test
License
MIT