@sattva/dokploy-mcp

@sattva/dokploy-mcp

MCP server for Dokploy that dynamically generates 420+ tools from the Dokploy OpenAPI spec, enabling deployment, management, and monitoring of self-hosted infrastructure through AI assistants.

Category
访问服务器

README

@sattva/dokploy-mcp

npm version License: MIT Node.js >= 18 MCP Compatible

MCP server for Dokploy — dynamically generates 420+ tools from the Dokploy OpenAPI spec. Deploy, manage, and monitor your self-hosted infrastructure through AI assistants.

Why This Package?

Feature @sattva/dokploy-mcp Community alternatives
Auth method x-api-key header (correct) Often missing or incorrect
API coverage 420+ tools (full OpenAPI) Manual subset (~30-50 tools)
Dependencies 2 (@modelcontextprotocol/sdk, zod) Often pulls in OpenAI SDK, axios, etc.
Update strategy Auto-generates from live spec Manual maintenance required
Safety annotations readOnlyHint / destructiveHint Usually missing
Package size ~25 KB (dist only) Varies

Key Features

  • Dynamic OpenAPI discovery — fetches the spec from your Dokploy instance at startup, so new API endpoints are available immediately after a Dokploy upgrade
  • 420+ tools — every Dokploy API endpoint becomes an MCP tool automatically
  • Correct x-api-key authentication — uses the proper header that Dokploy expects
  • Zod input validation — OpenAPI schemas are converted to Zod for runtime type checking
  • Safety annotations — read-only operations are marked with readOnlyHint, destructive ones with destructiveHint
  • Zero-config updates — upgrade Dokploy, restart the MCP server, get new tools
  • Minimal dependencies — only @modelcontextprotocol/sdk and zod

Quick Start

Claude Code (CLI)

claude mcp add --transport stdio \
  --env DOKPLOY_URL=https://dokploy.example.com \
  --env DOKPLOY_API_KEY=your-api-key-here \
  dokploy -- npx -y @sattva/dokploy-mcp@latest

Manual configuration

Add the following to your MCP client config file:

{
  "mcpServers": {
    "dokploy": {
      "command": "npx",
      "args": ["-y", "@sattva/dokploy-mcp@latest"],
      "env": {
        "DOKPLOY_URL": "https://dokploy.example.com",
        "DOKPLOY_API_KEY": "your-api-key-here"
      }
    }
  }
}
Client Config file
Claude Code ~/.claude/mcp.json
Claude Desktop claude_desktop_config.json
Cursor .cursor/mcp.json
Windsurf ~/.windsurf/mcp.json

Run directly from the command line

DOKPLOY_URL=https://dokploy.example.com \
DOKPLOY_API_KEY=your-api-key-here \
npx @sattva/dokploy-mcp@latest

Configuration

Variable Required Description
DOKPLOY_URL Yes Base URL of your Dokploy instance (e.g. https://dokploy.example.com). Do not append /api — the server adds it automatically.
DOKPLOY_API_KEY Yes API key for authentication

Getting Your API Key

  1. Log in to your Dokploy dashboard
  2. Go to Settings → Profile
  3. Under API / Tokens, click Generate Token
  4. Copy the generated key

Tool Naming Convention

OpenAPI paths are converted to tool names:

OpenAPI Path Tool Name
/api/application.one application_one
/api/project.all project_all
/api/server.create server_create
/api/docker.getContainers docker_getContainers
/api/domain.update domain_update

Tool Categories

The tools are organized by Dokploy's API structure:

Category Examples Description
Application application_one, application_create, application_deploy Manage applications
Project project_all, project_create, project_one Manage projects
Server server_all, server_create, server_one Manage servers
Docker docker_getContainers, docker_getConfig Docker operations
Domain domain_create, domain_update, domain_all Domain management
Deployment deployment_all, deployment_allByApplication Deployment history
Database mysql_*, postgres_*, mariadb_*, mongo_*, redis_* Database services
Compose compose_* Docker Compose services
Registry registry_all, registry_create, registry_one Container registries
Certificate certificates_* SSL certificates
User user_all, user_one, user_update User management
Settings settings_* Instance settings

Safety Annotations

Every tool is annotated based on its HTTP method and operation:

  • readOnlyHint: true — GET requests (safe to call, no side effects)
  • destructiveHint: true — operations that deploy, delete, stop, restart, or otherwise modify state

This helps AI assistants make safer decisions about which tools to call without confirmation.

Troubleshooting

DOKPLOY_URL must not end with /api

The MCP server appends /api to the base URL automatically. If you set DOKPLOY_URL=https://dokploy.example.com/api, requests will go to /api/api/... and fail.

Correct: https://dokploy.example.com Wrong: https://dokploy.example.com/api

Windows: npx does not pass environment variables

On Windows, npx launched via cmd /c may not forward env variables correctly. Use node with the full path to dist/index.js instead:

{
  "mcpServers": {
    "dokploy": {
      "command": "node",
      "args": ["C:\\Users\\<you>\\AppData\\Roaming\\npm\\node_modules\\@sattva\\dokploy-mcp\\dist\\index.js"],
      "env": {
        "DOKPLOY_URL": "https://dokploy.example.com",
        "DOKPLOY_API_KEY": "your-api-key-here"
      }
    }
  }
}

To find the path after a global install:

npm install -g @sattva/dokploy-mcp
npm root -g
# → C:\Users\<you>\AppData\Roaming\npm\node_modules

Connection refused / timeout

  • Verify DOKPLOY_URL is reachable: curl https://dokploy.example.com/api/settings.getOpenApiDocument -H "x-api-key: YOUR_KEY"
  • Check that port 443 (or your custom port) is open
  • Ensure the API key is valid and has not been revoked

0 tools registered

If the server starts but registers 0 tools, the OpenAPI spec may be empty or in an unexpected format. Check your Dokploy version — the OpenAPI endpoint was introduced in Dokploy v0.9+.

Development

git clone https://github.com/sattva2020/dokploy-mcp.git
cd dokploy-mcp
npm install
npm run build

Test locally

# Watch mode
npm run dev

# Point your MCP client to the local build:
{
  "mcpServers": {
    "dokploy": {
      "command": "node",
      "args": ["/path/to/dokploy-mcp/dist/index.js"],
      "env": {
        "DOKPLOY_URL": "https://dokploy.example.com",
        "DOKPLOY_API_KEY": "your-api-key"
      }
    }
  }
}

Architecture

┌────────────────┐     ┌──────────────┐     ┌──────────────────┐
│  MCP Client    │────▶│  MCP Server  │────▶│  Dokploy API     │
│  (Claude, etc) │◀────│  (this pkg)  │◀────│  (your instance) │
└────────────────┘     └──────────────┘     └──────────────────┘
       stdio            At startup:
                        1. Fetch OpenAPI spec
                        2. Parse paths → tools
                        3. Build Zod schemas
                        4. Register with MCP SDK

Pipeline:

  1. Startup — reads DOKPLOY_URL and DOKPLOY_API_KEY from environment
  2. Spec fetch — calls GET /api/settings.getOpenApiDocument on the Dokploy instance
  3. Tool generation — iterates over every path+method in the OpenAPI spec, builds Zod input schemas from parameters and request bodies
  4. Registration — registers each tool with the MCP SDK, including descriptions and safety annotations
  5. Runtime — when a tool is called, the server makes the corresponding HTTP request to Dokploy with x-api-key auth and returns the JSON response

License

MIT — Copyright (c) 2025-2026 Sattva

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选