返回市场
沙盒云-MCP

沙盒云-MCP

作者:hidenorigoto11 星标更新:2025-04-05

项目介绍

Sakura Cloud MCP Server

这是与Sakura Cloud API交互的模型上下文协议(MCP)服务器实现。

什么是MCP?

模型上下文协议(MCP)是一种标准化通信协议,使AI应用程序能够安全地与外部系统和数据源进行交互。它遵循客户端-服务器架构,其中LLM应用程序发起连接到暴露资源和工具的服务器。

概述

该项目实现了MCP服务器,允许AI助手通过标准化接口与Sakura Cloud基础设施进行交互。它使AI助手能够:

  • 访问Sakura Cloud资源,如服务器、磁盘、网络等
  • 使用工具列出资源并检索特定资源的详细信息
  • 查询无需身份验证要求的公开定价信息
  • 管理AppRun容器化应用程序

预备条件

  • Node.js(v16或更高版本)
  • Sakura Cloud API凭证(令牌和密钥)
  • Claude桌面应用以与Claude配合使用(MCP目前仅在桌面应用中支持)

安装

# 克隆仓库
git clone https://github.com/hidenorigoto/sacloud-mcp.git
cd sacloud-m
npm install

# 构建项目
npm run build

配置

设置以下环境变量:

  • SACLOUD_API_TOKEN:您的Sakura Cloud API令牌
  • SACLOUD_API_SECRET:您的Sakura Cloud API密钥

使用

可用资源

资源URI描述
sakura:///servers列出您Sakura Cloud账户中的所有服务器
sakura:///switches列出您Sakura Cloud账户中的所有交换机
sakura:///appliances列出您Sakura Cloud账户中的所有设备
sakura:///disks列出您Sakura Cloud账户中的所有磁盘
sakura:///archives列出您Sakura Cloud账户中的所有存档
sakura:///cdrom列出您Sakura Cloud账户中的所有ISO镜像(CD-ROM)
sakura:///bridge列出您Sakura Cloud账户中的所有桥接器
sakura:///internet列出您Sakura Cloud账户中的所有路由器
sakura:///interface列出您Sakura Cloud账户中的所有网络接口
sakura:///icon列出您Sakura Cloud账户中的所有图标
sakura:///note列出您Sakura Cloud账户中的所有启动脚本和笔记
sakura:///sshkey列出您Sakura Cloud账户中的所有SSH密钥
sakura:///region列出您Sakura Cloud账户中的所有区域
sakura:///zone列出您Sakura Cloud账户中的所有可用区
sakura:///product列出您Sakura Cloud账户中的所有可用产品
sakura:///commonserviceitem列出您Sakura Cloud账户中的所有通用服务项(DNS、简单监控等)
sakura:///license列出您Sakura Cloud账户中的所有许可证
sakura:///auth-status显示当前的身份验证状态和权限
sakura:///bill显示每月账单信息
sakura:///bill-detail显示详细的账单信息
sakura:///coupon列出所有可用优惠券
sakura:///privatehost列出您Sakura Cloud账户中的所有专用主机
sakura:///public-price显示Sakura Cloud服务的公开定价信息(无需身份验证)
sakura:///apprun列出您Sakura Cloud账户中的所有AppRun应用程序

可用工具

工具名称描述所需参数
get_server_list获取所有服务器列表
get_server_info获取特定服务器的详细信息serverId
get_switch_list获取所有交换机列表
get_switch_info获取特定交换机的详细信息switchId
get_appliance_list获取所有设备列表
get_appliance_info获取特定设备的详细信息applianceId
get_disk_list获取所有磁盘列表
get_disk_info获取特定磁盘的详细信息diskId
get_archive_list获取所有存档列表
get_archive_info获取特定存档的详细信息archiveId
get_cdrom_list获取所有ISO镜像列表
get_cdrom_info获取特定ISO镜像的详细信息cdromId
get_bridge_list获取所有桥接器列表
get_bridge_info获取特定桥接器的详细信息bridgeId
get_router_list获取所有路由器列表
get_router_info获取特定路由器的详细信息routerId
get_interface_list获取所有网络接口列表
get_interface_info获取特定网络接口的详细信息interfaceId
get_icon_list获取所有图标列表
get_icon_info获取特定图标的详细信息iconId
get_note_list获取所有笔记和启动脚本列表
get_note_info获取特定笔记或启动脚本的详细信息noteId
get_sshkey_list获取所有SSH密钥列表
get_sshkey_info获取特定SSH密钥的详细信息sshkeyId
get_region_list获取所有区域列表
get_region_info获取特定区域的详细信息regionId
get_zone_list获取所有可用区列表
get_zone_info获取特定可用区的详细信息zoneId
get_product_info获取特定产品的详细信息productType
get_commonserviceitem_list获取所有通用服务项列表
get_commonserviceitem_info获取特定通用服务项的详细信息itemId
get_license_list获取所有许可证列表
get_license_info获取特定许可证的详细信息licenseId
get_bill_info获取特定月份的账单信息year, month
get_bill_detail获取特定月份的详细账单信息year, month
get_coupon_info获取特定优惠券的信息couponId
get_privatehost_info获取特定专用主机的详细信息privateHostId
get_public_price获取Sakura Cloud服务的公开定价信息
get_apprun_list获取所有AppRun应用程序列表
get_apprun_info获取特定AppRun应用程序的详细信息appId
create_apprun创建新的AppRun应用程序name, dockerImage, planId
delete_apprun删除AppRun应用程序appId
start_apprun启动AppRun应用程序appId
stop_apprun停止AppRun应用程序appId
update_apprun更新现有的AppRun应用程序appId
get_apprun_logs获取AppRun应用程序的日志appId

AppRun集成

Sakura Cloud AppRun是一个容器化应用程序平台,允许您运行Docker容器而不必管理基础设施。此MCP服务器提供了完整的AppRun管理功能:

  • 查看所有AppRun应用程序
  • 使用自定义Docker镜像创建新应用程序
  • 更新现有应用程序(更改镜像、配置等)
  • 启动和停止应用程序
  • 查看应用程序日志
  • 当不再需要时删除应用程序

在创建或更新AppRun应用程序时,您可以指定:

  • 应用程序名称和描述
  • 要使用的Docker镜像
  • 计划ID(确定分配的资源)
  • 作为键值对的环境变量

区域支持

所有API调用都支持指定区域参数以针对特定的Sakura Cloud数据中心。默认区域是tk1v(东京),但您可以指定其他区域,例如:

  • is1a(石狩)
  • tk1a(东京)
  • 更多...

带有区域参数的示例URI:sakura:///servers?zone=is1a

与Claude集成

Claude桌面应用提供MCP支持。按照以下步骤将此服务器与Claude集成:

  1. 确保服务器在本地或可访问的主机上运行。

  2. 在适当的位置为您的操作系统创建一个claude_desktop_config.json文件:

    • Windows:%APPDATA%\Claude\claude_desktop_config.json
    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux:~/.config/Claude/claude_desktop_config.json
  3. 将以下配置添加到文件中:

{
  "sacloud-server": {
    "command": "node",
    "args": ["path/to/mcp/dist/server.js"],
    "env": {
      "SACLOUD_API_TOKEN": "your_token_here",
      "SACLOUD_API_SECRET": "your_secret_here"
    }
  }
}
  1. 重新启动Claude桌面应用以应用配置。

  2. 在与Claude的对话中,现在可以访问Sakura Cloud资源和工具。

安全注意事项

  • 此服务器处理敏感的API凭证
  • 不要将API令牌或密钥提交到版本控制
  • 对于所有敏感信息,请使用环境变量
  • 在生产环境中实施适当的访问控制

许可证

ISC