MCP tool list
This page is produced from the answer of the MCP server’s own tools/list call each time the
docs are built. To connect an assistant, see Connect an AI tool with MCP.
91 tools, server version 2.13.3.
add_appspace_container
Add a new container definition to an App Space.
Inputs: appspace_id (string, required), name (string, required), image (string, required), tag (string), role (string)
add_service_to_appspace
Add a standard, curated database/service to an App Space — durable and wired in one call. Works with ANY codebase in the App Space (an AI-built app, a market app, the user's own image): creates the service container from an official image with a generated password and a persistent volume, and (if bind_to is given) injects the connection env into the app container AND records the dependency so it starts first. Then start/restart the App Space.
Inputs: appspace_id (string, required), service (string, required), bind_to (string), name (string), version (string)
append_agent_note
Append a timestamped note to the project's running notes file (default notes/agent-notes.md). Use this to durably record decisions, TODOs, and context the agent should remember about a project across conversations. Pass the active `project` id.
Inputs: note (string, required), project (string), path (string)
call_connection
Call one of the acting user's connections with its stored credential.
Inputs: name (string, required), method (string, required), path (string, required), params (object), json_body (any), body (string), headers (object)
check_vm_connectivity
Test whether a VM's public IP is reachable FROM INSIDE specific countries, using check-host.net probe nodes located there — a real-world censorship/reachability check no server-side test can give you. Essential for anti-censorship / VPN use: it answers "can someone in Iran actually reach this box?". Ping (ICMP) by default; pass a `port` to TCP-test a specific service (e.g. 443 for a VPN protocol). Returns per-country reachable / blocked / partial + latency; if a country is blocking the IP, rotate or reprovision to a fresh IP. Note: check-host has ~8 Iran nodes but NO mainland-China nodes — pass 'hk' only as a weak proxy for China (it sits outside the Great Firewall).
Inputs: vm_code (string, required), port (integer), countries (string)
create_appspace_volume
Create a new volume for an App Space (required for stateful containers).
Inputs: appspace_id (string, required), name (string, required), size_gb (integer, required), mount_path (string, required)
create_secret
Store a new encrypted secret.
Inputs: name (string, required), value (string, required), description (string)
create_service
Provision a new service (VM or App Space) from a catalogue product version.
Inputs: product_version_id (string, required), idempotency_key (string), name (string), description (string), selections (object), metadata (object)
create_ssh_key
Upload a new SSH public key to the user's account.
Inputs: name (string, required), public_key (string, required)
create_vm_snapshot
Create a snapshot of a VM. A one-time charge may apply.
Inputs: service_id (string, required), description (string, required)
delete_container_env
LEGACY MyCP container — NOT for App Spaces (use set_appspace_container_env with merge=False).
Inputs: app_code (string, required), container_code (string, required), env_id (integer, required)
delete_secret
Delete a secret from the user's account.
Inputs: secret_code (string, required)
delete_ssh_key
Delete an SSH key from the user's account.
Inputs: ssh_key_code (string, required)
delete_workspace_file
Delete a file from the workspace. `path` is relative to the project root; pass the active `project` id. This is irreversible.
Inputs: path (string, required), project (string)
deploy_blueprint
Assemble an App Space from a blueprint in one call: create the app container (a pre-built image OR build-from-source) with its exposure + release command, then add and wire each required curated service. This is how a complex app (app + its databases/services) is composed from curated pieces rather than a black-box compose.
Inputs: appspace_id (string, required), blueprint (object, required)
deploy_project
Deploy your workspace code into an App Space and VERIFY it — in ONE call. THE reliable way to ship a web app. Reuse ONE App Space (create it once with quick_create_service, then pass its id here every time). In one move it snapshots your code, builds the app container from your Dockerfile, wires any database it needs, starts it, waits for it to become healthy, and returns the public URL — so you never hand-run deploy -> poll get_deployment_status -> verify.
Inputs: appspace_id (string, required), project (string), subpath (string), dockerfile (string)
deploy_repo
Deploy a GitHub repo into an App Space in one move: read its manifests, detect its stack (framework, port, release command, needed services), then build the app from source and provision + wire the curated services it needs. After it returns, start the App Space and (if a release command was detected) run_appspace_release. Requires a Dockerfile in the repo; if the repo ships a docker-compose, use import_appspace_compose instead.
Inputs: appspace_id (string, required), github_url (string, required), branch (string)
deploy_workspace
Snapshot the workspace and start a deploy, returning a `deploy_operation_id` to poll.
Inputs: appspace_id (string, required), project (string), subpath (string), dockerfile (string), deploy (boolean)
describe_workspace
Describe the agent's workspace: whether object storage is configured, the S3 endpoint, and the path prefix files live under. Pass the active `project` id to scope to that project (user_<id>/proj_<project>/); omit it for the user root. Use this before reading/writing.
Inputs: project (string)
detect_app_stack
Read a GitHub repo's manifests and propose how to deploy it: the framework, whether it has a Dockerfile, the app port, the release/migrate command, and the curated services it likely needs (from its dependencies). Use this before deploy_repo, or to plan a deployment.
Inputs: github_url (string, required), branch (string)
diagnose_appspace
Diagnose WHY an App Space's workloads are failing — one call, whole App Space. Returns a `headline` (the problem in one line), every container's runtime state + failure **verdict** (`healthy` / `crash_loop` / `exited` / `oom` / `not_deployed` / `starting`) with `exit_code`, real `restart_count`, `lifetime_seconds`, `oom_killed`, and a plain-English `likely_cause`, plus the deployment's recent orchestration logs. ALWAYS call this when a container is not running, when a deploy/start didn't come up, or before telling the user an app is healthy — it turns "it won't start" into an actionable cause (wrong image / no foreground server / app error / out of memory). Read-only.
Inputs: appspace_id (string, required)
diff_deployment
Show what changed between the snapshot currently RUNNING and the latest one you deployed — a real file-level diff (via the workspace git history). Use it so the user sees exactly what a deploy will change / did change. Renders as a Diff card.
Inputs: appspace_id (string, required), ctx (any)
disable_vm_rescue_mode
Return a VM from rescue mode to normal boot.
Inputs: vm_code (string, required)
enable_vm_rescue_mode
Boot a VM into rescue mode for emergency recovery.
Inputs: vm_code (string, required)
export_appspace_compose
Export the full compose YAML for an App Space (snapshot of current state).
Inputs: appspace_id (string, required)
generate_app_project
Generate a deployable app (a Docker Compose project) from a description.
Inputs: intent (string, required)
get_appspace_logs
Fetch an App Space container's runtime STATE and recent LOGS. Use this to debug why an app isn't working: each container now reports a **verdict** with `exit_code`, real `restart_count`, `lifetime_seconds`, `oom_killed`, and a plain-English `likely_cause` — so a restart loop is explained ("exits in 0.17s with code 0 → the image has no long-running server / wrong start command"), not just flagged. The service can read "running" while a container crash-loops; this shows the truth. NOTE: the `logs` here are buildcp **orchestration** events, not the app's own stdout — rely on the per-container verdict/exit_code for the cause, and run_appspace_command on a live container to inspect further. Prefer `diagnose_appspace` for a whole-App-Space summary. Read-only.
Inputs: appspace_id (string, required), container_id (string), tail (integer)
get_appspace_resource_profile
Get CPU/RAM/disk allocation for an App Space.
Inputs: appspace_id (string, required)
get_container_logs
LEGACY MyCP container — NOT for App Spaces (use diagnose_appspace / get_appspace_logs).
Inputs: app_code (string, required), container_code (string, required), tail (integer)
get_container_metrics
LEGACY MyCP container — NOT for App Spaces (use diagnose_appspace).
Inputs: app_code (string, required), container_code (string, required)
get_container_realtime_status
LEGACY MyCP container — NOT for App Spaces (use diagnose_appspace / get_deployment_status).
Inputs: app_code (string, required), container_code (string, required)
get_deployment_status
Show exactly what is deployed for an App Space: the live snapshot ref actually running, each container's health, the public URL, whether it's serving, and whether the workspace has changes not yet deployed. Use this instead of guessing from separate list/diagnose calls, and after any deploy to confirm what shipped. Renders as a Deployment card.
Inputs: appspace_id (string, required), ctx (any)
get_finance_balance
Get the user's current available balance and accrued charges.
Inputs: action (string)
get_finance_ledger
Get the ledger of individual charge and payment events.
Inputs: page (integer), size (integer)
get_finance_summary
Get a billing summary: balance, burn rate, runway days, and projection.
get_market_app
Get one App Market app's details and the inputs an install needs.
Inputs: slug (string, required)
get_market_installation
Check the status and access outputs of an App Market installation.
Inputs: installation_code (string, required)
get_operation
Poll the status of an asynchronous service operation.
Inputs: operation_id (string, required)
get_secret
Retrieve a secret. If reveal=True, the decrypted value is returned. Every reveal is recorded in the account's audit log.
Inputs: secret_code (string, required), reveal (boolean)
get_service
Get full detail of a service instance including specs, selections, pricing, linked VM or App Space, and access information.
Inputs: service_id (string, required)
get_services_summary
Get a dashboard overview: count of running VMs and App Spaces.
get_vm_access
Retrieve access credentials (username, password, IPs) for a VM.
Inputs: vm_code (string, required)
get_vm_file
Read a text file from a VM over SFTP.
Inputs: vm_code (string, required), remote_path (string, required), max_bytes (integer)
get_vm_metrics
Read live in-guest metrics from a VM over SSH — CPU cores, load, memory, disk, uptime. Read-only; complements get_vm_realtime_status (provider power state).
Inputs: vm_code (string, required)
get_vm_realtime_status
Query the provider API directly for live VM status (not the cached DB value).
Inputs: vm_code (string, required)
get_vm_traffic
Get bandwidth/traffic usage for a VM (egress is a billable meter).
Inputs: vm_code (string, required)
get_workspace_file
Read a text file from the workspace. `path` is relative to the project root (e.g. "code/main.py"); pass the active `project` id. Errors on non-UTF-8 binaries — the workspace holds source, config, notes, and text artifacts.
Inputs: path (string, required), project (string)
import_appspace_compose
Deploy from a compose YAML. This is the fastest way to make multi-container changes.
Inputs: appspace_id (string, required), yaml_content (string, required), override (boolean)
install_market_app
Install a published App Market app onto one of the user's VMs.
Inputs: vm_code (string, required), slug (string), version_code (string), inputs (object)
install_market_app_to_appspace
Install a compose-based App Market app into an App Space (the container platform), NOT a VM. The app's recipe is rendered — generated secrets filled, host bind-mounts adapted to persistent volumes — and its containers are added to the App Space; start/restart to deploy. This runs a market app on the general compute substrate alongside your own app. (For a plain database prefer add_service_to_appspace, which wires the connection URL for you.)
Inputs: appspace_id (string, required), slug (string, required), inputs (object)
list_appspace_containers
List container definitions inside an App Space, with their public URLs.
Inputs: appspace_id (string, required)
list_appspace_networks
List network items and container attachments for an App Space.
Inputs: appspace_id (string, required)
list_appspace_volumes
List volumes attached to an App Space.
Inputs: appspace_id (string, required)
list_catalogue
List available plans to provision, one compact row each.
Inputs: service_type (string), provider (string)
list_connections
List the acting user's ENABLED connections the agent may call.
list_container_deployments
LEGACY MyCP container — NOT for App Spaces (use get_deployment_status).
Inputs: app_code (string, required), container_code (string, required)
list_container_env
LEGACY MyCP container — NOT for App Spaces (use list_appspace_containers, which shows env keys).
Inputs: app_code (string, required), container_code (string, required)
list_curated_services
List the curated standard services (databases, caches, search, vector DBs, queues, object storage, analytics, time-series, graph) that add_service_to_appspace can deploy and wire into ANY app in one call — official images, sane defaults, durable, connection injected. Use this to choose the right backing service for a codebase. Optionally filter by category.
Inputs: category (string)
list_secrets
List secret names and codes stored in the user's account.
list_service_alerts
Retrieve billing and lifecycle alerts for services.
Inputs: service_id (string)
list_service_operations
List recent operations for a service.
Inputs: service_id (string, required), status (string), limit (integer)
list_services
List the user's service instances (VMs and App Spaces).
Inputs: service_type (string), status (string), provider (string), search (string), page (integer), size (integer), sort_by (string), sort_dir (string)
list_ssh_keys
List SSH keys stored in the user's account.
list_vm_snapshots
List snapshots for a VM-backed service instance.
Inputs: service_id (string, required)
list_workspace_files
List files in the workspace, optionally under a sub-path `prefix` (e.g. "code/"). Pass the active `project` id to scope to that project. Returns each file's path (relative to the project root), size, and last-modified; those paths are what get/write/delete take.
Inputs: prefix (string), project (string)
manage_vm_service
Manage a systemd service on a VM (systemctl). A first-class service primitive instead of raw shell.
Inputs: vm_code (string, required), service (string, required), action (string, required)
perform_service_operation
Trigger a lifecycle action on an existing service.
Inputs: service_id (string, required), action (string), operation (string), idempotency_key (string), ip_version (integer), container_code (string), container_codes (array), new_product_version_id (string), new_plan (string)
promote_appspace
Promote (clone) an App Space's PRODUCTION containers into a new dedicated App Space for a target environment. The model: one App Space per app-creation holds both the app's production containers AND our build/test (sandbox) containers; promote graduates just the production ones — leaving the sandbox behind — into a fresh, owned App Space for the user's staging or production environment. Each environment is its own App Space.
Inputs: source_appspace_id (string, required), environment (string), name (string), tier (string), teardown_source (boolean)
push_workspace_to_git
Snapshot the project's workspace into a git repository and return a pinned build context (repo_url#commit) the container platform can build a reproducible image from. This is the studio build bridge: the platform builds only from git URLs, so to turn generated/local code into an immutable artifact for staging/production, push it here, then deploy with a compose `build.context` set to the returned `build_context`.
Inputs: project (string), dockerfile (string), subpath (string)
put_vm_file
Write a text file onto a VM over SFTP (creating parent dirs). Use this to drop a script, config, or small asset onto the box instead of heredoc-ing it through a shell command.
Inputs: vm_code (string, required), remote_path (string, required), content (string, required), mode (string)
query_app_logs
Search an App Space's DURABLE historical logs (the central log store, Loki via logate). Unlike get_appspace_logs/diagnose_appspace (live `docker logs`, which vanish when a container is removed or redeployed), this survives restarts and teardown — use it for a post-mortem after a container is gone, to search across time, or to grep for an error. Scoped to YOUR App Space only. Read-only.
Inputs: appspace_id (string, required), contains (string), since (string), limit (integer), container_id (string)
quick_create_service
Create a VM or App Space from FRIENDLY inputs — no UUIDs. Prefer this over create_service.
Inputs: service_type (string, required), plan (string), provider (string), ram_gb (integer), location (string), os (string), name (string), idempotency_key (string)
read_vm_logs
Read logs from a VM — a systemd unit's journal (default: whole system journal), or tail a log file. Read-only.
Inputs: vm_code (string, required), unit (string), path (string), lines (integer)
rebuild_vm
Reinstall the OS on an existing VM. The VM keeps its IP but all data is wiped.
Inputs: vm_code (string, required), os_slug (string, required)
remove_appspace_container
Remove a container definition from an App Space.
Inputs: appspace_id (string, required), container_id (string, required)
restart_container
LEGACY MyCP container — NOT for App Spaces (use deploy_project, or perform_service_operation reboot).
Inputs: app_code (string, required), container_code (string, required)
restore_vm_snapshot
Restore a VM from a snapshot.
Inputs: service_id (string, required), snapshot_code (string, required)
rollback_container
LEGACY MyCP container — NOT for App Spaces (use deploy_project with the previous code).
Inputs: app_code (string, required), container_code (string, required), target_deployment_id (string, required)
run_appspace_command
Run a shell command INSIDE a running App Space container and return its stdout, stderr, and exit code. This is the sandbox's hands for INSTALL / RUN / TEST / INSPECT — e.g. "pip install -r requirements.txt", "pytest -q", "curl -s localhost:8000", "ls -la /app". The App Space must be started (its container attached to a running deployment).
Inputs: appspace_id (string, required), container_id (string, required), command (string, required), timeout_seconds (integer)
run_appspace_release
Run an app's release/init command ONCE, after its dependencies are up — e.g. database migrations. Waits until the container is running (its data services must be reachable first), then executes the command and returns its output. Use after starting an App Space that has a database: e.g. command="python manage.py migrate" for a Django app, or a schema/seed step. This is what makes a real app (with a DB) come up correctly instead of erroring on a missing schema.
Inputs: appspace_id (string, required), container_id (string, required), command (string, required), wait_seconds (integer), timeout_seconds (integer)
run_vm_command
Run a shell command on a VM over SSH and return stdout, stderr, and the exit code. This is the agent's hands inside a customer VM — install packages, inspect the box, run a script, deploy. Uses the VM's platform-managed keypair. WRITE action (it can change the machine).
Inputs: vm_code (string, required), command (string, required), timeout_seconds (integer)
search_app_market
Search the Doprax App Market for installable, published apps.
Inputs: query (string), limit (integer)
set_appspace_container_env
Set environment variables on an App Space container. Takes effect on the next start/restart. Use this to wire configuration (e.g. a connection string) into a container.
Inputs: appspace_id (string, required), container_id (string, required), env (object, required), merge (boolean)
set_container_env
LEGACY MyCP container — NOT for App Spaces (use set_appspace_container_env).
Inputs: app_code (string, required), container_code (string, required), key (string, required), value (string, required), is_secret (boolean), description (string)
start_container
LEGACY MyCP container — NOT for App Spaces (use deploy_project, or perform_service_operation start).
Inputs: app_code (string, required), container_code (string, required)
stop_container
LEGACY MyCP container — NOT for App Spaces (use perform_service_operation(service_id, action='stop')).
Inputs: app_code (string, required), container_code (string, required)
sync_workspace_to_appspace
Copy the project's workspace files into a RUNNING App Space container so generated code can build and run there. Reads every file under the project workspace (optionally just a sub-path `prefix`) and writes it into `dest_dir` (default /app) inside the container, keeping the directory layout.
Inputs: appspace_id (string, required), container_id (string, required), dest_dir (string), prefix (string), project (string), timeout_seconds (integer)
sync_workspace_to_vm
Copy the code YOU generated (the per-project agent workspace) onto a VM over SFTP, preserving the directory tree under `dest_dir`. This is how you ship a project onto a raw VM.
Inputs: vm_code (string, required), dest_dir (string, required), project (string), subpath (string)
validate_docker_image
Check whether a Docker Hub image tag exists and is publicly accessible.
Inputs: image (string, required)
write_workspace_file
Create or overwrite ONE text file in the workspace. Writing a whole project? Use `write_workspace_files` instead — one call for the whole set, not one round trip per file. `path` is relative to the project root (e.g. "code/main.py", "code/requirements.txt", "uploads/data.csv"); pass the active `project` id. Persist generated code, configs, and uploads here so they survive across conversations and can be built/run later. Convention: code under code/, uploads under uploads/, agent notes under notes/.
Inputs: path (string, required), content (string, required), project (string)
write_workspace_files
Write MANY workspace files in ONE call. Strongly preferred over calling `write_workspace_file` repeatedly — you almost always know the whole file set before you start writing, and one call per file costs a full model round trip each.
Inputs: files (array, required), project (string)
Checked against the product on 12 October 2026.