mcpField
M
mcp-graphql

mcp-graphql

ローカル
github.com/blurrah開発ツール40765 週間前に更新

mcp-graphql について

mcp-graphql は、LLM が GraphQL API を操作できるようにする MCP サーバーです。スキーマのイントロスペクションとクエリ実行を提供し、モデルが API を動的に把握して利用できます。ミューテーションは既定で無効です。

主な機能

  1. 01スキーマのイントロスペクションとスキーマリソース
  2. 02query-graphql によるクエリ実行
  3. 03環境変数によるエンドポイントとヘッダーの設定
  4. 04既定で無効なミューテーション(ALLOW_MUTATIONS で有効化)
  5. 05ローカルまたは URL 上のスキーマファイルへの対応

活用シーン

  1. 01LLM による GraphQL API の探索とクエリ実行
  2. 02Claude Desktop への GraphQL サービスの接続

MCP 対応

本プロジェクトは MCP サーバーであり、graphql-schema リソースと introspect-schema、query-graphql の 2 つのツールを MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"graphql": {
"command": "npx",
"args": [
"-y",
"mcp-graphql"
],
"env": {
"ENDPOINT": "<ENDPOINT>"
}
}
}
}
起動コマンドnpx -y mcp-graphql
設定が必要な環境変数
ENDPOINT

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

パッケージ
npmmcp-graphql

ツール

2

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
__ignore__booleanいいえこれは何も行いません

詳細

mcp-graphql

smithery badge

LLM が GraphQL API とやり取りできるようにする Model Context Protocol サーバーです。この実装では、スキーマのイントロスペクションとクエリの実行機能を提供し、モデルが GraphQL API を動的に検出して利用できるようにします。

mcp-graphql MCP server

使用方法

適切なエンドポイントを指定して mcp-graphql を実行すると、クエリのイントロスペクションが自動的に試みられます。

環境変数(1.0.0 での破壊的変更)

注: バージョン 1.0.0 以降、コマンドライン引数は環境変数に置き換えられています。

環境変数説明デフォルト
ENDPOINTGraphQL エンドポイントの URLhttp://localhost:4000/graphql
HEADERSリクエスト用ヘッダーを含む JSON 文字列{}
ALLOW_MUTATIONSミューテーション操作を有効にします(デフォルトでは無効)false
NAMEMCP サーバーの名前mcp-graphql
SCHEMAローカル GraphQL スキーマファイルまたは URL のパス(任意)-
例
# Basic usage with a local GraphQL server
ENDPOINT=http://localhost:3000/graphql npx mcp-graphql

# Using with custom headers
ENDPOINT=https://api.example.com/graphql HEADERS='{"Authorization":"Bearer token123"}' npx mcp-graphql

# Enable mutation operations
ENDPOINT=http://localhost:3000/graphql ALLOW_MUTATIONS=true npx mcp-graphql

# Using a local schema file instead of introspection
ENDPOINT=http://localhost:3000/graphql SCHEMA=./schema.graphql npx mcp-graphql

# Using a schema file hosted at a URL
ENDPOINT=http://localhost:3000/graphql SCHEMA=https://example.com/schema.graphql npx mcp-graphql

リソース

  • graphql-schema:サーバーは、クライアントがアクセスできるリソースとして GraphQL スキーマを公開します。これは、ローカルのスキーマファイル、URL でホストされているスキーマファイル、またはイントロスペクションクエリに基づくスキーマのいずれかです。

利用可能なツール

サーバーは、主に 2 つのツールを提供します。

  1. introspect-schema:このツールは GraphQL スキーマを取得します。スキーマにリソースとしてアクセスできない場合は、まずこれを使用してください。 ローカルのスキーマファイル、URL でホストされているスキーマファイル、またはイントロスペクションクエリのいずれかを使用します。

  2. query-graphql:エンドポイントに対して GraphQL クエリを実行します。デフォルトでは、ALLOW_MUTATIONS が true に設定されていない限り、ミューテーションは無効です。

インストール

Smithery 経由でのインストール

Smithery 経由で Claude Desktop に GraphQL MCP Server を自動的にインストールするには:

npx -y @smithery/cli install mcp-graphql --client claude
手動でのインストール

Claude に手動でインストールできます:

{
    "mcpServers": {
        "mcp-graphql": {
            "command": "npx",
            "args": ["mcp-graphql"],
            "env": {
                "ENDPOINT": "http://localhost:3000/graphql"
            }
        }
    }
}

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

LLM がデータベースやサービスのデータを変更できないようにするセキュリティ対策として、ミューテーションはデフォルトで無効になっています。本番環境でミューテーションを有効にする前に、慎重に検討してください。

独自のサーバー向けにカスタマイズする

これは、完全なイントロスペクションを可能にし、ユーザーが何でも(ミューテーションを含めて)実行できる、非常に汎用的な実装です。より具体的な実装が必要な場合は、独自の MCP を作成し、クライアントが特定のクエリフィールドや変数のみを入力できるようにツール呼び出しを制限することをお勧めします。参考としてご利用ください。

コメント

MCP は初めてですか?

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

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