# Dokploy MCP Server 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. ## Features - **380 Tools** covering 100% of Dokploy API functionality - **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](./TOOLS_STATUS.md) for complete tool breakdown and current status** ## Installation ```bash npx -y dokploy-mcp ``` ## Configuration Set the following environment variables: ```bash export DOKPLOY_URL="https://your-dokploy-instance.com" export DOKPLOY_API_KEY="your-api-key-here" ``` ### Getting Your API Key You can create an API key in your Dokploy dashboard: 1. Go to **Settings** → **Profile** in your Dokploy dashboard 2. Navigate to `/dashboard/settings/profile` 3. Generate a new API key 4. Copy the key and use it as the `DOKPLOY_API_KEY` environment variable ## Usage with Claude Desktop Add to your Claude Desktop configuration: ```json { "mcpServers": { "dokploy": { "command": "npx", "args": ["-y", "dokploy-mcp"], "env": { "DOKPLOY_URL": "https://your-dokploy-instance.com", "DOKPLOY_API_KEY": "your-api-key-here" } } } } ``` ## Available Tools For a complete list of all available tools, their descriptions, and current status, see: **[📋 TOOLS_STATUS.md](./TOOLS_STATUS.md)** - Complete tool reference with status and management instructions ## Tool Management ### Runtime Tool Control You can control which tools are enabled/disabled at runtime using command-line arguments or environment variables: #### Enable Additional Tools ```bash # 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 ```bash # 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 ``` #### Claude Desktop Configuration ```json { "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/" } } } } ``` ### Tool Patterns - **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` ### Tool Categories For detailed information about tool categories and their current status, see **[TOOLS_STATUS.md](./TOOLS_STATUS.md)**. ### Development Mode To enable additional tools permanently, modify the `disabled` property in each tool's metadata: ```typescript 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 } ``` ## Documentation - **[TOOLS_STATUS.md](./TOOLS_STATUS.md)** - Complete list of all 380 tools with their status - **[API Coverage](./TOOLS_STATUS.md#api-coverage)** - Detailed breakdown of enabled/disabled tools ## Development ```bash # Install dependencies pnpm install # Build the project (automatically updates TOOLS_STATUS.md) pnpm build # Update tools status manually pnpm run update-tools-status # Run in development pnpm dev ``` ## License MIT