DigitalOcean云资源管理工具

一个增强版的DigitalOcean集成工具,支持SSH密钥认证,用于管理DigitalOcean资源并通过API执行操作,适用于现代Linux发行版如Rocky Linux。

  • by nellika-lab
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 nellika-lab/mcp-digitalocean

使用说明

MCP DigitalOcean集成-增强SSH密钥支持

这是一个 加强版 MCP DigitalOcean集成为管理DigitalOcean资源和使用 DigitalOcean API.建在 戈多 图书馆与 MCP框架,该项目提供了一系列工具来简化云基础设施管理。

🚀 新:现代Linux发行版的SSH密钥支持

此增强版本专门解决了以下关键问题 洛基Linux 以及其他需要SSH密钥认证而不是根密码的现代发行版。现在,您可以使用适当的SSH密钥支持创建液滴!

主要增强功能:

  • ✅ SSH密钥参数支持 -直接SSH密钥ID规范
  • ✅ 环境变量回退 - DIGITALOCEAN_DEFAULT_SSH_KEYS 自动化
  • ✅ Rocky Linux兼容 -适用于现代Linux发行版
  • ✅ 附加参数 -专用网络、IPv6、标签、VPC UUID支持
  • ✅ 完全向后兼容 -所有现有配置继续工作
  • ✅ 综合测试 -35+测试用例确保可靠性

免责声明:“使用MCP技术与您的DigitalOcean帐户进行交互 可能伴随着风险"

安装

先决条件

  • Node.js(v18或更高版本)
  • NPM(v8或更高版本)
node --version
npm --version

本地安装

npx @digitalocean/mcp --services apps 

使用Claude代码

将DigitalOcean MCP服务器添加到 克劳德代码,在终端中运行以下命令:

claude mcp add digitalocean-mcp \
  -e DIGITALOCEAN_API_TOKEN=YOUR_DO_API_TOKEN \
  -- npx @digitalocean/mcp --services apps,databases

这将:

  • 在下面添加MCP服务器 默认值(本地) 作用域——意味着它仅在当前文件夹内可用。
  • 用名字注册 digitalocean-mcp.
  • 启用 apps 和 databases 服务。
  • 将您的DigitalOcean API令牌安全地传递到服务器。
  • 将配置存储在全局Claude配置中 ~/.claude.json,范围为当前文件夹。

确认已添加:

claude mcp list

检查细节:

claude mcp get digitalocean-mcp

要删除它:

claude mcp remove digitalocean-mcp

或者,将以下内容添加到您的 claude_desktop_config json 文件。

{
  "mcpServers": {
    "digitalocean": {
      "command": "npx",
      "args": ["@digitalocean/mcp", "--services apps"],
      "env": {
        "DIGITALOCEAN_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

想在任何地方都使用它吗?

局部作用域 当您在测试或仅在一个项目中使用服务器时,它很棒。 用户范围 如果你想在任何地方都能买到,那就更好了。

如果你想让服务器可用 全球范围内 (因此您不必在每个项目中重新添加它),您可以使用 user 范围:

claude mcp add -s user digitalocean-mcp-user-scope \
  -e DIGITALOCEAN_API_TOKEN=YOUR_DO_API_TOKEN \
  -- npx @digitalocean/mcp --services apps,databases

这将:

  • 使服务器在中可用 所有文件夹,而不仅仅是你所在的那个
  • 将其范围定为 您的用户帐户
  • 将其存储在您的全局Claude配置中 ~/.claude.json

要删除它:

claude mcp remove -s user digitalocean-mcp-user-scope

使用游标IDE

{
  "mcpServers": {
    "digitalocean": {
      "command": "npx",
      "args": ["@digitalocean/mcp", "--services apps"],
      "env": {
        "DIGITALOCEAN_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

使用VSCode

{
    "mcp": {
        "inputs": [],
        "servers": {
            "mcpDigitalOcean": {
                "command": "npx",
                "args": [
                    "@digitalocean/mcp",
                    "--services",
                    "apps"
                ],
                "env": {
                    "DIGITALOCEAN_API_TOKEN": "YOUR_API_TOKEN"
                }
            }
        }
    }
}

配置工具

要配置工具,您可以使用 --services 标志指定要启用的服务。强烈建议仅 启用所需的服务,以减少上下文大小并提高准确性。请参阅下面支持的服务列表。

npx @digitalocean/mcp --services apps,droplets

支持服务列表

MCP DigitalOcean集成支持以下服务,使用户能够有效地管理其DigitalOcean基础设施

服务 描述
应用 管理DigitalOcean应用平台应用程序,包括部署和配置。
液滴 在DigitalOcean上创建、管理、调整大小、快照和监视液滴(虚拟机)。
账户 获取有关您的DigitalOcean帐户、账单、余额、发票和SSH密钥的信息。
网络 管理域、DNS记录、证书、防火墙、保留IP、VPC和CDN。
见解 监控您的资源、端点,并在它们运行缓慢、不可用或SSL证书到期时提醒您
空间 DigitalOcean Spaces对象存储和S3兼容存储的Spaces访问密钥。
数据库 提供、管理和监控托管数据库集群(Postgres、MySQL、Redis等)。
市场 发现和管理DigitalOcean Marketplace应用程序。
文档 管理DigitalOcean Kubernetes集群和节点池。

🔑 SSH密钥支持使用示例

环境变量法

# Set default SSH keys that will be used for all droplets when SshKeys parameter is not specified
export DIGITALOCEAN_DEFAULT_SSH_KEYS="12345,67890"

直接参数法

{
  "Name": "rocky-server",
  "Size": "s-1vcpu-1gb", 
  "ImageID": 123456789,
  "Region": "nyc3",
  "SshKeys": [12345, 67890],
  "PrivateNetworking": true,
  "IPv6": true,
  "Tags": ["production", "web"],
  "Backup": true,
  "VpcUuid": "vpc-12345678"
}

使用SSH密钥创建Rocky Linux Droplet

npx @digitalocean/mcp --services droplets

然后向 droplet-create 指定SSH密钥的工具。


服务文档

每个服务都提供了一个详细的README,描述了所有可用的工具、资源、参数和示例查询。 有关完整文档,请参阅以下文件:


工具使用示例

  • 从GitHub仓库部署应用程序: create-app-from-spec
  • 调整液滴大小: droplet-resize
  • 添加新的SSH密钥: key-create
  • 创建新域: domain-create
  • 在液滴上启用备份: droplet-enable-backups
  • 刷新CDN缓存: cdn-flush-cache
  • 创建VPC对等连接: vpc-peering-create
  • 删除VPC对等连接: vpc-peering-delete

贡献

欢迎投稿!如果您遇到任何问题或有改进的想法,请随时打开问题或提交拉取请求。

如何做出贡献

  1. 分叉存储库。
  2. 为您的功能或错误修复创建一个新分支。
  3. 提交一个拉取请求,明确描述您的更改。

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。