{
  "markdown": "<p align=\"center\"><img src=\"./logo.svg\" width=\"96\" alt=\"BasicDeploy\"></p>\n\n# BasicDeploy MCP Server\n\n**The persistent runtime your agent deploys to: a database, object storage, a Kafka broker, and a public URL, one MCP call.**\n\nAn [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that lets AI coding agents (Claude Code, Cursor, and any MCP client) create and manage [BasicDeploy](https://basicdeploy.com) containers directly. Every container comes with a PostgreSQL database, S3‑compatible object storage, a Kafka broker, environment variables, and a public HTTPS URL, all provisioned automatically. Your agent can create containers, deploy apps (Node, Python, Go, or Docker, auto‑detected), run commands, read logs, manage Kafka topics, check who it is authenticated as, set always‑on, and share or delete containers.\n\n- 🌐 Site: https://basicdeploy.com\n- 📦 npm: https://www.npmjs.com/package/basicdeploy-mcp\n- 📚 Docs: https://basicdeploy.com/docs\n\n## Quick start\n\nRequires Node.js ≥ 18. No install needed. `npx` fetches it on demand.\n\nGet an API key at **https://basicdeploy.com/api-keys** (it looks like `bd_…`, shown once), then add this to your MCP client:\n\n```json\n{\n  \"mcpServers\": {\n    \"basicdeploy\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"basicdeploy-mcp@latest\"],\n      \"env\": {\n        \"BASICDEPLOY_API_KEY\": \"bd_your_api_key\",\n        \"BASICDEPLOY_URL\": \"https://basicdeploy.com\"\n      }\n    }\n  }\n}\n```\n\nClaude Code:\n\n```bash\nclaude mcp add basicdeploy \\\n  --env BASICDEPLOY_API_KEY=bd_your_api_key \\\n  --env BASICDEPLOY_URL=https://basicdeploy.com \\\n  -- npx -y basicdeploy-mcp@latest\n```\n\nClaude Code plugin (this repo doubles as a plugin marketplace):\n\n```bash\n/plugin marketplace add AkaciaNL/basicdeploy-mcp\n/plugin install basicdeploy-mcp@basicdeploy\n```\n\nThen set `BASICDEPLOY_API_KEY` in your environment (the plugin reads it via `${BASICDEPLOY_API_KEY}`).\n\nOpenAI Codex CLI:\n\n```bash\ncodex mcp add basicdeploy \\\n  --env BASICDEPLOY_API_KEY=bd_your_api_key \\\n  --env BASICDEPLOY_URL=https://basicdeploy.com \\\n  -- npx -y basicdeploy-mcp@latest\n```\n\nor add it directly to `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.basicdeploy]\ncommand = \"npx\"\nargs = [\"-y\", \"basicdeploy-mcp@latest\"]\nenv = { BASICDEPLOY_API_KEY = \"bd_your_api_key\", BASICDEPLOY_URL = \"https://basicdeploy.com\" }\n```\n\n### Environment variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `BASICDEPLOY_API_KEY` | Yes | Your API key (`bd_…`). Required to call any tool (the server still starts and lists its tools without it, so clients can introspect it). |\n| `BASICDEPLOY_URL` | No | API base URL. Defaults to `https://basicdeploy.com`. |\n\n## Tools\n\n| Tool | Arguments | Description |\n|---|---|---|\n| `list_containers` | (none) | List your containers: subdomain, status, URL, id, createdAt. |\n| `create_container` | `memoryMb?` (256/512/1024/2048), `alwaysOn?` | Create a container. Database + S3 bucket provisioned automatically. Larger sizes need Pro/Scale; always‑on on Free uses a paid add‑on slot. |\n| `get_container` | `containerId` | Full details: URL, status, ports, DB name/user, S3 bucket, volume path. |\n| `deploy_app` | `tarballPath`, `containerId?` | Deploy a `.tar`/`.tar.gz`/`.tgz`/`.zip` from disk. Unpacks to `/workspace`, auto‑detects the runtime, and starts the app on `:8080`. Omit `containerId` to create a new container; pass one to deploy into an existing container. |\n| `exec_command` | `containerId`, `command` | Run a shell command inside the container; returns output + exit code. |\n| `get_logs` | `containerId`, `tail?` (default 200) | Fetch recent container logs. |\n| `set_always_on` | `containerId`, `enabled` | Turn a container's 24/7 always‑on flag on/off. |\n| `wake_container` | `containerId` | Wake a slept container so it serves traffic again. |\n| `sleep_container` | `containerId` | Sleep a running container to free memory (wakes on next request). |\n| `get_account` | (none) | Your plan, container limit (plan + add‑ons), selectable memory sizes, storage limit, and add‑ons. |\n| `share_container` | `containerId`, `email`, `expiresInHours?` | Share a container with another user by email (they get a sign‑in link). Omit `expiresInHours` for an unlimited share. |\n| `delete_container` | `containerId` | **Permanent**: destroys the container, its database, and all files. |\n| `whoami` | (none) | The account this connection is authenticated as (email + id). |\n| `get_kafka` | (none) | Kafka connection details (SASL/SCRAM): internal + external bootstrap, username/password, consumer‑group prefix, topics, usage and limits. Provisions on first call. |\n| `create_topic` | `label?` | Create a Kafka topic (auto‑namespaced under your prefix; optional readable label). Fails if the topic/storage budget is exceeded. |\n| `purge_topic` | `name` | Empty a topic you own (deletes its messages, keeps the topic). Restart processing after a mistake. |\n| `delete_topic` | `name` | **Permanent**: delete a topic you own and all its messages. |\n\n## Runtime\n\nDeployed apps must listen on `0.0.0.0:8080`, the port the public URL serves. `DATABASE_URL`, `S3_ENDPOINT` / `S3_ACCESS_KEY` / `S3_SECRET_KEY` / `S3_BUCKET`, and `KAFKA_BOOTSTRAP` / `KAFKA_USERNAME` / `KAFKA_PASSWORD` / `KAFKA_GROUP_PREFIX` are preset in the container environment. Startup output goes to `/workspace/deploy.log`.\n\n## Example prompts\n\n- \"Create a 1GB always‑on container and deploy `./dist/app.tar.gz` to it, give me the URL.\"\n- \"Show the last 100 log lines of my `blue-fox` container.\"\n- \"What plan am I on and how many containers can I run?\"\n- \"Share my container with teammate@example.com for 24 hours.\"\n\n## License\n\nMIT. BasicDeploy is a product of Akacia (KVK 99629569, Netherlands).\n",
  "bytes": 5719,
  "sha": "c65e1755a44eb989683697998dd04191f5f4a2b2230f01b59076c31c9878f161",
  "repo_slug": "akacianl/basicdeploy-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_akacianl_basicdeploy_mcp_f1e64c35/readme"
}