mcpField
G
Gcore Cloud Mcp Server

Gcore Cloud Mcp Server

ローカル
github.com/G-Coreクラウド・インフラ115 日前に更新

Gcore Cloud Mcp Server について

LLM クライアントから Gcore Cloud API を利用するための MCP サーバーです。定義済みツールセットやパターンで API ツールを選び、公開する機能を絞れます。

主な機能

  1. 01インスタンスとクラウドリソースの管理
  2. 02ツールセットまたはワイルドカードによる選択
  3. 03GPU とベアメタル操作
  4. 04API 認証情報とプロジェクト設定
  5. 05HTTP Host と Origin ヘッダーの検証

活用シーン

  1. 01仮想マシン操作の管理
  2. 02クライアントに必要なクラウドツールの選択
  3. 03GPU クラスターリソースの操作

MCP 対応

選択した Gcore API 機能を MCP クライアント向けのツールとして公開します。GCORE_TOOLS で利用可能なツールを設定でき、stdio と保護された HTTP トランスポートに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"gcore": {
"command": "uvx",
"args": [
"gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git"
],
"env": {
"GCORE_API_KEY": "<GCORE_API_KEY>",
"GCORE_TOOLS": "<GCORE_TOOLS>"
}
}
}
}
起動コマンドuvx 'gcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git'
設定が必要な環境変数
GCORE_API_KEYシークレット
GCORE_TOOLS

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypigcore-mcp-server@git+https://github.com/G-Core/gcore-mcp-server.git

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Gcore MCP サーバー

FOSSA Status

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
  1. デフォルトモード(設定なし)

    • HTTP トランスポート:management,instances ツールセットを使用します
    • stdio トランスポート:management ツールセットを使用します
  2. ツールセットモード(定義済みのツールコレクション)

    • 定義済みのツールセット名を使用します:instances、management、ai_ml など
    • 例:GCORE_TOOLS="instances,management"
  3. パターンモード(カスタムのツールフィルタリング)

    • ワイルドカードパターンを使って、Gcore SDK のツール名に一致させます
    • 完全一致:cloud.instances.create、dns.records.delete
    • ワイルドカード一致:cloud.*、waap.*、cloud.gpu_baremetal.clusters.*
    • 例:GCORE_TOOLS="cloud.instances.*,waap.*"
  4. 組み合わせモード(ツールセット+パターン)

    • 定義済みのツールセットとカスタムパターンを組み合わせます
    • ツールセットの定義はパターン一致より優先されます
    • 例: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 メソッドと一致します
優先順位システム

複合モードを使用する場合:

  1. ツールセットのツールが最初に含まれます(最優先)
  2. パターンに一致するツールが次に追加されます
  3. 重複は順序を維持したまま削除されます
  4. ツールセットの定義は、パターン一致よりも優先されます
例
# 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 サーバーを対話的にテストおよびデバッグできます。次の操作が可能です。

  • 利用可能なツールとそのスキーマを確認する
  • さまざまなパラメーターでツール呼び出しをテストする
  • クライアントとサーバー間の通信をリアルタイムで確認する
  • 認証や接続の問題をデバッグする

ローカル開発サーバーで使用するには:

  1. MCP サーバーをローカルで起動します
  2. Inspector を実行し、サーバーに接続します
  3. ウェブインターフェースを使用してツールをテストします

ライセンス

FOSSA Status

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。