Sakura Cloud MCP Server

Integrations

  • Enables management of Docker containers through the Sakura Cloud AppRun platform, allowing users to create, update, start, stop, and delete containerized applications with custom Docker images.

  • Uses Node.js as the runtime environment for the MCP server, with specific support for Node.js v16 or higher as a prerequisite for running the server.

さくらクラウドMCPサーバー

Sakura Cloud の API と対話するためのモデル コンテキスト プロトコル (MCP) サーバー実装。

MCPとは何ですか?

モデルコンテキストプロトコル(MCP)は、AIアプリケーションが外部システムやデータソースと安全にやり取りできるようにする標準化された通信プロトコルです。MCPはクライアントサーバーアーキテクチャを採用しており、LLMアプリケーションがリソースやツールを公開するサーバーへの接続を開始します。

概要

このプロジェクトは、AIアシスタントが標準化されたインターフェースを介してSakura Cloudインフラストラクチャと対話できるようにするMCPサーバーを実装します。これにより、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 : さくらクラウドAPIトークン
  • SACLOUD_API_SECRET : Sakura Cloud APIシークレット

使用法

利用可能なリソース

リソースURI説明
sakura:///serversSakura Cloudアカウント内のすべてのサーバーを一覧表示します
sakura:///switchesSakura Cloudアカウント内のすべてのスイッチを一覧表示します
sakura:///appliancesSakura Cloudアカウント内のすべてのアプライアンスを一覧表示します
sakura:///disksSakura Cloud アカウント内のすべてのディスクを一覧表示します
sakura:///archivesSakura Cloudアカウント内のすべてのアーカイブを一覧表示します
sakura:///cdromSakura Cloud アカウント内のすべての ISO イメージ (CD-ROM) を一覧表示します
sakura:///bridgeSakura Cloud アカウント内のすべてのブリッジを一覧表示します
sakura:///internetSakura Cloudアカウント内のすべてのルーターを一覧表示します
sakura:///interfaceSakura Cloud アカウント内のすべてのネットワーク インターフェースを一覧表示します
sakura:///iconSakura Cloudアカウント内のすべてのアイコンを一覧表示します
sakura:///noteSakura Cloud アカウント内のすべての起動スクリプトとメモを一覧表示します
sakura:///sshkeySakura Cloud アカウント内のすべての SSH キーを一覧表示します
sakura:///regionSakura Cloud アカウントのすべてのリージョンを一覧表示します
sakura:///zoneSakura Cloud アカウント内のすべてのゾーンを一覧表示します
sakura:///productSakura Cloud アカウントで利用可能なすべての製品を一覧表示します
sakura:///commonserviceitemSakura Cloud アカウントの一般的なサービス項目 (DNS、シンプルモニターなど) をすべて一覧表示します
sakura:///licenseSakura Cloud アカウントのすべてのライセンスを一覧表示します
sakura:///auth-status現在の認証ステータスと権限を表示します
sakura:///bill毎月の請求情報を表示します
sakura:///bill-detail請求情報の詳細な内訳を表示します
sakura:///coupon利用可能なクーポンをすべて一覧表示します
sakura:///privatehostSakura Cloud アカウント内のすべてのプライベートホストを一覧表示します
sakura:///public-priceSakura Cloud サービスの公開価格情報を表示します (認証は不要)
sakura:///apprunSakura 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特定の月の請求情報を取得しますyearmonth
get_bill_detail特定の月の詳細な請求情報を取得しますyearmonth
get_coupon_info特定のクーポンに関する情報を取得しますcouponId
get_privatehost_info特定のプライベートホストに関する詳細情報を取得しますprivateHostId
get_public_priceSakura Cloud サービスの公開価格情報を取得しますなし
get_apprun_listすべてのAppRunアプリケーションのリストを取得しますなし
get_apprun_info特定のAppRunアプリケーションに関する詳細情報を取得しますappId
create_apprun新しいAppRunアプリケーションを作成しますnamedockerImageplanId
delete_apprunAppRunアプリケーションを削除しますappId
start_apprunAppRunアプリケーションを起動しますappId
stop_apprunAppRunアプリケーションを停止しますappId
update_apprun既存のAppRunアプリケーションを更新しますappId
get_apprun_logsAppRunアプリケーションからログを取得します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デスクトップアプリはMCPサポートを提供します。このサーバーをClaudeと統合するには、以下の手順に従ってください。

  1. サーバーがローカルまたはアクセス可能なホスト上で実行されていることを確認します。
  2. OS に応じて適切な場所に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. クロードとの会話で、Sakura Cloud のリソースとツールにアクセスできるようになりました。

セキュリティに関する考慮事項

  • このサーバーは機密性の高いAPI認証情報を処理します
  • APIトークンやシークレットをバージョン管理にコミットしないでください
  • すべての機密情報に環境変数を使用する
  • 本番環境で適切なアクセス制御を実装する

ライセンス

ISC

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

AI アシスタントがサーバー、ディスク、ネットワーク、コンテナ化されたアプリケーションなどの Sakura Cloud インフラストラクチャと対話して管理できるようにする MCP サーバー実装。

  1. What is MCP?
    1. Overview
      1. Prerequisites
        1. Installation
          1. Configuration
            1. Usage
              1. Available Resources
              2. Available Tools
            2. AppRun Integration
              1. Zone Support
                1. Integrating with Claude
                  1. Security Considerations
                    1. License
                      ID: vbob63j601