Gcore Cloud Mcp Server について
LLM クライアントから Gcore Cloud API を利用するための MCP サーバーです。定義済みツールセットやパターンで API ツールを選び、公開する機能を絞れます。
主な機能
- 01インスタンスとクラウドリソースの管理
- 02ツールセットまたはワイルドカードによる選択
- 03GPU とベアメタル操作
- 04API 認証情報とプロジェクト設定
- 05HTTP Host と Origin ヘッダーの検証
活用シーン
- 01仮想マシン操作の管理
- 02クライアントに必要なクラウドツールの選択
- 03GPU クラスターリソースの操作
MCP 対応
選択した Gcore API 機能を MCP クライアント向けのツールとして公開します。GCORE_TOOLS で利用可能なツールを設定でき、stdio と保護された HTTP トランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Gcore MCP サーバー
Gcore API 用の MCP(Model Context Protocol)サーバーです。このサーバーは、LLM アシスタントを通じて Gcore Cloud API と連携するためのツールを提供します。
使用方法
注記: 利用可能なリソースが複数あるため、ほとんどの LLM クライアントにすべてのリソースを一度に提供すると、モデルが処理しきれず、ツール間で混乱が生じる可能性があります。ほとんどのクライアントでは、最適なパフォーマンスと明瞭さを確保するため、タスクに必要なリソースのみを指定することをおすすめします。Claude Code のように、動作が異なるクライアントもあります。詳細は以下をご覧ください。
Cursor IDE との統合
サーバーを Cursor IDE の設定ファイル(~/.cursor/mcp.json)に追加します。
{
"mcpServers": {
"gcore-mcp-server": {
"command": "uvx",
"args": ["--from", "gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git", "gcore-mcp-server"],
"env": {
"GCORE_API_KEY": "4***1",
"GCORE_TOOLS": "instances,management,cloud.gpu_baremetal.clusters.*"
}
}
}
}
Claude Code との統合
サーバーを Claude Code の設定ファイル(~/.claude.json)に追加します。
{
"mcpServers": {
"gcore-mcp-server": {
"command": "uvx",
"args": ["--from", "gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git", "gcore-mcp-server"],
"env": {
"GCORE_API_KEY": "4***1",
"GCORE_TOOLS": "*"
}
}
}
}
GCORE_TOOLS=* を設定すると、利用可能なすべてのツールが読み込まれます。Claude Code では Tool Search 機能により、これは効果的に動作します。他のクライアントとは異なり、Claude Code はツールスキーマの読み込みを遅延させ、クエリに合致した場合にのみスキーマを取得します。そのため、多数のツールを登録してもコンテキストウィンドウが圧迫されません。
Claude Code は、ツールがコンテキストウィンドウの 10% を超えると警告を表示します。読み込みが遅延されるため、すべてのツールを有効にしても問題ありません。
uvx コマンドを使うと、永続的にインストールすることなく、一時的な環境でサーバーを実行できます。詳しくは一時的な環境での実行(単発実行)をご覧ください。
注記: Gcore API キーの取得方法については、こちらをご覧ください。
任意の変数:
GCORE_BASE_URL: "https://api.gcore.com",GCORE_CLOUD_PROJECT_ID: "1",GCORE_CLOUD_REGION_ID: "76",GCORE_CLIENT_ID: "2",GCORE_ALLOWED_HOSTS: ""(HTTP トランスポートのみ。ループバック名は常に許可されます)GCORE_ALLOWED_ORIGINS: ""(HTTP トランスポートのみ)
HTTP transport security
HTTP トランスポート(GCORE_TRANSPORT=http)は、MCP Streamable HTTP 仕様の要件に従い、すべてのリクエストの
Host ヘッダーと Origin ヘッダーを検証します。
これにより、オペレーターがアクセスした Web ページが、DNS リバインディングを使って
ループバックにバインドされたリスナーにアクセスするのを防ぎます。
GCORE_ALLOWED_HOSTSは、追加のホスト名を指定するカンマ区切りのリストで、 グロブパターンとして照合されます。両側のポートは無視されるため、ホスト名だけを指定してください (mcp.internal:8000ではなくmcp.internal)。組み込みのホスト名127.0.0.1、localhost、::1と、リスナーがバインドされている具体的なアドレスは 常に許可されます。それ以外のHostは421 Misdirected Requestで拒否されます。GCORE_ALLOWED_ORIGINSは、追加のブラウザーオリジンを指定するカンマ区切りのリストで、 こちらもグロブパターンとして照合されます。これに加えて FastMCP は、リクエスト自身のオリジンとHostがループバックの場合のすべてのループバックオリジンを常に許可します。つまり、 マシン上で実行中の別の Web アプリは信頼されますが、攻撃者のドメインにある DNS リバインディングされた ページは信頼されません。それ以外のOriginは403で拒否されます。Originヘッダーのないリクエスト(ブラウザー以外の MCP クライアントで一般的なもの)には影響しません。 FastMCP の既知の制限事項:http://[::1]:3000のような IPv6 リテラルのオリジンは、 角括弧がグロブ構文として解釈されるため、許可リストに登録できません。
検証には FastMCP のホスト/オリジンガードを厳格モードで使用します。このサーバーは、バインドアドレスに
かかわらず、HTTP トランスポートでこのモードを有効にします。このポリシーを適用するのは
gcore-mcp-server エントリーポイントだけです。別のランナー(fastmcp run …:mcp など)から
モジュールの mcp オブジェクトを読み込んでも適用されません。
従来の SSE トランスポートはサポートされておらず、GCORE_TRANSPORT=sse を指定すると起動を拒否します。
FastMCP は SSE アプリにこの検証を適用しないため、SSE リスナーが検証なしで実行されてしまうためです。
HTTP トランスポートは、クライアントを認証しません。リスナーにアクセスできる人なら誰でも、
サーバーの GCORE_API_KEY を使って有効なすべてのツールを呼び出せます。ループバックにバインドし、
信頼できないネットワークには公開しないでください。
Configuration
Tool Selection
サーバーは、環境変数 GCORE_TOOLS を使った統一的な設定方式を採用しています。この単一の変数には、
定義済みのツールセット名とカスタムパターンを組み合わせて指定できます。
# Mixed toolsets and patterns
export GCORE_TOOLS="instances,management,cloud.gpu_baremetal.clusters.*,dns.records.create"
# Only toolsets
export GCORE_TOOLS="instances,management"
# Only patterns
export GCORE_TOOLS="cloud.*,waap.*"
# Default behavior (if not set)
# Uses "management,instances" toolsets for HTTP mode, "management" for stdio
Configuration Modes
-
デフォルトモード(設定なし)
- HTTP トランスポート:
management,instancesツールセットを使用します - stdio トランスポート:
managementツールセットを使用します
- HTTP トランスポート:
-
ツールセットモード(定義済みのツールコレクション)
- 定義済みのツールセット名を使用します:
instances、management、ai_mlなど - 例:
GCORE_TOOLS="instances,management"
- 定義済みのツールセット名を使用します:
-
パターンモード(カスタムのツールフィルタリング)
- ワイルドカードパターンを使って、Gcore SDK のツール名に一致させます
- 完全一致:
cloud.instances.create、dns.records.delete - ワイルドカード一致:
cloud.*、waap.*、cloud.gpu_baremetal.clusters.* - 例:
GCORE_TOOLS="cloud.instances.*,waap.*"
-
組み合わせモード(ツールセット+パターン)
- 定義済みのツールセットとカスタムパターンを組み合わせます
- ツールセットの定義はパターン一致より優先されます
- 例:
GCORE_TOOLS="instances,cloud.gpu_baremetal.clusters.*"
Available Toolsets
一般的なワークフロー向けに、複数の定義済みツールセットが用意されています。
management:アカウントとプロジェクトの基本的な管理instances:仮想マシンの操作baremetal:ベアメタルサーバーの操作gpu_baremetal:GPU ベアメタルクラスターの管理gpu_virtual:GPU 仮想クラスターの管理networking:ネットワーク、Floating IP、ロードバランサーsecurity:セキュリティグループ、SSH キー、シークレットstorage:ボリューム、ファイル共有ai:AI クラスターai_ml:AI/ML 推論サービスbilling:コストレポートと請求情報containers:コンテナーレジストリcdn:CDN リソース、オリジングループ、証明書、キャッシュ管理cleanup:削除とクリーンアップの操作list:一覧表示/読み取り専用の操作
パターン構文
パターンでは、* を使ったワイルドカードマッチングをサポートしています。
- 完全一致:
cloud.instances.createは、その特定のメソッドのみと一致します - ワイルドカード一致:
cloud.instances.*は、すべてのインスタンスメソッドと一致します - 広範なワイルドカード:
cloud.*は、すべてのクラウドサービスメソッドと一致します - サービス固有:
waap.*は、すべての WAAP メソッドと一致します
優先順位システム
複合モードを使用する場合:
- ツールセットのツールが最初に含まれます(最優先)
- パターンに一致するツールが次に追加されます
- 重複は順序を維持したまま削除されます
- ツールセットの定義は、パターン一致よりも優先されます
例
# Development: Get specific tools for testing
export GCORE_TOOLS="cloud.instances.create,cloud.instances.delete,cloud.volumes.create"
# Full cloud management
export GCORE_TOOLS="management,instances,storage,networking"
# GPU cluster operations with custom additions
export GCORE_TOOLS="gpu_baremetal,cloud.instances.create,waap.*"
# All services with wildcard
export GCORE_TOOLS="cloud.*,waap.*"
# Minimal setup
export GCORE_TOOLS="instances"
一時的な環境で実行する(一度限りの実行)
永続的にインストールせずにサーバーを実行したい場合(たとえば、簡単なテストや一度だけ使用する場合)は、uvx を使用できます。このコマンドはパッケージを取得し、一時的な環境で指定されたスクリプトを実行してから、その環境を破棄します。
main ブランチの最新バージョンを実行するには:
uvx --from "gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git" gcore-mcp-server
特定のバージョン(例:v0.1.1)を実行するには:
uvx --from "gcore-mcp-server@git+https://github.com/G-Core/[email protected]" gcore-mcp-server
コマンドを実行する前に、必要な環境変数(GCORE_API_KEY、GCORE_TOOLS など)を設定してください。
永続的なインストール(ツールとしてインストール)
uv の詳細なインストール手順については、公式の uv インストールガイドを参照してください。
uv を使用して gcore-mcp-server をコマンドラインツールとしてインストールできます。これにより、毎回ソースを指定しなくても、ターミナルからコマンドをグローバルに利用できるようになります。
main ブランチの最新バージョンをインストールするには:
uv tool install "gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git"
特定のバージョン(例:v0.1.0)をインストールするには:
uv tool install "gcore-mcp-server@git+https://github.com/G-Core/[email protected]"
インストール後、uv によって gcore-mcp-server コマンドが利用可能になります。すぐに見つからない場合は、uv tool update-shell を実行するか、uv のツール用 bin ディレクトリが PATH に含まれていることを確認してください。
インストール後は、ほかのコマンドと同じように実行できます。
gcore-mcp-server
開発
ローカル開発環境のセットアップ
# Clone the repository
git clone https://github.com//G-Core/gcore-mcp-server.git
cd gcore-mcp-server
# Install development dependencies
uv venv
source .venv/bin/activate
uv sync --dev
デバッグとテスト
デバッグと開発には、MCP Inspector の使用をおすすめします。
npx @modelcontextprotocol/inspector
MCP Inspector では、ウェブインターフェースを使って MCP サーバーを対話的にテストおよびデバッグできます。次の操作が可能です。
- 利用可能なツールとそのスキーマを確認する
- さまざまなパラメーターでツール呼び出しをテストする
- クライアントとサーバー間の通信をリアルタイムで確認する
- 認証や接続の問題をデバッグする
ローカル開発サーバーで使用するには:
- MCP サーバーをローカルで起動します
- Inspector を実行し、サーバーに接続します
- ウェブインターフェースを使用してツールをテストします
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。