项目简介

CargoShipper MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为人工智能模型(如Claude、GPT)提供安全且标准化的接口,使其能够直接管理和自动化基础设施。它通过集成Docker、DigitalOcean和CloudFlare的API,使LLM能够执行容器操作、虚拟机管理、DNS配置以及其他云资源控制任务。

重要安全警告: 该工具允许AI模型直接访问基础设施管理API,可能导致创建、修改或删除云资源(可能产生费用),修改DNS设置,管理Docker容器等破坏性操作。使用前务必了解风险,建议从非生产环境开始,并实施最小权限API令牌。

主要功能点

  • Docker集成: 提供容器的完整生命周期管理(创建、启动、停止、删除、日志),镜像操作(列表、拉取、管理),以及Docker系统信息和资源监控。
  • DigitalOcean集成: 支持完整的Droplet虚拟机生命周期管理、DNS记录的创建/读取/更新/删除操作、账户信息查询以及镜像管理(分发和自定义快照)。
  • CloudFlare集成: 能够管理DNS区域和记录、进行高级DNS配置(包括代理设置)、按URL/标签/全部清除缓存、获取流量和性能分析,以及配置SSL、安全级别和防火墙规则。
  • 能力声明: 提供了30个工具和17个资源,用于AI查询和执行操作。
  • API凭证管理: 支持通过'.env'文件或用户配置目录安全地配置API令牌。

安装步骤

CargoShipper MCP 服务器可以通过 'uvx' 命令直接运行,也可以作为Python项目进行开发设置。

快速安装与运行 (推荐):

uvx cargoshipper-mcp

开发环境设置:

  1. 克隆仓库:'git clone https://github.com/scarr7981/cargoshipper-mcp.git && cd cargoshipper-mcp'
  2. 安装依赖:'pip install -r requirements.txt' (建议在虚拟环境中操作)
  3. 配置API凭证:复制'.env.example'为'.env',并填入您的DigitalOcean和CloudFlare API令牌。
    cp .env.example .env
    # 编辑 .env 文件,填入您的 API 密钥
  4. 使用开发配置:'cp .mcp.dev.json .mcp.json'

服务器配置 (MCP客户端使用)

以下是MCP客户端连接CargoShipper MCP服务器的配置示例(JSON格式):

{
  "mcpServers": {
    "cargoshipper": {
      "command": "uvx",
      "args": ["cargoshipper-mcp"]
    }
  }
}
  • 'mcpServers.cargoshipper.command': 用于启动MCP服务器的命令。'uvx' 是一个Python版本管理和包执行工具,推荐直接运行PyPI包。
  • 'mcpServers.cargoshipper.args': 传递给命令的参数,这里是包名 'cargoshipper-mcp'。

对于开发环境,您可以使用以下配置:

{
  "mcpServers": {
    "cargoshipper": {
      "command": "python",
      "args": ["-m", "cargoshipper_mcp.server"],
      "cwd": ".",
      "env": {
        "PYTHONPATH": "."
      }
    }
  }
}
  • 'mcpServers.cargoshipper.command': 指定使用Python解释器。
  • 'mcpServers.cargoshipper.args': 以模块形式运行 'cargoshipper_mcp.server'。
  • 'mcpServers.cargoshipper.cwd': 指定工作目录为当前目录。
  • 'mcpServers.cargoshipper.env.PYTHONPATH': 将当前目录添加到Python路径中,确保模块可以被找到。

基本使用方法

一旦配置完成,您的大型语言模型(LLM)客户端(例如Claude)将能够通过自然语言指令调用CargoShipper提供的功能。

示例对话:

  • "在8080端口运行一个nginx容器。"
  • "列出我所有的Droplet虚拟机和它们的预估成本。"
  • "为 mysite.com 创建一个新的CloudFlare区域。"
  • "清除 example.com 的所有缓存。"
  • "获取 abc123 容器的日志。"

信息

分类

开发者工具