返回市场
部署-mcp

部署-mcp

作者:andradehenrique15 星标更新:2025-06-06

项目介绍

Dokploy MCP Server

⚠️ 项目已停止维护

该项目已移至官方Dokploy组织,并且将不再在此仓库中进行维护。

📍 新官方仓库: https://github.com/Dokploy/mcp

请迁移到官方仓库以获取最新更新和支持。


已停止维护 新仓库

npm 版本 <img alt="在VS Code中安装(npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=安装Dokploy%20MCP&color=0098FF">

Dokploy MCP Server 将Dokploy的功能作为工具通过模型上下文协议(MCP)提供。它允许与MCP兼容的客户端(例如AI模型、其他应用程序)以编程方式与您的Dokploy服务器交互。

🚨 此项目不再维护,请立即迁移到官方仓库。

📖 迁移指南 → | 🔗 官方仓库 →

此服务器专注于工具,用于直接操作Dokploy API,提供一个干净高效的接口来管理项目和应用。

🛠️ 快速开始

要求

  • Node.js >= v18.0.0(或Docker)
  • Cursor、VS Code、Claude Desktop或其他MCP客户端
  • 运行中的Dokploy服务器实例

在Cursor中安装

前往:设置 -> Cursor设置 -> MCP -> 添加新的全局MCP服务器

将以下内容添加到您的Cursor ~/.cursor/mcp.json 文件中。您也可以通过在项目文件夹中创建 .cursor/mcp.json 来在特定项目中安装。更多信息请参阅 Cursor MCP文档

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}
<details> <summary>替代方案:使用Bun</summary>
{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "bunx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
     
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}
</details> <details> <summary>替代方案:使用Deno</summary>
{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "deno",
      "args": ["run", "--allow-env", "--allow-net", "npm:@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}
</details>

在Windsurf中安装

将以下内容添加到您的Windsurf MCP配置文件中。更多信息请参阅 Windsurf MCP文档

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

在VS Code中安装

<img alt="在VS Code中安装(npx)" src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=安装Dokploy%20MCP&color=0098FF"> <img alt="在VS Code Insiders中安装(npx)" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=安装Dokploy%20MCP&color=24bfa5">

将以下内容添加到您的VS Code MCP配置文件中。更多信息请参阅 VS Code MCP文档

{
  "servers": {
    "dokploy-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

在Zed中安装

将以下内容添加到您的Zed settings.json 中。更多信息请参阅 Zed上下文服务器文档

{
  "context_servers": {
    "dokploy-mcp": {
      "command": {
        "path": "npx",
        "args": ["-y", "@ahdev/dokploy-mcp"]
      },
      "settings": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

在Claude Desktop中安装

将以下内容添加到您的Claude Desktop claude_desktop_config.json 文件中。更多信息请参阅 Claude Desktop MCP文档

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

在BoltAI中安装

打开应用的“设置”页面,导航到“插件”,并输入以下JSON:

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "npx",
      "args": ["-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

使用Docker

Docker容器支持stdioHTTP传输模式,使其适用于不同的部署场景。

  1. 构建Docker镜像:

    git clone https://github.com/andradehenrique/dokploy-mcp.git
    cd dokploy-mcp
    docker build -t dokploy-mcp .
    
  2. 手动Docker命令:

    Stdio模式(针对MCP客户端):

    docker run -it --rm \
      -e DOKPLOY_URL=https://your-dokploy-server.com/api \
      -e DOKPLOY_API_KEY=your_token_here \
      dokploy-mcp
    

    HTTP模式(针对Web应用):

    docker run -it --rm \
      -p 3000:3000 \
      -e MCP_TRANSPORT=http \
      -e DOKPLOY_URL=https://your-dokploy-server.com/api \
      -e DOKPLOY_API_KEY=your_token_here \
      dokploy-mcp
    
  3. Docker Compose:

    使用提供的 docker-compose.yml 进行生产部署:

    # 启动HTTP服务
    docker-compose up -d dokploy-mcp-http
    
    # 查看日志
    docker-compose logs -f dokploy-mcp-http
    
  4. MCP客户端配置:

    对于stdio模式(Claude Desktop、VS Code等):

    {
      "mcpServers": {
        "dokploy-mcp": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "DOKPLOY_URL=https://your-dokploy-server.com/api",
            "-e",
            "DOKPLOY_API_KEY=your_token_here",
            "dokploy-mcp"
          ]
        }
      }
    }
    

    对于HTTP模式(Web应用):

    首先启动HTTP服务器,然后配置客户端连接到 http://localhost:3000/mcp

在Windows上安装

Windows上的配置与Linux或macOS略有不同。使用 cmd 作为命令包装器:

{
  "mcpServers": {
    "dokploy-mcp": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@ahdev/dokploy-mcp"],
      "env": {
        "DOKPLOY_URL": "https://your-dokploy-server.com/api",
        "DOKPLOY_API_KEY": "your-dokploy-api-token"
      }
    }
  }
}

环境变量

  • DOKPLOY_URL:您的Dokploy服务器API URL(必需)
  • DOKPLOY_API_KEY:您的Dokploy API认证令牌(必需)

🚀 传输模式

此MCP服务器支持多种传输模式以适应不同的使用场景:

Stdio模式(默认)

默认模式使用stdio进行直接进程通信,适合桌面应用和命令行使用。

# 使用stdio运行(默认)
npx -y @ahdev/dokploy-mcp
# 或
npm run start:stdio

HTTP模式(可流式传输的HTTP +旧版SSE)

现代HTTP模式通过HTTP/HTTPS暴露服务器,支持现代和旧版协议以实现最大兼容性:

  • 可流式传输的HTTP(MCP 2025-03-26) - 带会话管理的现代协议
  • 旧版SSE(MCP 2024-11-05) - 旧版客户端的向后兼容性
# 使用HTTP模式运行
npm run start:http
# 或
npx -y @ahdev/dokploy-mcp --http
# 或通过环境变量
MCP_TRANSPORT=http npx -y @ahdev/dokploy-mcp

现代可流式传输的HTTP端点:

  • POST /mcp - 客户端到服务器请求
  • GET /mcp - 服务器到客户端通知
  • DELETE /mcp - 会话终止
  • GET /health - 健康检查端点

旧版SSE端点(向后兼容性):

  • GET /sse - SSE流初始化
  • POST /messages - 客户端消息发布

配置:

  • 默认端口:3000(覆盖为 PORT=8080
  • 支持现代可流式传输的HTTP(MCP 2025-03-26)和旧版SSE(MCP 2024-11-05)
  • 对两种传输类型都具有会话管理和自动清理

客户端兼容性:

现代客户端自动使用可流式传输的HTTP端点,而旧版客户端可以使用SSE端点连接。服务器同时处理这两种协议,确保与以下客户端的兼容性:

  • 现代MCP客户端(Claude Desktop、Cline等)→ 使用 /mcp 端点
  • 旧版MCP客户端 → 使用 /sse/messages 端点
  • 自定义集成 → 根据需要选择适当的协议

有关详细的传输模式文档和客户端示例,请参阅上面的配置示例。

📚 可用工具

此MCP服务器提供了全面的工具,用于通过43个工具管理Dokploy项目、应用和数据库,这些工具被组织成三个主要类别:

🗂️ 项目管理(6个工具)

完整的项目生命周期管理,包括创建、更新、复制和删除:

  • project-all - 列出所有项目
  • project-one - 获取项目详情
  • project-create - 创建新项目
  • project-update - 更新项目配置
  • project-duplicate - 复制项目并选择性地复制服务
  • project-remove - 删除项目

🚀 应用管理(24个工具)

全面的应用生命周期和配置管理:

核心操作

  • CRUD操作:创建、读取、更新、删除应用
  • 生命周期管理:部署、重新部署、启动、停止、重新加载应用
  • 实用操作:在项目之间移动、清理队列、刷新令牌

Git提供商集成

支持多个Git提供商及其特定配置:

  • GitHub提供商 - 全面的GitHub集成,包括webhook
  • GitLab提供商 - 完整的GitLab项目集成
  • Bitbucket提供商 - Bitbucket仓库管理
  • Gitea提供商 - 自托管Gitea集成
  • Git提供商 - 自定义Git仓库支持
  • Docker提供商 - 直接Docker镜像部署

配置管理

  • 构建设置 - 配置构建类型(Dockerfile、Heroku、Nixpacks等)
  • 环境管理 - 环境变量和构建参数
  • 监控集成 - 应用监控和指标
  • Traefik配置 - 负载均衡器和反向代理设置

🐘 PostgreSQL数据库管理(13个工具)

完整的PostgreSQL数据库生命周期管理:

核心数据库操作

  • CRUD操作:创建、读取、更新、删除PostgreSQL数据库
  • 生命周期管理:部署、启动、停止、重新加载、重建数据库
  • 配置管理:外部端口、环境变量、状态更改
  • 项目管理:在项目之间移动数据库

可用的PostgreSQL工具

  • postgres-create - 创建新的PostgreSQL数据库
  • postgres-one - 获取数据库详情
  • postgres-update - 更新数据库配置
  • postgres-remove - 删除数据库
  • postgres-deploy - 部署数据库
  • postgres-start - 启动数据库实例
  • postgres-stop - 停止数据库实例
  • postgres-reload - 重新加载数据库配置
  • postgres-rebuild - 重建数据库实例
  • postgres-move - 在项目之间移动数据库
  • postgres-changeStatus - 更改数据库状态
  • postgres-saveExternalPort - 配置外部数据库端口
  • postgres-saveEnvironment - 管理数据库环境变量

关于每个工具的详细信息,包括输入模式、所需字段和使用示例,请参阅 TOOLS.md

工具注解

所有工具都包含语义注解,帮助MCP客户端理解其行为:

  • 只读工具 (readOnlyHint: true):仅检索数据的安全操作
  • 破坏性工具 (destructiveHint: true):修改或删除资源的操作
  • 创建工具 (destructiveHint: false):创建新资源的操作
  • 幂等工具 (idempotentHint: true):重复执行安全的操作
  • 外部API工具 (openWorldHint: true):所有工具都与Dokploy API