项目简介
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
开发环境设置:
- 克隆仓库:'git clone https://github.com/scarr7981/cargoshipper-mcp.git && cd cargoshipper-mcp'
- 安装依赖:'pip install -r requirements.txt' (建议在虚拟环境中操作)
- 配置API凭证:复制'.env.example'为'.env',并填入您的DigitalOcean和CloudFlare API令牌。
cp .env.example .env # 编辑 .env 文件,填入您的 API 密钥 - 使用开发配置:'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 容器的日志。"
信息
分类
开发者工具