mcp-graphql

mcp-graphqlは、LLM(大規模言語モデル)がGraphQL APIと対話するためのModel Context Protocolサーバーです。この実装は、スキーマのイントロスペクションとクエリ実行機能を提供し、モデルがGraphQL APIを動的に発見し利用できるようにします。環境変数を使用して設定を行い、簡単に利用可能です。

GitHubスター

265

ユーザー評価

未評価

お気に入り

0

閲覧数

24

フォーク

43

イシュー

10

インストール方法
難易度
中級
推定所要時間
10-20
必要な環境
Node.js: 18.0.0以上
npm: 8.0.0以上
+1 more

インストール方法

インストール方法

前提条件

必要なソフトウェアとバージョンを明記してください。
Node.js: 18.0.0以上
npm: 8.0.0以上
Claude Desktop: 最新版

インストール手順

1. リポジトリのクローン

bash
git clone https://github.com/blurrah/mcp-graphql.git
cd mcp-graphql

2. 依存関係のインストール

bash
npm install

3. Claude Desktop設定

claude_desktop_config.jsonを編集してMCPサーバーを追加:
json
{
  "mcpServers": {
    "mcp-graphql": {
      "command": "npx",
      "args": ["mcp-graphql"],
      "env": {
        "ENDPOINT": "http://localhost:3000/graphql"
      }
    }
  }
}

4. サーバーの起動

bash
npm start

トラブルシューティング

よくある問題

問題: サーバーが起動しない 解決策: Node.jsのバージョンを確認し、依存関係を再インストールしてください。 問題: Claude Desktopで認識されない 解決策: 設定ファイルのパスと構文を確認してください。

設定方法

設定方法

基本設定

Claude Desktop設定

~/.config/claude-desktop/claude_desktop_config.json(macOS/Linux)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集:
json
{
  "mcpServers": {
    "mcp-graphql": {
      "command": "npx",
      "args": ["mcp-graphql"],
      "env": {
        "ENDPOINT": "http://localhost:3000/graphql"
      }
    }
  }
}

環境変数

必要に応じて以下の環境変数を設定:
bash
export ENDPOINT="http://localhost:3000/graphql"
export HEADERS='{"Authorization":"Bearer token123"}'
export ALLOW_MUTATIONS="true"

設定例

基本的な設定

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

使用例

使用例

基本的な使用方法

MCPサーバーの基本的な使用方法を以下に示します:

Claude Desktopでの使用

1MCPサーバーの起動確認
Claude Desktopを開き、設定が正しく読み込まれていることを確認してください。
2基本コマンドの実行

   ENDPOINT=http://localhost:3000/graphql npx mcp-graphql
   

プログラムでの使用

javascript
// JavaScript例(Node.js)
const { MCPClient } = require('@modelcontextprotocol/client');

const client = new MCPClient();
await client.connect();

// ツールの実行
const result = await client.callTool('query-graphql', {
  query: '{ yourQuery }'
});

console.log(result);

応用例

API統合

python

Python例

import requests import json def call_mcp_tool(tool_name, params): response = requests.post( 'http://localhost:3000/mcp/call', json={ 'tool': tool_name, 'parameters': params } ) return response.json()

使用例

result = call_mcp_tool('query-graphql', { 'query': '{ yourQuery }' })

使用ケース

ローカルGraphQLサーバーに接続してクエリを実行する場合
カスタムヘッダーを使用してAPIに認証情報を追加する場合
ミューテーション操作を有効にしてデータを変更する場合
ローカルスキーマファイルを使用してAPIのスキーマを定義する場合

追加リソース

作者情報
Boris Besemer

Field Eng @vercel

@vercelNijmegen Area, The Netherlands

49

フォロワー

59

リポジトリ

6

Gist

0

貢献数