imasparql (https://sparql.crssnky.xyz/spql/imas/query) を MCP として扱うためのアダプタ。
HTTPサーバーとしての利用と、Cursor等のMCPクライアントからの直接利用の両方に対応しています。
pnpm installstdio接続に対応したMCPクライアント(例: Cursor)の設定ファイルに、このプロジェクトの mcp-stdio.js を実行するコマンドを登録します。
例えばCursorの場合は、クライアントの設定ファイルに以下のように追加します:
{
"mcpServers": {
"imasparql": {
"command": "node",
"args": ["path/to/imasparql-mcp-server/mcp-stdio.js"]
}
}
}または、プロジェクトをグローバルインストールした場合:
pnpm install -g .{
"mcpServers": {
"imasparql": {
"command": "imasparql-mcp"
}
}
}クライアントを再起動すると、アイドルマスターのキャラクター情報を検索・取得できるツールが利用可能になります。
search_entities: キャラクター検索(名前、ブランド、身長、体重などで絞り込み可能)get_entity: 基本情報取得get_entity_details: 詳細情報取得get_entity_relations: 関連情報(所属ユニットなど)取得get_unit_members: ユニットに所属するメンバー(アイドル)を取得get_unit_members_by_name: ユニット名から所属メンバーを取得
pnpm devpnpm starthttp://localhost:3000/mcp にアクセスして動作確認。
docker build -t imas-mcp .
docker run -p 3000:3000 imas-mcpcurl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "search_entities",
"params": { "q": "春香" }
}'curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "get_entity",
"params": { "uri": "https://sparql.crssnky.xyz/imasrdf/RDFs/detail/天海春香" }
}'- Node.js (ES Modules)
- Express (HTTPサーバー)
- @modelcontextprotocol/sdk (MCP stdio通信)
- imasparql SPARQL エンドポイント