remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides seamless access to any GraphQL API with automatic tool generation from schema introspection, supporting both queries and mutations with proper handling of complex types and variables.
GraphQL MCP サーバー
Claude AI を通じてあらゆる GraphQL API へのシームレスなアクセスを提供する、厳密に型指定された TypeScript モデル コンテキスト プロトコル (MCP) サーバー。
特徴
- 強く型付けされた: TypeScript で構築され、コードの品質と型の安全性が向上しています
- 動的GraphQL統合:自動ツール生成で任意のGraphQL APIに接続
- スキーマイントロスペクション: すべてのGraphQL操作をツールとして自動的に検出して公開します
- 完全なミューテーションサポート: GraphQLミューテーションを適切に処理するファーストクラスのサポート
- クエリとミューテーションのホワイトリスト: GraphQL 操作の公開を制御するためのオプションのホワイトリスト
- 豊富な型のサポート:複雑なGraphQL型、入力オブジェクト、変数を適切に処理します
- MCP標準準拠:シームレスなClaude統合を実現するモデルコンテキストプロトコル形式に準拠
- スマートクエリ生成:適切なフィールド選択による効率的なGraphQLクエリを構築します。
- 認証サポート: シンプルなAPIキー認証
リポジトリ構造
前提条件
- Node.js 18以降
- TypeScript 5.x 以降
- MCPサポート付きClaudeデスクトップ
- GraphQL API エンドポイント (指定されていない場合はデフォルトで Countries API になります)
インストール
オプション1: npmから
オプション2: リポジトリのクローン
クイックスタート
1. 環境変数を設定する
サンプル env ファイルをコピーし、GraphQL API の詳細で更新します。
GraphQL API エンドポイントとオプションの API キーを使用して.env.development
を編集します。
2. ビルドと実行
まず TypeScript コードをコンパイルします。
次にサーバーを実行します。
または、1 ステップでコンパイルして実行する提供されたスクリプトを使用します。
3. クロードデスクトップ統合
このサーバーを Claude Desktop 構成に追加します。
- サンプル設定をテンプレートとして使用します。Copy
- 設定を編集し、インストールを指すようにパスを更新します。Copy
- サーバーに接続するには、Claude Desktopを再起動してください。
これで、Claude Desktop で GraphQL 操作が利用可能なツールとして表示されるようになります。
ホワイトリスト作戦
セキュリティやパフォーマンス上の理由から、Claude に公開する GraphQL 操作(クエリとミューテーション)を制限したい場合があります。アクセス制御には 2 つの方法があります。
- ミューテーションの有効化/無効化: セキュリティ上の理由により、デフォルトではすべてのミューテーションが無効になっています。ミューテーションを有効にするには、以下の手順を実行してください。
- 操作のホワイトリスト: 利用できる特定の操作を指定できます。
ホワイトリストは次の 2 つの形式で指定できます。
- JSON 配列文字列として (上記参照):
"[\"query1\",\"query2\"]"
- カンマ区切りのリスト:
"query1,query2,query3"
重要:ホワイトリストの値は、実際のJSON配列オブジェクトではなく、文字列である必要があります。環境変数は常に文字列として渡されるため、上記のようにJSON文字列内の引用符を適切にエスケープする必要があります。
Claude Desktop 構成における正しい形式の例:
避けるべきよくある間違い:
特定の操作タイプに対してホワイトリストが提供されていない場合は、GraphQL スキーマからのそのタイプのすべての操作が利用可能になります。
使用例
データのクエリ
Claude Desktop に接続すると、次のようなコマンドを使用できます。
またはパラメータ付き:
ミューテーションの使用
ミューテーションの場合、クエリと区別するためにツールにmutation_
接頭辞が付きます。
あるいは、より複雑な突然変異:
ミューテーションはクエリと同じパターンに従いますが、GraphQL API でデータを変更できます。
ドキュメント
詳細については、以下を参照してください。
発達
サーバーに変更を加えるには:
src/graphql-mcp-server.ts
の TypeScript ソースを修正します。- TypeScriptコードをコンパイルします:
npm run build
- コンパイルされたサーバーを実行します:
node dist/graphql-mcp-server.js
npmへの公開
このパッケージを npm に公開するには:
パッケージには、 dist
ディレクトリに事前にビルドされた JavaScript ファイルが含まれるため、追加のビルド手順なしですぐに使用できます。
ライセンス
このプロジェクトは、Business Source License 1.1 (BSL 1.1) に基づいてライセンスされており、次のことが許可されています。
- 非商用利用:このソフトウェアは非商用目的であれば使用できます。
- 社内業務使用: このソフトウェアは、ホストまたは管理サービスとして第三者に提供しない社内業務に使用できます。
- オープンソース化: 2029年3月14日に、コードは自動的にMITライセンスに変換されます。
本ソフトウェアを商用利用(他者へのサービス提供を含む)するには、CTK Advisors からの商用ライセンスが必要です。詳細については、お問い合わせいただくか、ライセンスファイルをご覧ください。
BSL ライセンスは、オープンソースの可用性と持続可能な商用開発のバランスをとるように設計されており、非商用目的で誰もが無料でアクセスできるようにしながら、ソフトウェアを長期的にサポートおよび強化する能力を保護します。
This server cannot be installed
モデル コンテキスト プロトコルを通じて、Claude AI にあらゆる GraphQL API へのシームレスなアクセスを提供する TypeScript サーバー。