tools/list response is authoritative for its version.
Connect over stdio
Use a Nerdit installation that includes the MCP extra. For a Python source installation, install the optional dependency in that same environment using the development setup. If using a binary installation, verify thatnerdit mcp is available; installing a Python extra separately does not modify a frozen binary.
Add this server entry to your MCP client’s configuration, adapting the surrounding configuration format to that client:
nerdit, including the remote connection and selected credential. The subprocess and Engine do not need to be on the same machine, but any path given to the deploy tool is local to the MCP server process, not the chat client.
Choose a dedicated scoped token before connecting an agent. See Security. Do not store tokens in a shared MCP configuration or paste credentials into the conversation.
Connect over HTTP
The Engine can expose the same tools as Streamable HTTP at/api/mcp (with or without a trailing slash). It is off by default. Enable it in the Engine config after setting a real Engine authentication token through the normal secure setup:
[daemon].auth_token or without the MCP dependency. A successful node-link setup can enable this transport when both prerequisites are met.
Configure an HTTP-capable MCP client with the Engine’s URL and Authorization: Bearer … header. For a same-machine client the default URL is http://127.0.0.1:9321/api/mcp. Remote clients need a protected connection and the configured reachable endpoint; enabling the transport does not widen the Engine’s loopback bind.
The transport validates Host/Origin and request size. Requests require Content-Length; the default body cap is 1 MiB ([mcp].max_body_bytes). A readonly token can discover tools and call permitted reads; write calls remain forbidden.
For the account-linked remote gateway, follow the App connection guide and use the connection details shown by the App. Do not substitute a local filesystem path for a remote workspace upload.
Deploy from an agent
- Call
capabilitiesanddoctorto learn the node’s current abilities and the caller’s permissions. - Choose the source:
deployfor a folder accessible to the MCP process,deploy_gitfor a permitted Git repository, orwrite_app_filesfollowed bydeploy_appfor agent-authored source. - Use
dry_run=truewhere supported, inspect the plan, then submit the real deployment. - Call
wait_for_servicewith its name and returned deployment version. Inspectdiagnose_serviceon failure andservice_logsfor selected output. - Verify the returned endpoint is reachable from the intended client. A LAN URL is not an internet URL. Hosted sharing and direct domains have separate prerequisites in Networking and HTTPS.
deploy_app again. Files must be UTF-8 text without NUL bytes, bounded to 256 KiB per file, 500 files and 10 MiB total. Use multiple small writes for a larger app; binary assets need a Git or folder source. Workspaces are owner-scoped and survive service deletion unless workspace purge is explicitly requested.
Safe operation
Tool results can contain anerror object with a stable code, message and recovery hint. Check for it before proceeding. Deployment acceptance is asynchronous; only a successful wait confirms the deployment outcome.
Most write tools accept an idempotency_key and generate one if omitted. Retain an explicit key when retrying the same uncertain operation. Read the HTTP retry contract before reusing one. restart_daemon can close its own HTTP connection during a successful restart: check health before treating that as failure.
Token creation/rotation, secrets-key rotation, control-plane backups and restores, and database restores are deliberately absent from MCP. Database dumps return metadata for a server-side archive, not its contents. Use the CLI or HTTP API and the recovery guide for those operator actions.
Tool reference
add_domain
add_domain
apply_config
apply_config
capabilities
capabilities
cluster_stats
cluster_stats
create_database
create_database
deploy
deploy
deploy_app
deploy_app
deploy_git
deploy_git
deploy_template
deploy_template
diagnose_service
diagnose_service
doctor
doctor
dump_database
dump_database
get_app_config
get_app_config
get_audit
get_audit
limit entries per page.get_config
get_config
get_events
get_events
get_service
get_service
name accepts the service name or the job id.list_app_files
list_app_files
list_app_templates
list_app_templates
list_database_dumps
list_database_dumps
list_databases
list_databases
limit per page.list_gpus
list_gpus
list_models
list_models
limit per page.list_routes
list_routes
list_secret_names
list_secret_names
list_services
list_services
limit per page.proxy_status
proxy_status
read_app_file
read_app_file
redeploy_service
redeploy_service
remove_domain
remove_domain
remove_secret
remove_secret
remove_service
remove_service
restart_daemon
restart_daemon
restart_service
restart_service
run_command
run_command
serve
serve
serve_model
serve_model
service_logs
service_logs
service_stats
service_stats
set_app_config
set_app_config
deploy or ai config section (admin/owner-scoped).set_config
set_config
set_secret
set_secret
stop_service
stop_service
system_disk
system_disk
system_gc
system_gc
wait_for_service
wait_for_service
write_app_files
write_app_files