basicdeploy-mcp

MCP serverFiles & storage

This integration connects your AI to BasicDeploy, a service that hosts applications and gives each one a PostgreSQL database, file storage, and a public URL. Once added, your AI can create containers, deploy your app from an archive, and manage it afterward, running commands, reading logs, and sleeping or waking containers, all from your conversation.

Unavailable. This server has no hosted endpoint yet, so Ahel can't serve it.

Add to setup to save this item as a reference. Ahel cannot run it, and signing in will not install it.

What your AI can do with it

  • Create a new container with its database and file storage set up automatically
  • Deploy an application from a .zip or .tar archive and get a public URL
  • Run shell commands inside a container and see the output
  • Fetch recent logs to debug crashes or check what the app is doing
  • Sleep containers to free memory, wake them again, or set them to run 24/7
  • Share a container with another BasicDeploy user by email

Getting started

  1. Save this item in Your setup as a reference.
  2. Read the source or reference documentation for its setup requirements. Saving it here does not connect it to your AI.
  3. Check this page for availability before trying to install it through Ahel.

From the project's README

As published by akacianl/basicdeploy-mcp in README.md.

BasicDeploy MCP Server

The persistent runtime your agent deploys to: a database, object storage, a Kafka broker, and a public URL, one MCP call.

An MCP (Model Context Protocol) server that lets AI coding agents (Claude Code, Cursor, and any MCP client) create and manage BasicDeploy 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.

Quick start

Requires Node.js ≥ 18. No install needed. npx fetches it on demand.

Get an API key at https://basicdeploy.com/api-keys (it looks like bd_…, shown once), then add this to your MCP client:

{
  "mcpServers": {
    "basicdeploy": {
      "command": "npx",
      "args": ["-y", "basicdeploy-mcp@latest"],
      "env": {
        "BASICDEPLOY_API_KEY": "bd_your_api_key",
        "BASICDEPLOY_URL": "https://basicdeploy.com"
      }
    }
  }
}

Claude Code:

claude mcp add basicdeploy \
  --env BASICDEPLOY_API_KEY=bd_your_api_key \
  --env BASICDEPLOY_URL=https://basicdeploy.com \
  -- npx -y basicdeploy-mcp@latest

Claude Code plugin (this repo doubles as a plugin marketplace):

/plugin marketplace add AkaciaNL/basicdeploy-mcp
/plugin install basicdeploy-mcp@basicdeploy

Then set BASICDEPLOY_API_KEY in your environment (the plugin reads it via ${BASICDEPLOY_API_KEY}).

OpenAI Codex CLI:

codex mcp add basicdeploy \
  --env BASICDEPLOY_API_KEY=bd_your_api_key \
  --env BASICDEPLOY_URL=https://basicdeploy.com \
  -- npx -y basicdeploy-mcp@latest

or add it directly to ~/.codex/config.toml:

[mcp_servers.basicdeploy]
command = "npx"
args = ["-y", "basicdeploy-mcp@latest"]
env = { BASICDEPLOY_API_KEY = "bd_your_api_key", BASICDEPLOY_URL = "https://basicdeploy.com" }

Environment variables

VariableRequiredDescription
BASICDEPLOY_API_KEYYesYour API key (bd_…). Required to call any tool (the server still starts and lists its tools without it, so clients can introspect it).
BASICDEPLOY_URLNoAPI base URL. Defaults to https://basicdeploy.com.

Tools

ToolArgumentsDescription
list_containers(none)List your containers: subdomain, status, URL, id, createdAt.
create_containermemoryMb? (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.
get_containercontainerIdFull details: URL, status, ports, DB name/user, S3 bucket, volume path.
deploy_apptarballPath, 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.
exec_commandcontainerId, commandRun a shell command inside the container; returns output + exit code.
get_logscontainerId, tail? (default 200)Fetch recent container logs.
set_always_oncontainerId, enabledTurn a container's 24/7 always‑on flag on/off.
wake_containercontainerIdWake a slept container so it serves traffic again.
sleep_containercontainerIdSleep a running container to free memory (wakes on next request).
get_account(none)Your plan, container limit (plan + add‑ons), selectable memory sizes, storage limit, and add‑ons.
share_containercontainerId, email, expiresInHours?Share a container with another user by email (they get a sign‑in link). Omit expiresInHours for an unlimited share.
delete_containercontainerIdPermanent: destroys the container, its database, and all files.
whoami(none)The account this connection is authenticated as (email + id).
get_kafka(none)Kafka connection details (SASL/SCRAM): internal + external bootstrap, username/password, consumer‑group prefix, topics, usage and limits. Provisions on first call.
create_topiclabel?Create a Kafka topic (auto‑namespaced under your prefix; optional readable label). Fails if the topic/storage budget is exceeded.
purge_topicnameEmpty a topic you own (deletes its messages, keeps the topic). Restart processing after a mistake.
delete_topicnamePermanent: delete a topic you own and all its messages.

Runtime

Deployed 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.

Example prompts

  • "Create a 1GB always‑on container and deploy ./dist/app.tar.gz to it, give me the URL."
  • "Show the last 100 log lines of my blue-fox container."
  • "What plan am I on and how many containers can I run?"
  • "Share my container with teammate@example.com for 24 hours."

License

MIT. BasicDeploy is a product of Akacia (KVK 99629569, Netherlands).

Tools it gives your AI (12)

ToolWhat it does
list_containersList all BasicDeploy containers owned by (or shared with) the authenticated user. Returns each container's id, subdomain, public URL, status, and creation time.
create_containerCreate a new empty BasicDeploy container. A PostgreSQL database and an S3 bucket are provisioned automatically for it. Returns the container's id, subdomain, and public URL.
set_always_onTurn a container's always-on (24/7, never sleeps) flag on or off. On Free this consumes a paid always-on add-on slot (fails if none is free); on Pro/Scale every container is always-on already.
wake_containerWake a slept container so it serves traffic again (start it). A no-op if it is already running. Note: any web request to the container's public URL also wakes it automatically.
sleep_containerSleep a running container: stop it to free memory while keeping its volume, database, and public URL, so it wakes again on the next request. Returns the updated container.
get_accountShow the account's plan and capabilities: plan tier, container limit (plan base + add-ons), the memory sizes you may select, storage limit, how many always-on add-ons you hold, and whether...
get_containerGet full details of one container: id, subdomain, public URL, status, ports, database name and username, S3 bucket, volume path, and timestamps.
exec_commandRun a shell command inside a container (like docker exec). Returns the combined stdout/stderr output and the exit code.
get_logsFetch recent logs from a container. Use this to debug crashes or check application output.
deploy_appDeploy an application from a local tarball (.tar, .tar.gz, .tgz, or .zip) to BasicDeploy. The runtime (Node.js, Python, or Go) is auto-detected from the archive contents.
share_containerShare a container with another BasicDeploy user by email, giving them access to it. The recipient is emailed a link that signs them in and opens the container.
delete_containerPERMANENTLY delete a container. This destroys the container, its database, and all its files (S3 bucket contents included) and cannot be undone.

Signals

Last commit
Sep 2026
Weekly downloads
61
Tools captured
12
Advanced
Delivery
basicdeploy-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-akacianl-basicdeploy-mcp
Source
github.com/akacianl/basicdeploy-mcp