@vibetools/dokploy-mcp
A compact MCP server that gives AI agents access to the full Dokploy PaaS API through just 3 default tools, covering hundreds of underlying procedures with minimal context window overhead.
Core Tools
search– Discover Dokploy API procedures, parameters, HTTP methods, schemas, and response hints by searching text, getting recommendations, filtering by tag, or looking up a specific procedure (e.g.,catalog.get("application.update"),catalog.recommend("tail project logs")).execute– Run multi-step JavaScript workflows against the full Dokploy API using globalsdokployandhelpers; supports guideddeploy-applicationworkflows with preview/apply modes, rollout polling, and cancellation via MCP tasks.list_profiles– List all configured Dokploy connection profiles (names and URLs) without exposing API keys, useful when managing multiple Dokploy organizations.
What You Can Do
Deploy applications – Trigger and monitor deployments, with optional guided workflow mode for safe preview-before-apply rollouts.
Manage projects and services – List, inspect, and operate on Dokploy projects and their services.
Work with Docker Compose – Deploy and manage compose stacks.
Stream and inspect logs – Tail project and deployment logs across environments.
Manage domains and databases – Configure domains and create/operate on databases hosted in Dokploy.
Multi-org / multi-profile support – Switch between named profiles (different Dokploy instances) by passing a
profileargument.Explore the full API – Use
searchto browse 544+ procedures across 50 tags, thenexecutethem in code mode.
Flexible Modes: Default (3 tools), raw mode (one tool per endpoint), or hybrid mode combining both — for tailored context window usage. Works cleanly with AI assistants like Codex, Cursor, Claude Code, and Claude Desktop.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@vibetools/dokploy-mcp deploy my latest build to production"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@vibetools/dokploy-mcp
MCP server for Dokploy that works cleanly with Codex, Cursor, Claude Code, and Claude Desktop.
Three tools up front. Hundreds of Dokploy procedures underneath. Less schema tax, more actual deploys.
Most MCP servers treat your context window like free landfill. This one starts with
search, execute, and list_profiles, then earns the rest.
What that buys you:
compact default surface instead of hundreds of raw endpoint tools
generated, broad Dokploy coverage underneath
real workflows for deploys, compose, logs, domains, databases, and profiles
local
stdioplus hosted HTTP metadata in the same package
Need proof instead of a sales monologue? Start with docs/live-e2e-proof.md.
Current Fact Snapshot
Generated API procedures in the pinned catalog:
544Generated tags:
50Default public MCP tools:
3(search,execute,list_profiles)Default
tools/listfootprint from the current budget check: about1,681tokens (6,723bytes)Reduction versus the classic endpoint-per-tool baseline (
92,354tokens):98.2%
Classic endpoint-per-tool baseline | Current Code Mode default | |
Tool definitions sent | about | about |
Public MCP tools | hundreds of endpoint schemas |
|
Context window tax | wide schema dump | compact fixed surface |
Related MCP server: Dokploy MCP Server
Quick Start
Get your API key from Dokploy Settings > Profile > API/CLI.
For env-based setup, start from .env.example.
If your client uses a JSON-style MCP config, this is the whole block:
{
"mcpServers": {
"dokploy": {
"command": "npx",
"args": ["@vibetools/dokploy-mcp"],
"env": {
"DOKPLOY_URL": "https://panel.example.com",
"DOKPLOY_API_KEY": "dokp_..."
}
}
}
}If your client uses CLI-based MCP management:
# Codex
codex mcp add dokploy \
--env DOKPLOY_URL=https://panel.example.com \
--env DOKPLOY_API_KEY=dokp_... \
-- npx @vibetools/dokploy-mcp
# Claude Code
claude mcp add --transport stdio \
-e DOKPLOY_URL=https://panel.example.com \
-e DOKPLOY_API_KEY=dokp_... \
dokploy -- npx @vibetools/dokploy-mcpAlready authenticated with the Dokploy CLI or local
dokploy-mcp config?
You may not need the env block at all.
Using multiple Dokploy organizations?
Keep one compact MCP server and configure profiles with DOKPLOY_PROFILES_JSON:
{
"mcpServers": {
"dokploy": {
"command": "npx",
"args": ["@vibetools/dokploy-mcp"],
"env": {
"DOKPLOY_PROFILES_JSON": "{\"redivo\":{\"url\":\"https://redivo.example.com\",\"apiKey\":\"dokp_redivo\"},\"personal\":{\"url\":\"https://personal.example.com\",\"apiKey\":\"dokp_personal\"},\"mezon\":{\"url\":\"https://mezon.example.com\",\"apiKey\":\"dokp_mezon\"}}"
}
}
}
}Use list_profiles to see the available default and named profile targets without exposing API
keys. Pass profile to execute when you want a named profile instead of the default target:
{
"profile": "redivo",
"code": "return await dokploy.project.all()"
}search also accepts an optional profile argument for profile-name validation while preserving
the same compact catalog behavior.
Hosted HTTP sessions keep their request-scoped remote credentials bound to the session. Named local profiles are not exposed there.
Want the wizard path instead of manual config?
npx @vibetools/dokploy-mcp setupPick Your Client
What You Actually Get
search: discover Dokploy procedures and contractsexecute: run multi-step workflows in one sandboxed calllist_profiles: list configured Dokploy profile names and URLs without secretsoptional
rawmode: one tool per procedureoptional
hybridmode: Code Mode plus selected raw toolsoptional hosted HTTP path with
server.jsonmetadata and header-based remote auth
If you are new, use the default mode and stop trying to outsmart a problem that already has a working shape.
Read These Next
CLI
npx @vibetools/dokploy-mcp
npx @vibetools/dokploy-mcp serve-stdio
npx @vibetools/dokploy-mcp serve-http
npx @vibetools/dokploy-mcp setup
npx @vibetools/dokploy-mcp versionDevelopment
git clone https://github.com/vcode-sh/dokploy-mcp.git && cd dokploy-mcp
npm install
npm run build
npm run lint
npm test
npm run docs:check:factsThe rest lives in docs, where it belongs.
Credits
Forked from Dokploy/mcp. Started at 67 tools, mass-refactored to 377, then rebuilt the whole thing into an architecture that makes the tool count irrelevant.
Mauricio Siu built Dokploy itself -- the PaaS this server talks to. Without the platform, this is a very elaborate way to POST into the void.
Henrique Andrade wrote the original MCP server. 15 commits, every PR merged. The kind of contributor who closes issues instead of opening them.
Contributors who shaped the original: Joshua Macauley -- lucasleal-developer -- Nour Eddine Hamaidi -- Corey -- Azil0ne
Unmerged PRs are still blueprints. That's how open source works -- stolen inspiration with better commit messages.
License
MIT - Vibe Code
Original work by Henrique Andrade under Apache 2.0 -- see LICENSE-ORIGINAL.
Available Tools
3 toolsexecuteExecute Dokploy WorkflowA
Run JavaScript code or a guided Dokploy workflow. In code mode, write bare JS against global dokploy and helpers without wrapping it in a function. In workflow mode, deploy-application can resolve a target, choose preview vs apply, collect bounded rollout options, and build a bounded plan when sampling and elicitation are enabled. When MCP tasks are enabled, execute also supports polling and cancellation for long-running runs. Known Dokploy IDs yield reusable dokploy://... resource links, and search helps discover procedures.
Inputs: code, workflow, profile.
list_profilesList Dokploy ProfilesARead-onlyIdempotent
List the available Dokploy profiles, including default and named targets, without exposing API keys. Returns profile names, normalized Dokploy API URLs, and config sources.
Inputs: no named parameters.
searchSearch Dokploy APIARead-onlyIdempotent
Search the Dokploy API catalog. IMPORTANT: Do NOT wrap code in a function -- catalog is already a global. Write bare code: catalog.searchText("deploy") or catalog.recommend("safe database password rotation") or catalog.getByTag("application") or catalog.get("application.one"). Common patterns: catalog.recommend("tail project logs across environments") -> helper-first workflow suggestions; catalog.get("application.one") -> application detail fields plus optional shaping params; catalog.get("application.update") -> build/runtime/resource tuning fields such as byte-based memory limits; catalog.get("application.many") -> batched application reads; catalog.get("project.overview") -> compact project state view; catalog.get("deployment.all") -> deployment history entries. Returns procedure names, parameters, HTTP methods, schemas, and response hints for key endpoints.
Inputs: code (required), profile.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool targets a different aspect: execute handles code and workflows, list_profiles lists profiles, and search queries the API catalog. Occasional overlap exists (execute and search both reference workflows) but purposes are mostly distinct.
Naming is inconsistent: execute (bare verb), list_profiles (verb_noun with snake_case), search (bare verb). There is no clear pattern across the tool set.
With only 3 tools, the server feels under-scoped for a platform like Dokploy that typically requires managing applications, deployments, and configurations. A broader tool set is expected.
The tool set lacks essential operations such as creating, updating, or deleting applications or deployments. While execute and search provide some flexibility, core lifecycle management is absent.
Maintenance
Related MCP Connectors
Build and update complete applications in Apper through AI assistants using MCP.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Build and run AI workflows, agents, data tables and 1000+ API integrations from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to manage cloud infrastructure through natural language by providing a unified interface to the Dokploy platform. Supports Docker containers, applications, databases, domains, monitoring, and deployment operations through conversational commands.16 npm1-
- AlicenseNot gradedqualityDmaintenanceEnables AI models to interact programmatically with Dokploy servers to manage projects, applications, and deployment services. It provides 67 specialized tools for direct Dokploy API operations through the Model Context Protocol.171 npmApache 2.0
- AlicenseNot gradedqualityDmaintenanceComprehensive, type-safe MCP server providing 380 tools to manage Dokploy deployments, applications, and infrastructure via natural language.16 npm5MIT
- FlicenseNot gradedqualityDmaintenanceWraps the Dokploy REST API to expose Dokploy operations as MCP tools for managing projects, applications, compose stacks, deployments, domains, and environment variables.10 npm1-