Let AI drive your DeployLane account.
A hosted MCP endpoint that gives Claude Code, Claude Desktop, Cursor and any other MCP‑capable client read or read/write access to the apps, servers and deploys attached to your DeployLane workspace. No SDKs to install, no glue to maintain.
01Quick start
Three steps from zero to chatting with your infra.
Generate a token
Open Settings → API access and click Generate token. Copy the value once — it’s shown only at creation.
Wire up your client
Add the endpoint and Bearer header to Claude Code, Claude Desktop or Cursor. One‑line CLI command or a small JSON snippet.
Ask in plain English
The model decides which tools to call. You describe what you want, not which API to hit.
02Install
Drop the endpoint into any MCP‑capable client. HTTP transport, Bearer auth, no SDK.
Add the server with one CLI call. Positional args come before the flags, otherwise the URL gets swallowed by --header.
claude mcp add deploylane https://mcp.deploylane-c4ca.apps.deploylane.dev \ --transport http \ --header "Authorization: Bearer mcp_..."
Verify it’s registered with claude mcp list — you should see deploylane alongside any other servers.
03Authentication & scopes
Every request other than GET /health must carry a Bearer token. Each token has a scope you can change later from the dashboard — the plaintext stays the same so connected clients keep working.
Read‑only
List + inspect apps, servers, deploys, logs, metrics. Safe default — hand to any AI client you want to give visibility without trusting it to act on your account.
- list_*
- get_app, get_recent_deploys, get_deploy_log
- tail_logs, get_server_metrics, get_diagnose
Full access
Adds create / update / delete tools — provisioning new apps, setting env vars, managing cron jobs, triggering deploys. Only give to clients you trust to make changes.
- create_app, add_web_route, set_env_vars
- create_cron, update_cron, delete_cron
- trigger_deploy
Tokens are per‑user and scoped
Every tool query is scoped to the owning user’s data and cannot see other accounts. Revoke a leaked token from the dashboard — it’s effective immediately.
04Tools · 30
Everything the AI can call. Tool names are namespaced deploylane.<name> in clients (the prefix is muted below for readability).
deploylane.list_servers
deploylane.list_apps
deploylane.get_app
deploylane.get_recent_deploys
deploylane.get_deploy_log
deploylane.tail_logs
deploylane.get_server_metrics
deploylane.get_diagnose
deploylane.get_migration_guide
deploylane.create_app
deploylane.add_web_route
deploylane.set_env_vars
deploylane.create_cron
deploylane.trigger_deploy
deploylane.list_crons
deploylane.get_cron_history
deploylane.list_backup_jobs
deploylane.get_backup_history
deploylane.list_stored_backups
deploylane.get_pitr_status
deploylane.delete_env_var
deploylane.remove_web_route
deploylane.delete_cron
deploylane.update_cron
deploylane.restart_app
deploylane.prune_docker
deploylane.get_disk_usage_report
deploylane.restart_traefik
deploylane.reboot_server
deploylane.rollback_app
05Prompts & resources
Server‑hosted prompt templates the AI invokes directly. In Claude Code: /mcp__deploylane__<name>. Clients that don’t surface prompts can invoke the equivalent tool instead.
Prompts
make_deploylane_ready
Make this repo DeployLane-ready
Walk the current repo through the DeployLane migration checklist: strip Vercel-specific bits, swap Neon/Vercel Blob for sibling Postgres + Hetzner S3, generate Dockerfile + docker-compose, finish with the env-vars + cron config the user needs to paste into the DeployLane UI.
Resources
deploylane://spec/v1
text/markdown
DeployLane app spec (v1) — Conventions a repo must follow to be deployable via DeployLane. Placeholder until the full spec lands.
06Example prompts
Real questions you can paste into your AI client. The model decides which tools to call and chains them together as needed — you stay in plain English.
07Rate limits
Per‑token, sliding 60‑second windows. Hitting a limit returns a clean tool error with a retry_after_seconds hint — not an HTTP 429 — so your AI client can back off without breaking the conversation.
Pure DB reads — list_*, get_app, get_recent_deploys, get_deploy_log, list_crons, get_migration_guide.
Anything that SSHes into a server (tail_logs, get_server_metrics, get_diagnose) or mutates state. The cheap limit applies in addition.
Per‑app on trigger_deploy. Prevents parallel‑deploy storms from a runaway AI loop. Independent of deploy status.
Backoff hints, not HTTP 429
The MCP SDK has no concept of transport‑level retry semantics. AI clients DO read the error text — the rejected response includes a precise retry_after_seconds.