Dokploy MCP Server
Exposes all 508 Dokploy API endpoints as MCP tools, letting AI clients operate your deployment platform directly.
By default the server exposes all 508 tools, including destructive operations (project deletion, container removal, SSH key and user management) — far beyond least privilege for ordinary use. Points in its favour: DOKPLOY_REDACT_ENV redaction is on by default, and semantic annotations (readOnlyHint/destructiveHint/idempotentHint) are claimed. Since no tool implementation code was in scope, confirmation mechanisms and data-flow details cannot be verified. A Rollback category (2 tools) is documented. No signs of covert exfiltration; dependencies are well-known packages. Publisher is unverified but repository/author fields are explicit, giving partial attribution credit.
README and package. are mutually consistent (version 0.30.6, name, build/test scripts). A centralized API client with timeout and retry is described but not visible in code, so failure-message handling scores 1. Dependencies are mainstream and actively maintained. A vitest script exists but no tests were shown, so quality cannot be corroborated.
Documentation covers Cursor, VS Code, Claude Desktop/Code, Windsurf, Zed, BoltAI, OpenCode, Docker, and Windows-specific wrapping, plus stdio/HTTP/SSE transports — environment fit earns 3. Tool presets and tag filtering directly address the real boundary problem of oversized tool lists. Audience (operators/developers with a running Dokploy instance) is clearly stated.
README is near-exemplary: install, env var table, transports, tool tables, troubleshooting, contributing. Multi-client install notes are thorough (3). Apache-2.0 is consistent between LICENSE and package. (the NOASSERTION is a registry-side gap). Deductions: no CHANGELOG, no known-limitations section (the 508-tool context burden is only mentioned in troubleshooting), publishing is auto-triggered by any package. commit and publish.yml runs no tests despite a test script existing, and maintenance responsibility is only implicit in the author field.
Structured API responses with configurable redaction are reasonably usable; annotations help clients. Marginal value is clear — a complete official MCP wrapper for the Dokploy API — but the cost of 508 tools is acknowledged and mitigated via presets. All utility claims are inferential without execution.
The claimed 508 tools / 49 categories and redaction defaults cannot be checked against code in this evidence set (claim traceability: 1). No second source corroborates tool counts or defaults (cross-source: 1). Facts and inferences are cleanly separable — README statements are explicit and install commands copyable (2).
- All 508 tools load by default, including destructive operations (delete, deploy, SSH key and user management); restrict exposure with DOKPLOY_TOOL_PRESET or DOKPLOY_ENABLED_TAGS.
- The publish workflow auto-releases to npm without running any tests; version quality depends on manual discipline.
- Redaction defaults and coverage (DOKPLOY_REDACT_ENV) are documented but not code-verified in this evidence set; disabling it exposes secrets to LLM context.
- No CHANGELOG or known-limitations section exists; verify release notes manually before upgrading.
- This is a static source review; no execution was performed.
What does this agent do, and when should you use it?
Dokploy MCP Server (repo Dokploy/mcp, npm package @dokploy/mcp) is the official Model Context Protocol server for Dokploy, exposing 508 tools across 49 categories covering the entire Dokploy API. It is built with TypeScript, @modelcontextprotocol/sdk, and Zod, with tools auto-generated from the Dokploy OpenAPI spec via pnpm generate:all. It supports stdio (default) and HTTP transports, with the HTTP mode offering both modern Streamable HTTP and legacy SSE endpoints. The server includes retry, timeout, and secret redaction (DOKPLOY_REDACT_ENV, on by default). To handle oversized tool lists, it provides DOKPLOY_TOOL_PRESET presets and tag-level filtering, and every tool carries semantic annotations like readOnlyHint and destructiveHint.
The server connects to a running Dokploy instance via the DOKPLOY_URL and DOKPLOY_API_KEY environment variables and calls the Dokploy REST API through a centralized client with interceptors and retry logic. It exposes 49 categories of tools, including Project (8 tools), Application (30), Compose (29), six databases (PostgreSQL/MySQL/MariaDB/MongoDB/Redis/LibSQL, 13–15 tools each), Server, Docker, Swarm cluster, Backup, Notification (41), Git Providers (27, covering GitHub/GitLab/Gitea/Bitbucket), SSO, SSH Keys, and User/Organization management. It runs as a stdio process by default (npx -y @dokploy/mcp) or in HTTP mode via --http or MCP_TRANSPORT=http (endpoints /mcp, /sse, /messages, /health). Tool loading is controlled with DOKPLOY_TOOL_PRESET (all/minimal/core/deploy/databases/git) or DOKPLOY_ENABLED_TAGS/DOKPLOY_DISABLED_TAGS, and DOKPLOY_REDACT_FIELDS redacts passwords, keys, and tokens from responses before they reach the MCP client.
- An AI assistant in Cursor, VS Code, or Claude Desktop creates, deploys, starts, and stops Dokploy applications without switching to the Dokploy panel
- A DevOps engineer manages the full lifecycle of six database types (Postgres, MySQL, MariaDB, Mongo, Redis, LibSQL) conversationally, including password rotation and external ports
- A team configures multi-channel alerting (Slack, Discord, Telegram, Email, Teams, etc., 41 notification tools) and scheduled backup tasks through an MCP client
- An operator works on a Dokploy instance behind Cloudflare Access by passing service-token headers via DOKPLOY_CUSTOM_HEADERS
- Platform teams use the minimal or deploy presets to shrink the tool list when a provider struggles with very large toolsets
- A developer embeds Dokploy operations into a custom web app or pipeline using Docker in stdio or HTTP mode
What are this agent's strengths and limitations?
- Official package with complete coverage: 508 tools across 49 categories span the whole Dokploy API, from applications and databases to SSO and backups
- Tools are auto-generated from the OpenAPI spec (pnpm generate:all), so they can be regenerated as the Dokploy API evolves
- Thoughtful security posture: DOKPLOY_REDACT_ENV is on by default and case-insensitively matches 40+ sensitive field names (password, token, sshKey, etc.) at any nesting depth
- Broad client and runtime support: 9+ clients (Cursor, VS Code, Claude Desktop/Code, Windsurf, Zed, BoltAI, Opencode), three runtimes (Node/Bun/Deno), and both stdio and HTTP transports
- Tool presets and tag filtering solve the large-tool-list timeout problem, and all tools carry readOnlyHint/destructiveHint annotations
- Entirely dependent on a running Dokploy server and a valid API token; without an instance nothing works
- GitHub license field is NOASSERTION; the README claims Apache License but the LICENSE file should be verified before commercial adoption
- The full 508-tool set can burden some LLM providers, requiring extra preset/tag configuration for reliable operation
- Default redaction means the assistant cannot obtain raw secret values; workflows needing them must explicitly set DOKPLOY_REDACT_ENV=false, which introduces leakage risk
- No additional repository guidance (AGENTS.md path is absent); deep customization requires reading source or filing GitHub issues
How do you install or deploy this agent?
Requires Node.js >= 18 (or Docker), an MCP client, and a running Dokploy server. Simplest path (Cursor example): add to ~/.cursor/mcp.: {"mcpServers":{"dokploy-mcp":{"command":"npx","args":["-y","@dokploy/mcp"],"env":{"DOKPLOY_URL":"https://your-dokploy-server.com","DOKPLOY_API_KEY":"your-dokploy-api-token"}}}}. VS Code offers one-click install badges (insiders.vscode.dev) or a servers config block; Claude Code: claude mcp add dokploy-mcp -- npx -y @dokploy/mcp. Docker: git clone https://github.com/Dokploy/mcp.git && cd mcp && docker build -t dokploy-mcp ., then run with -e DOKPLOY_URL and -e DOKPLOY_API_KEY. Windows clients wrap with cmd /c npx. Bun (bunx) and Deno are also supported runtimes.
How do you use this agent?
Set DOKPLOY_URL (Dokploy server address) and DOKPLOY_API_KEY (API token), then start the server (default stdio: npx -y @dokploy/mcp; HTTP: npx -y @dokploy/mcp --http, port 3000 by default). From any MCP client, invoke tools to list projects, deploy applications, restart containers, or configure a Postgres database. Tuning options: start with DOKPLOY_TOOL_PRESET=minimal; use DOKPLOY_ENABLED_TAGS=project,application,postgres for exact filtering; adjust DOKPLOY_TIMEOUT (default 30000ms), DOKPLOY_RETRY_ATTEMPTS (default 3), and DOKPLOY_REDACT_ENV (default true). Debug with: npx -y @modelcontextprotocol/inspector npx @dokploy/mcp.
How does this agent compare with similar options?
Positioned as the official MCP package for Dokploy, it offers a protocol-level AI-callable tool layer in contrast to hand-written Dokploy API scripts or operating the Dokploy web panel directly; the source names no third-party Dokploy MCP implementations or competitors.