MCP App Store
by KeenEthics

Overview

BasicDeploy lets your assistant create a live container for a web app, deploy code to it, and manage it — all from the chat. Each app comes with a PostgreSQL database, S3-compatible object storage, environment variables, and a public HTTPS URL, set up automatically. Through the connector, the assistant can create containers, deploy a project, run shell commands, and read logs. You can also add hosted sign-up and login to the apps you build over standard OpenID Connect, so your app gets its own users without writing an auth system. You sign in once with your BasicDeploy account — no API key to paste. Pricing is a flat monthly rate that includes the database, storage, bandwidth, and URL.

Tools

create_container

ChatGPT
Create 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. Its public URL is proxied to PORT 8080 inside the container, so whatever you deploy MUST listen on 0.0.0.0:8080 (any other port/binding returns 503). Use deploy_app or exec_command afterwards to put an application in it. Optional memoryMb (256/512/1024/2048) and alwaysOn require the plan/add-ons to allow them (see get_account); larger sizes need Pro/Scale, and always-on on Free consumes a paid add-on slot.

create_topic

ChatGPT
Create a Kafka topic for the user. The name is auto-namespaced under their prefix; an optional 'label' becomes a readable suffix (sanitized), otherwise it's randomized. Retention, partitions and the per-topic size are fixed by the plan. Fails if the topic count or storage budget is exceeded (see get_kafka / get_account). Returns the full topic name.

delete_container

ChatGPT
PERMANENTLY delete a container. This destroys the container, its database, and all its files (S3 bucket contents included) and cannot be undone. Only call this when the user has clearly asked for the container to be removed.

delete_topic

ChatGPT
PERMANENTLY delete one of the user's Kafka topics (the topic and all its messages). Cannot be undone. Only call when the user clearly asked to remove the topic. The name must be one they own.

deploy_app

ChatGPT
Deploy 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; the app must listen on 0.0.0.0:8080. If containerId is omitted, a new container (with DB + S3) is created for the app; if provided, the archive is deployed into that existing container. Returns the resulting container and its public URL. IMPORTANT: tarballPath is a path on the machine running THIS MCP client (i.e. the local/stdio install). When BasicDeploy is added as a REMOTE connector (Claude/ChatGPT/Gemini chat) there is no shared filesystem, so this tool cannot read your tarball — deploy with exec_command instead (write the files into the container and start the server on 0.0.0.0:8080).

exec_command

ChatGPT
Run a shell command inside a container (like docker exec). Returns the combined stdout/stderr output and the exit code. Useful for inspecting files, installing packages, or restarting processes inside the container. DEPLOYING WITHOUT A TARBALL (the way to deploy over a remote/chat connector, where there is no shared filesystem for deploy_app): write your app's files into the container with exec_command (e.g. heredoc/echo or install from git), install deps, then start the server. CRITICAL: the container's public URL (https://<subdomain>.basicdeploy.com) is ALWAYS proxied to PORT 8080 inside the container, so your app MUST listen on 0.0.0.0:8080 — NOT localhost/127.0.0.1, and NOT 3000/5000/etc. Any other port or binding returns HTTP 503 at the public URL even though the process is running. The routing is wired when the container is created; you do NOT need deploy_app to 'register' it. There is no init/supervisor: a process you start runs only until the container sleeps or restarts and is NOT relaunched — for a long-running web server enable always-on (set_always_on) and start it detached.

get_account

ChatGPT
Show 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 containers auto-sleep. Use this to see what you're allowed to set.

get_container

ChatGPT
Get full details of one container: id, subdomain, public URL, status, ports, database name and username, S3 bucket, volume path, and timestamps.

get_docs

ChatGPT
Fetch the BasicDeploy documentation as Markdown so you can answer the user's questions and deploy correctly without leaving the chat. Covers: what BasicDeploy is, deploying an app (the 0.0.0.0:8080 rule), the runtime and preset env vars, the PostgreSQL database and S3 object storage, the REST API, the MCP tools, custom domains, SSH, plans/pricing, and hosted auth-as-a-service (OpenID Connect) for your app's own end-users. Optional 'topic' returns only the matching section(s).

get_kafka

ChatGPT
Get the user's Kafka connection details and topics. BasicDeploy gives every account a Kafka broker (SASL/SCRAM, SCRAM-SHA-256) shared by all their containers. Returns the internal bootstrap (preset as KAFKA_BOOTSTRAP inside containers), the external bootstrap (for outside clients), the SASL username/password, the mandatory consumer-group id prefix (group ids MUST start with it), the current topics, usage and the plan limits. Provisions the tenancy on first call.

get_logs

ChatGPT
Fetch recent logs from a container. Use this to debug crashes or check application output.

list_containers

ChatGPT
List all BasicDeploy containers owned by (or shared with) the authenticated user. Returns each container's id, subdomain, public URL, status, and creation time.

purge_topic

ChatGPT
Purge (empty) one of the user's Kafka topics — deletes all its messages but KEEPS the topic. Use this to restart processing after a mistake: purge, then have consumers read from the start again. The topic name must be one the user owns (starts with their prefix).

set_always_on

ChatGPT
Turn 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. Returns the updated container.

share_container

ChatGPT
Share 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. Optionally pass expiresInHours to make the share expire after that many hours (omit for a share that never expires).

sleep_container

ChatGPT
Sleep 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.

wake_container

ChatGPT
Wake 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. Returns the updated container.

whoami

ChatGPT
Return the identity of the BasicDeploy account this connection is authenticated as — the user's email and account id. Use it to confirm WHICH user is logged in before acting on their behalf.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

18

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily