← Discover MCPs and Agents
A
MCPAI & MLMCP Registry

Antideploy

Deploy an app to Antideploy from a coding agent. No Dockerfile, no YAML, no cloud console.

Links

README

From the repo.

antideploy-mcp

Deploy an application to Antideploy from inside a coding agent. Claude Code, Cursor, Windsurf, Codex, anything that speaks MCP.

You describe what you want built. The agent writes it, then deploys it, without either of you writing a Dockerfile, a YAML file, or touching a cloud console.

you  ─▶  agent writes the app  ─▶  deploy  ─▶  https://your-app.antideploy.com

Install

Nothing to install. The agent runs it with npx.

Claude Code

claude mcp add antideploy -e ANTIDEPLOY_API_KEY=ad_your_key -- npx -y antideploy-mcp

Cursor, Windsurf, and anything else with an mcp.json

{
  "mcpServers": {
    "antideploy": {
      "command": "npx",
      "args": ["-y", "antideploy-mcp"],
      "env": { "ANTIDEPLOY_API_KEY": "ad_your_key" }
    }
  }
}

Getting a key

Create an application at antideploy.com, then create an API key for it. The key identifies the application, so you never pass an application id: one key, one app. That is deliberate: this key ends up pasted into a project directory, which means it will eventually be committed or screenshotted, so it is scoped to a single application, can write secrets but never read them back, and can be revoked on its own.

Deploying somewhere new means a new app and a new key.

Tools

ToolWhat it does
deployPackages the project directory and deploys it. Returns a taskId.
deployment_statusProgress for one deploy: steps, the analyzed spec, warnings, hazards.
list_envEnvironment variable names. Values are never returned.
set_envStore or replace environment variables.
api_infoThe platform API's own description of itself.

Deploys are asynchronous. deploy hands back a taskId; poll deployment_status until it reports succeeded or failed.

Two things worth knowing

The whole directory is sent, not just the entry point. The single most common way to break a deploy on this platform is to upload one file: it builds fine, starts fine, and then serves a page whose every asset 404s.

A .env in the directory is uploaded on purpose. Its values go into Antideploy's encrypted secret store and the file itself is dropped from the build context, so you don't retype nine API keys you already have on disk. If that is not what you want, move the file before deploying.

Skipped automatically: node_modules, .git, build output (dist, build, .next, target, …), virtualenvs, editor and tool caches, and private keys (*.pem, *.key, id_rsa, …).

Limits

Files4,000
Per file5 MB
Total upload28 MB
Concurrent deploys1 per application

Checked locally before anything is uploaded, so hitting one costs you an error rather than a transfer.

Configuration

Variable
ANTIDEPLOY_API_KEYRequired. The key for the application to deploy.
ANTIDEPLOY_URLOptional. Defaults to https://antideploy.com.

What Antideploy does with what you send

Reads the source and works out the runtime, framework, build and start commands, the port, and every environment variable the code references, deterministically, citing the file each conclusion came from, not by asking a model to guess. Then provisions what the app needs, including a Postgres database with DATABASE_URL injected and migrations run before the app starts rather than after it has already crashed. Then builds a container with buildpacks, releases it behind HTTPS, and keeps it running: health checks, logs, and rollback to an already-built image in about forty seconds.

Full documentation: antideploy.com/docs

License

MIT

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.