Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Dokploy MCP server for Codex, Cursor, and Claude with compact stdio and hosted HTTP modes
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
DOKPLOY_URL, DOKPLOY_API_KEY, DOKPLOY_PROFILES_JSON, X-Dokploy-Url, X-Dokploy-Api-KeyValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"dokploy": {
"command": "npx",
"args": [
"-y",
"@vibetools/dokploy-mcp"
],
"env": {
"DOKPLOY_URL": "your-value",
"DOKPLOY_API_KEY": "your-value",
"DOKPLOY_PROFILES_JSON": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http dokploy 'https://{remoteHost}{mcpPath}' --header 'X-Dokploy-Url: your-value' --header 'X-Dokploy-Api-Key: your-value'claude mcp add dokploy --env DOKPLOY_URL=your-value --env DOKPLOY_API_KEY=your-value --env DOKPLOY_PROFILES_JSON=your-value -- npx -y @vibetools/dokploy-mcpFill in the empty values before running it.
The address contains {…} parts that only you know (such as your account), so copy it and fill them in.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"dokploy": {
"url": "https://{remoteHost}{mcpPath}",
"headers": {
"X-Dokploy-Url": "your-value",
"X-Dokploy-Api-Key": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"dokploy": {
"command": "npx",
"args": [
"-y",
"@vibetools/dokploy-mcp"
],
"env": {
"DOKPLOY_URL": "your-value",
"DOKPLOY_API_KEY": "your-value",
"DOKPLOY_PROFILES_JSON": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
The address contains {…} parts that only you know (such as your account), so copy it and fill them in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"dokploy": {
"type": "http",
"url": "https://{remoteHost}{mcpPath}",
"headers": {
"X-Dokploy-Url": "your-value",
"X-Dokploy-Api-Key": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"dokploy": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@vibetools/dokploy-mcp"
],
"env": {
"DOKPLOY_URL": "your-value",
"DOKPLOY_API_KEY": "your-value",
"DOKPLOY_PROFILES_JSON": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
DOKPLOY_URL envX-Dokploy-Url required HTTP headerX-Dokploy-Api-Key secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account vcode-sh, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
The address needs your own account values, so we cannot check it for you
The address needs your own account values, so we cannot check it for you
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: DOKPLOY_API_KEY, DOKPLOY_PROFILES_JSON, X-Dokploy-Url, X-Dokploy-Api-Key
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (4.0.0) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, AI Deprecations
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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:
stdio plus hosted HTTP metadata in the same packageNeed proof instead of a sales monologue? Start with docs/live-e2e-proof.md.
544503 (search, execute, list_profiles)tools/list footprint from the current budget check: about 1,681 tokens (6,723 bytes)92,354 tokens): 98.2%| Classic endpoint-per-tool baseline | Current Code Mode default | |
|---|---|---|
| Tool definitions sent | about 92,354 tokens | about 1,681 tokens |
| Public MCP tools | hundreds of endpoint schemas | 3 |
| Context window tax | wide schema dump | compact fixed surface |
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 mcp add --transport stdio \ -e DOKPLOY_URL=https://panel.example.com \ -e DOKPLOY_API_KEY=dokp_... \ dokploy -- npx @vibetools/dokploy-mcp
Already 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 setup
search: discover Dokploy procedures and contractsexecute: run multi-step workflows in one sandboxed calllist_profiles: list configured Dokploy profile names and URLs without secretsraw mode: one tool per procedurehybrid mode: Code Mode plus selected raw toolsserver.json metadata and header-based remote authIf you are new, use the default mode and stop trying to outsmart a problem that already has a working shape.
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 version
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:facts
The rest lives in docs, where it belongs.
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.
MIT - Vibe Code
Original work by Henrique Andrade under Apache 2.0 -- see LICENSE-ORIGINAL.