Dokploy Fullapi Proxy
БесплатноНе проверенA single-tool MCP proxy that exposes Dokploy's full tRPC API (473 endpoints) with multi-instance support and on-demand skill loading, saving 77-92% tokens compa
Описание
A single-tool MCP proxy that exposes Dokploy's full tRPC API (473 endpoints) with multi-instance support and on-demand skill loading, saving 77-92% tokens compared to the official MCP.
README
Dokploy Version:
v0.28.8- 473 Endpoints (last updated: 2026-03-27)
Multi-instance Dokploy API proxy MCP. 1 tool, ~200 tokens instead of 67+ tools consuming ~35,000 tokens per conversation. Supports multiple Dokploy instances via config file.
How it works
A single MCP tool dokploy(method, params?, instance?) acts as a thin proxy to Dokploy's tRPC API. All intelligence lives in skill files that Claude reads on-demand via Progressive Disclosure - only the relevant API section is loaded into context, saving 77-92% tokens per request.
Setup
npx -y mcp-dokploy-fullapi-proxy
Configuration
Multi-Instance (recommended)
Create a config file at ~/.mcp-dokploy/config.json:
{
"instances": {
"prod": {
"url": "https://dokploy.example.com/api",
"token": "your-api-token"
},
"staging": {
"url": "https://staging.dokploy.dev/api",
"token": "another-api-token"
}
},
"defaultInstance": "prod"
}
The config file is searched in this order:
- Path from
DOKPLOY_CONFIGenv var ./config.json(current working directory)~/.mcp-dokploy/config.json(home directory)
Multi-Instance via env vars
For container/server deployments (Docker, Dokploy) where a config file is impractical, define multiple instances purely via env vars - two interchangeable styles:
A) JSON var (DOKPLOY_INSTANCES):
DOKPLOY_INSTANCES={"srv01":{"url":"https://a.example.com/api","token":"tok-a"},"hsh":{"url":"https://b.example.com/api","token":"tok-b"}}
DOKPLOY_DEFAULT_INSTANCE=srv01
B) Prefixed vars (DOKPLOY_<ID>_URL / DOKPLOY_<ID>_TOKEN):
DOKPLOY_SRV01_URL=https://a.example.com/api
DOKPLOY_SRV01_TOKEN=tok-a
DOKPLOY_HSH_URL=https://b.example.com/api
DOKPLOY_HSH_TOKEN=tok-b
DOKPLOY_DEFAULT_INSTANCE=srv01
The <ID> becomes a lowercase instance id (DOKPLOY_SRV01_URL -> srv01). Reserved names (URL, TOKEN, API, CONFIG, INSTANCES) are excluded so single-instance vars are not misparsed. DOKPLOY_DEFAULT_INSTANCE selects the default; otherwise default (if present) or the first id wins.
Require explicit instance: Set DOKPLOY_REQUIRE_INSTANCE=true to disable the silent default in multi-instance setups. Every dokploy() call must then pass instance explicitly, otherwise it errors. Prevents a fresh conversation from accidentally hitting the wrong instance. Has no effect with a single instance.
Single-Instance (env vars, backward-compatible)
For a single instance, env vars still work as before:
| Variable | Required | Default | Description |
|---|---|---|---|
DOKPLOY_URL |
No | - | Dokploy API base URL (single instance, id default) |
DOKPLOY_TOKEN |
No | - | API authentication token |
DOKPLOY_INSTANCES |
No | - | JSON map of multiple instances |
DOKPLOY_<ID>_URL / _TOKEN |
No | - | Prefixed per-instance vars |
DOKPLOY_DEFAULT_INSTANCE |
No | - | Default instance id |
DOKPLOY_REQUIRE_INSTANCE |
No | false |
Force explicit instance on every call (multi-instance only) |
DOKPLOY_CONFIG |
No | - | Path to config file |
When using env vars without a config file, a default instance is created automatically. Env vars are also merged as fallback into config-file setups.
Get your API token from Dokploy: Settings -> Profile -> API/Token Section.
Usage with instances
// Uses default instance
dokploy("project.all")
// Target a specific instance
dokploy("project.all", {}, { instance: "staging" })
Architecture: This MCP uses a two-part setup:
- MCP Server - gives the AI tool access to the
dokploy()function- Skill/Instructions - teaches the AI which endpoints exist and how to call them
Without the skill, the AI has the tool but doesn't know the API. Tools that support native skill files get Progressive Disclosure (on-demand loading). Tools without skill support need the SKILL.md content injected as instructions.
Claude Desktop / Claude.ai
MCP: Native | Skills: Native (ZIP upload)
1. MCP Server
Add to claude_desktop_config.json:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
With config file (multi-instance):
{
"mcpServers": {
"dokploy-fullapi-proxy": {
"command": "npx",
"args": ["-y", "mcp-dokploy-fullapi-proxy"]
}
}
}
With env vars (single instance):
{
"mcpServers": {
"dokploy-fullapi-proxy": {
"command": "npx",
"args": ["-y", "mcp-dokploy-fullapi-proxy"],
"env": {
"DOKPLOY_URL": "https://your-dokploy-instance.com/api",
"DOKPLOY_TOKEN": "your-api-token"
}
}
}
}
2. Skill Upload
- Download
skill/dokploy-api.zipfrom this repo - Go to Claude.ai / Claude Desktop -> Customize -> Skills
- Click + and upload
dokploy-api.zip
Claude Code
MCP: Native | Skills: Native (.claude/skills/ directory)
1. MCP Server
claude mcp add dokploy-fullapi-proxy \
-- npx -y mcp-dokploy-fullapi-proxy
Or with env vars for single instance:
claude mcp add dokploy-fullapi-proxy \
-e DOKPLOY_URL=https://your-dokploy-instance.com/api \
-e DOKPLOY_TOKEN=your-api-token \
-- npx -y mcp-dokploy-fullapi-proxy
2. Skills
mkdir -p .claude/skills/dokploy-api
cp skill/*.md .claude/skills/dokploy-api/
Cursor
MCP: Native | Skills: Agent Skills (auto-discovered)
1. MCP Server
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"dokploy-fullapi-proxy": {
"command": "npx",
"args": ["-y", "mcp-dokploy-fullapi-proxy"]
}
}
}
2. Skills
mkdir -p .cursor/skills/dokploy-api
cp skill/*.md .cursor/skills/dokploy-api/
Or create a .cursor/rules/dokploy.mdc rule with SKILL.md contents.
Windsurf
MCP: Native | Skills: No native support (use Rules workaround)
1. MCP Server
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"dokploy-fullapi-proxy": {
"command": "npx",
"args": ["-y", "mcp-dokploy-fullapi-proxy"]
}
}
}
2. Skill Workaround
Create .windsurf/rules/dokploy.md with SKILL.md contents.
VS Code + GitHub Copilot
MCP: Native | Skills: No native support
1. MCP Server
Add to .vscode/mcp.json:
{
"servers": {
"dokploy-fullapi-proxy": {
"command": "npx",
"args": ["-y", "mcp-dokploy-fullapi-proxy"]
}
}
}
2. Skill Workaround
Paste SKILL.md contents into .github/copilot-instructions.md.
Cline
MCP: Native | Skills: No native support
Add MCP via Cline -> MCP Servers -> Edit. Paste SKILL.md into .clinerules.
Continue.dev
MCP: Native | Skills: No native support
Create .continue/mcpServers/dokploy.json with MCP config. Add SKILL.md to .continue/rules/dokploy.md.
OpenAI Codex CLI
MCP: Native | Skills: Native (.agents/skills/)
codex mcp add dokploy-fullapi-proxy \
-- npx -y mcp-dokploy-fullapi-proxy
Copy skills: cp skill/*.md .agents/skills/dokploy-api/
Zed
MCP: Native | Skills: No native support
Add to Zed settings.json under context_servers. Use AGENTS.md for skill workaround.
Google Antigravity
MCP: Native | Skills: No native support
Add to ~/.gemini/settings.json. Use GEMINI.md for skill workaround.
Roo Code
MCP: Native | Skills: No native support
Configure via MCP settings panel. Add SKILL.md to .roo/rules/.
Compatibility Matrix
| Tool | MCP | Native Skills | Skill Workaround | Config Location |
|---|---|---|---|---|
| Claude Desktop / Claude.ai | Yes | ZIP Upload | - | claude_desktop_config.json |
| Claude Code | Yes | .claude/skills/ |
- | .mcp.json |
| Cursor | Yes | Agent Skills | .cursor/rules/*.mdc |
.cursor/mcp.json |
| Codex CLI | Yes | .agents/skills/ |
- | .codex/config.toml |
| Windsurf | Yes | No | .windsurf/rules/ |
~/.codeium/windsurf/mcp_config.json |
| VS Code + Copilot | Yes | No | .github/copilot-instructions.md |
.vscode/mcp.json |
| Cline | Yes | No | .clinerules |
MCP Settings JSON |
| Continue.dev | Yes | No | .continue/rules/ |
.continue/mcpServers/*.json |
| Zed | Yes | No | AGENTS.md |
settings.json |
| Google Antigravity | Yes | No | GEMINI.md / Rules |
~/.gemini/settings.json |
| Roo Code | Yes | No | .roo/rules/ |
MCP Settings JSON |
Skill files
The skill/ directory contains API docs split by resource (auto-generated from Dokploy's OpenAPI spec):
| File | Endpoints | Coverage |
|---|---|---|
SKILL.md |
- | Entry point, routing table |
project.md |
14 | Projects & Environments |
app.md |
29 | Applications |
compose.md |
28 | Compose services |
domain.md |
9 | Domains & SSL |
database.md |
70 | PostgreSQL, MySQL, MariaDB, MongoDB, Redis |
deployment.md |
12 | Deployments, Preview, Rollback |
docker.md |
7 | Docker containers |
server.md |
23 | Server, Cluster, Swarm |
notification.md |
38 | Notifications |
settings.md |
73 | Settings, Admin, Stripe, SSO |
user.md |
27 | User & Organization |
git.md |
30 | Git Providers |
infra.md |
85 | Mounts, Redirects, Security, Ports, Backups, Certs, Registry, SSH, AI |
Token comparison
| Official Dokploy MCP | mcp-dokploy-fullapi-proxy | |
|---|---|---|
| Tools registered | 67 | 1 |
| Permanent context tokens | ~35,000 | ~200 |
| API coverage | ~16% (67 of 436) | 100% (473 endpoints) |
| On-demand tokens per request | 0 | ~500-2,000 (1 skill file) |
| Typical savings | - | 77-92% fewer tokens |
How the skill system works
User: "Deploy my app"
-> Claude reads SKILL.md routing table (~500 tokens)
-> Claude reads app.md (~1,600 tokens)
-> Claude calls: dokploy("application.deploy", { applicationId: "..." })
pick - Response Filter
The pick parameter filters large API responses to only the fields you need:
// Without pick: entire project tree (~50KB, ~10,000 tokens)
dokploy("project.all")
// With pick: only MySQL instances (~200 tokens)
dokploy("project.all", {}, { pick: ["mysqlId", "name", "appName"] })
Recursively traverses the JSON response, retains only matching field names, removes empty objects/arrays.
Building the skill ZIP
# Windows
Compress-Archive -Path skill\* -DestinationPath dokploy-api.zip -Force
# macOS / Linux
cd skill && zip -r ../dokploy-api.zip . && cd ..
Verify
Start a new conversation and ask:
Show me all Dokploy projects
With multi-instance:
Show me all projects on staging
License
MIT
Установка Dokploy Fullapi Proxy
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/hl9020/mcp-dokploy-fullapi-proxyFAQ
Dokploy Fullapi Proxy MCP бесплатный?
Да, Dokploy Fullapi Proxy MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Dokploy Fullapi Proxy?
Нет, Dokploy Fullapi Proxy работает без API-ключей и переменных окружения.
Dokploy Fullapi Proxy — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Dokploy Fullapi Proxy в Claude Desktop, Claude Code или Cursor?
Открой Dokploy Fullapi Proxy на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Dokploy Fullapi Proxy with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
