
Sakura Cloud
STDIOMCP server for managing Sakura Cloud resources and services
MCP server for managing Sakura Cloud resources and services
A Model Context Protocol (MCP) server implementation for interacting with Sakura Cloud's API.
The Model Context Protocol (MCP) is a standardized communication protocol that enables AI applications to securely interact with external systems and data sources. It follows a client-server architecture where LLM applications initiate connections to servers that expose resources and tools.
This project implements an MCP server that allows AI assistants to interact with Sakura Cloud infrastructure through a standardized interface. It enables AI assistants to:
# 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
Set the following environment variables:
SACLOUD_API_TOKEN
: Your Sakura Cloud API tokenSACLOUD_API_SECRET
: Your Sakura Cloud API secretResource URI | Description |
---|---|
sakura:///servers | Lists all servers in your Sakura Cloud account |
sakura:///switches | Lists all switches in your Sakura Cloud account |
sakura:///appliances | Lists all appliances in your Sakura Cloud account |
sakura:///disks | Lists all disks in your Sakura Cloud account |
sakura:///archives | Lists all archives in your Sakura Cloud account |
sakura:///cdrom | Lists all ISO images (CD-ROMs) in your Sakura Cloud account |
sakura:///bridge | Lists all bridges in your Sakura Cloud account |
sakura:///internet | Lists all routers in your Sakura Cloud account |
sakura:///interface | Lists all network interfaces in your Sakura Cloud account |
sakura:///icon | Lists all icons in your Sakura Cloud account |
sakura:///note | Lists all startup scripts and notes in your Sakura Cloud account |
sakura:///sshkey | Lists all SSH keys in your Sakura Cloud account |
sakura:///region | Lists all regions in your Sakura Cloud account |
sakura:///zone | Lists all zones in your Sakura Cloud account |
sakura:///product | Lists all available products in your Sakura Cloud account |
sakura:///commonserviceitem | Lists all common service items (DNS, Simple Monitor, etc.) in your Sakura Cloud account |
sakura:///license | Lists all licenses in your Sakura Cloud account |
sakura:///auth-status | Shows current authentication status and permissions |
sakura:///bill | Shows monthly billing information |
sakura:///bill-detail | Shows detailed breakdown of billing information |
sakura:///coupon | Lists all available coupons |
sakura:///privatehost | Lists all private hosts in your Sakura Cloud account |
sakura:///public-price | Shows public pricing information for Sakura Cloud services (no authentication required) |
sakura:///apprun | Lists all AppRun applications in your Sakura Cloud account |
Tool Name | Description | Required Parameters |
---|---|---|
get_server_list | Retrieves list of all servers | None |
get_server_info | Retrieves detailed information about a specific server | serverId |
get_switch_list | Retrieves list of all switches | None |
get_switch_info | Retrieves detailed information about a specific switch | switchId |
get_appliance_list | Retrieves list of all appliances | None |
get_appliance_info | Retrieves detailed information about a specific appliance | applianceId |
get_disk_list | Retrieves list of all disks | None |
get_disk_info | Retrieves detailed information about a specific disk | diskId |
get_archive_list | Retrieves list of all archives | None |
get_archive_info | Retrieves detailed information about a specific archive | archiveId |
get_cdrom_list | Retrieves list of all ISO images | None |
get_cdrom_info | Retrieves detailed information about a specific ISO image | cdromId |
get_bridge_list | Retrieves list of all bridges | None |
get_bridge_info | Retrieves detailed information about a specific bridge | bridgeId |
get_router_list | Retrieves list of all routers | None |
get_router_info | Retrieves detailed information about a specific router | routerId |
get_interface_list | Retrieves list of all network interfaces | None |
get_interface_info | Retrieves detailed information about a specific network interface | interfaceId |
get_icon_list | Retrieves list of all icons | None |
get_icon_info | Retrieves detailed information about a specific icon | iconId |
get_note_list | Retrieves list of all notes and startup scripts | None |
get_note_info | Retrieves detailed information about a specific note or startup script | noteId |
get_sshkey_list | Retrieves list of all SSH keys | None |
get_sshkey_info | Retrieves detailed information about a specific SSH key | sshkeyId |
get_region_list | Retrieves list of all regions | None |
get_region_info | Retrieves detailed information about a specific region | regionId |
get_zone_list | Retrieves list of all zones | None |
get_zone_info | Retrieves detailed information about a specific zone | zoneId |
get_product_info | Retrieves detailed information about specific product offerings | productType |
get_commonserviceitem_list | Retrieves list of all common service items | None |
get_commonserviceitem_info | Retrieves detailed information about a specific common service item | itemId |
get_license_list | Retrieves list of all licenses | None |
get_license_info | Retrieves detailed information about a specific license | licenseId |
get_bill_info | Retrieves billing information for a specific month | year , month |
get_bill_detail | Retrieves detailed billing information for a specific month | year , month |
get_coupon_info | Retrieves information about a specific coupon | couponId |
get_privatehost_info | Retrieves detailed information about a specific private host | privateHostId |
get_public_price | Retrieves public pricing information for Sakura Cloud services | None |
get_apprun_list | Retrieves list of all AppRun applications | None |
get_apprun_info | Retrieves detailed information about a specific AppRun application | appId |
create_apprun | Creates a new AppRun application | name , dockerImage , planId |
delete_apprun | Deletes an AppRun application | appId |
start_apprun | Starts an AppRun application | appId |
stop_apprun | Stops an AppRun application | appId |
update_apprun | Updates an existing AppRun application | appId |
get_apprun_logs | Gets logs from an AppRun application | appId |
Sakura Cloud AppRun is a containerized application platform that allows you to run Docker containers without managing infrastructure. This MCP server provides full AppRun management capabilities:
When creating or updating an AppRun application, you can specify:
All API calls support specifying a zone parameter to target specific Sakura Cloud data centers. The default zone is tk1v
(Tokyo), but you can specify others such as:
is1a
(Ishikari)tk1a
(Tokyo)Example URI with zone parameter: sakura:///servers?zone=is1a
Claude Desktop app provides MCP support. Follow these steps to integrate this server with Claude:
Make sure the server is running locally or on an accessible host.
Create a claude_desktop_config.json
file in the appropriate location for your OS:
%APPDATA%\Claude\claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
Add the following configuration to the file:
{ "sacloud-server": { "command": "node", "args": ["path/to/mcp/dist/server.js"], "env": { "SACLOUD_API_TOKEN": "your_token_here", "SACLOUD_API_SECRET": "your_secret_here" } } }
Restart the Claude Desktop app to apply the configuration.
In a conversation with Claude, you can now access Sakura Cloud resources and tools.
ISC