云资源管理协议服务器

Sakura Cloud MCP Server是一个实现模型上下文协议(MCP)的服务器,允许AI助手通过标准化接口与Sakura Cloud基础设施进行交互,包括访问云资源、管理容器化应用等功能。

  • by hidenorigoto
  • JavaScript
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 hidenorigoto/sacloud-mcp

使用说明

樱花云MCP服务器

用于与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目前仅在桌面应用程序中受支持)

安装

# Clone the repository
git clone https://github.com/hidenorigoto/sacloud-mcp.git
cd sacloud-mcp

# Install dependencies
npm install

# Build the project
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 Desktop应用程序提供MCP支持。按照以下步骤将此服务器与Claude集成:

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

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

    • 窗户: %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 Desktop应用程序以应用配置。

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

安全考虑

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

许可证

国际协调委员会