This repository is a maintained fork of tacticlaunch/dokploy-mcp.
It tracks the Dokploy API contract used by Dokploy v0.30.2 and is published from this fork as version 1.1.0.
See CHANGELOG.md for the changes in each release.
A comprehensive Model Context Protocol (MCP) server for Dokploy, providing type-safe access to the complete Dokploy API with extensive tool coverage across all available endpoints.
- 490 Tools covering the available Dokploy API operations in the tracked OpenAPI contract
- Smart tool selection with core tools enabled by default
- Advanced tools available but disabled by default for performance
- Type-safe integration with auto-generated OpenAPI types
- Environment-based authentication
- Modular architecture with each tool in separate files
- Comprehensive error handling for all HTTP status codes
- Production-ready MCP server with optimized tool selection
📋 See TOOLS_STATUS.md for complete tool breakdown and current status
Dokploy MCP redacts sensitive values before returning any API response to the
AI model. Environment variables, passwords, tokens, API keys, private keys and
other secrets are returned as ******** instead of their real value:
{
"env": "********",
"token": "********",
"password": "********"
}The MCP can still manage these resources without exposing their credentials to the model.
npx -y dokploy-mcpSet the following environment variables:
export DOKPLOY_URL="https://your-dokploy-instance.com"
export DOKPLOY_API_KEY="your-api-key-here"You can create an API key in your Dokploy dashboard:
- Go to Settings → Profile in your Dokploy dashboard
- Navigate to
/dashboard/settings/profile - Generate a new API key
- Copy the key and use it as the
DOKPLOY_API_KEYenvironment variable
Add to your Claude Desktop configuration:
{
"mcpServers": {
"dokploy": {
"command": "npx",
"args": ["-y", "dokploy-mcp"],
"env": {
"DOKPLOY_URL": "https://your-dokploy-instance.com",
"DOKPLOY_API_KEY": "your-api-key-here"
}
}
}
}For a complete list of all available tools, their descriptions, and current status, see:
📋 TOOLS_STATUS.md - Complete tool reference with status and management instructions
You can control which tools are enabled/disabled at runtime using command-line arguments or environment variables:
# Enable specific tools or categories
npx -y dokploy-mcp --enable-tools postgres/,application-cancelDeployment
# Enable multiple categories
npx -y dokploy-mcp --enable-tools postgres/,mysql/,notification/# Disable specific tools or categories
XMCP_DISABLE_TOOLS=admin/,application-cancelDeployment npx -y dokploy-mcp
# Disable multiple categories
XMCP_DISABLE_TOOLS=admin/,settings/,stripe/ npx -y dokploy-mcp{
"mcpServers": {
"dokploy": {
"command": "npx",
"args": ["-y", "dokploy-mcp", "--enable-tools", "postgres/,mysql/"],
"env": {
"DOKPLOY_URL": "https://your-dokploy-instance.com",
"DOKPLOY_API_KEY": "your-api-key-here",
"XMCP_DISABLE_TOOLS": "admin/,stripe/"
}
}
}
}- Category patterns:
postgres/,mysql/,notification/- enables/disables entire categories - Specific tools:
application-cancelDeployment,server-create- enables/disables individual tools - Multiple patterns: Separate with commas:
postgres/,mysql/,application-cancelDeployment
For detailed information about tool categories and their current status, see TOOLS_STATUS.md.
To enable additional tools permanently, modify the disabled property in each tool's metadata:
export const metadata: ToolMetadata = {
name: 'tool-name',
description: 'Tool description',
annotations: {
title: 'Tool Title',
destructiveHint: false,
idempotentHint: true,
},
disabled: false, // Set to false to enable, true to disable
}- TOOLS_STATUS.md - Complete list of all 490 tools with their status
- API Coverage - Detailed breakdown of enabled/disabled tools
- CHANGELOG.md - Release history and fork changes
# Install dependencies
pnpm install
# Build the project (automatically updates TOOLS_STATUS.md)
pnpm build
# Run contract tests against the tracked OpenAPI document
pnpm test
# Update tools status manually
pnpm run update-tools-status
# Run in development
pnpm devThis project is a fork maintained by Jcorderop02. The original MIT license and copyright notice are retained in LICENSE.
MIT