mcpField
G
gdex-mcp

gdex-mcp

リモート
github.com/NCAR科学・教育04 週間前に更新
リポジトリ

gdex-mcp について

gdex-mcpは、MCPツールを通じてGDEX地球科学データポータルをLLMクライアントに公開します。データセットの検索やメタデータ、ファイルへのアクセス、ポータル指標、認証が必要なサブセット処理に対応します。

主な機能

  1. 01データセットの検索とメタデータ取得
  2. 02ファイル一覧とデータアクセスリンク
  3. 03ARCO変数へのアクセス
  4. 04ポータルおよびデータセット指標
  5. 05スタッフの連絡先検索
  6. 06認証付きサブセットリクエスト

活用シーン

  1. 01地球科学データセットとメタデータの検索
  2. 02ファイルとデータアクセスリンクの特定
  3. 03ポータルまたはデータセット指標の確認
  4. 04データサブセット要求の送信と追跡

MCP 対応

gdex-mcpはGDEX REST APIをMCPクライアント向けのツールとして公開します。ローカルstdioまたはstreamable HTTPで動作し、サブセット要求ツールにはGDEXトークンが必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gdex-mcp.k8s.ucar.edu/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

30
パラメーター型必須説明
limitintegerいいえ
querystringいいえ
offsetintegerいいえ

詳細

GDEX MCP Server

LLM クライアント向けのツールとして、GDEX (Geoscience Data Exchange)REST API を公開する MCP(Model Context Protocol)サーバーです。データセットの検索・メタデータ、ファイル一覧、データアクセスリンク、ARCO 変数、ポータル/データセットの指標、スタッフの連絡先、認証が必要なサブセットリクエストのワークフローを提供します。

ローカルでの実行

pip install -e .
gdex-mcp

次に、MCP クライアント(Claude Desktop、Claude Code など)が gdex-mcp コマンドを使用するように設定します。設定には環境変数または .env ファイルを使用します。詳しくは CLAUDE.md の「Configuration」セクションをご覧ください。ほとんどのツールは設定不要です。サブセットリクエスト用ツール(list_request_statuses、check_request_status、 get_request_files、submit_subset_request、submit_and_wait_for_request、 purge_request)を使用する場合に限り、GDEX_TOKEN を設定してください。

共有サービスとしての実行

GDEX_MCP_TRANSPORT=streamable-http(Dockerfile を参照)を設定すると、ローカルの stdio サブプロセスではなく、ネットワーク経由でアクセス可能なサービスとして実行できます。このモードでは、サブセットリクエスト用ツールを使用する呼び出し元は、共有の GDEX_TOKEN に依存するのではなく、リクエストごとに独自の GDEX トークンを Authorization: Token <token> ヘッダーで渡します。この仕組みについては、CLAUDE.md の「Two transports」セクションをご覧ください。

Docker

# Build the image
docker build -t gdex-mcp .

# Run the container
docker run -d --name gdex-mcp -p 8080:8080 gdex-mcp

MCP リクエストの送信先は http://localhost:8080/mcp です。

# Stop and remove the container
docker stop gdex-mcp && docker rm gdex-mcp

デプロイ

main への PR がマージされると、GitHub Actions ワークフローが起動し、テストスイート(pip install -e ".[test]" && pytest)を実行した後、新しい Docker イメージをビルドして Harbor(hub.k8s.ucar.edu/gdex_mcp/gdex-mcp)にプッシュします。アプリは app-chart/ の Helm チャートを使って Kubernetes にデプロイされます。gdex-web-services の規約に沿ったデプロイの仕組みについては、CLAUDE.md の「Deployment」セクションをご覧ください。

# Deploy with Helm
helm upgrade --install gdex-mcp ./app-chart -n <namespace>

# Deploy a test instance
helm upgrade --install gdex-mcp ./app-chart -n <namespace> --set testName=<your-name>

MCP Registry

gdex-mcp は、io.github.NCAR/gdex-mcp ではなく、io.github.rpconroy/gdex-mcp として公式の MCP Registry に公開されています(server.json を参照)。組織へのメンバーシップを公開にしても、NCAR 組織の名前空間での公開は 403 エラーで失敗し続けました。これは、レジストリの組織メンバーシップ確認に関する既知の未解決問題です(modelcontextprotocol/registry#1537 および #1649 を参照)。こちら側の問題ではなく、組織管理者側の GitHub OAuth App アクセス制限が原因と考えられています。.github/workflows/publish-mcp-registry.yaml は v* タグで新しいバージョンを公開します。このリポジトリは NCAR が所有しているため、GitHub OIDC ではなく PAT 認証(MCP_GITHUB_TOKEN シークレット)を使用しています。Actions OIDC は常に repository_owner: NCAR をアサートするため、個人の rpconroy 名前空間として認証できません。NCAR 組織へのアクセスが解決したら、io.github.NCAR/gdex-mcp に移行するには新しいレジストリエントリを公開し(レジストリには名前変更機能がありません)、ワークフローを login github-oidc に戻す必要があります。

ドキュメント

CLAUDE.md には、アーキテクチャ、ツールを追加する際に従う規約、2 つのトランスポートモード、デプロイについて詳しく記載されています。このリポジトリに変更を加える前にお読みください。

コメント

MCP は初めてですか?

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

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