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のスキーマを定義する場合