mcpField
M
mcp-sparql

mcp-sparql

ローカル
github.com/daedalusデータベース019 週間前に更新

mcp-sparql について

mcp-sparqlは、RDFデータを扱うLLMワークフロー向けのSPARQLエンドポイント用MCPサーバーです。複数のクエリ形式、構文検証、エンドポイントのグラフやプレフィックスの確認に対応します。

主な機能

  1. 01SELECTクエリの表形式またはJSON出力
  2. 02ASK、CONSTRUCT、DESCRIBEクエリの実行
  3. 03実行せずにクエリ構文を検証
  4. 04名前付きグラフと一般的なプレフィックスの一覧
  5. 05タイムアウト、行数上限、HTTPヘッダーの設定

活用シーン

  1. 01Wikidataなどのデータセットの検索
  2. 02RDFエンティティが条件に合うかの確認
  3. 03実行前のSPARQLクエリ検証

MCP 対応

MCPクライアントにSPARQLクエリとエンドポイント探索のツールを提供し、一般的なプレフィックスをリソースとして公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"daedalus-mcp-sparql": {
"command": "uvx",
"args": [
"mcp-sparql"
]
}
}
}
起動コマンドuvx mcp-sparql

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

パッケージ
pypimcp-sparql0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-sparql — LLM 向けの SPARQL クエリ機能を提供する MCP サーバーです。

PyPI Python Ruff

mcp-name: io.github.daedalus/mcp-sparql

インストール

pip install mcp-sparql

使い方

MCP サーバーとして

MCP 設定に追加します(例:~/.config/claude/mcp.json)。

{
  "mcpServers": {
    "mcp-sparql": {
      "command": "mcp-sparql"
    }
  }
}
利用可能なツール
ツール説明
sparql_querySPARQL SELECT クエリを実行します(テーブルまたは JSON 形式で出力)
sparql_askSPARQL ASK クエリを実行します(ブール値を返します)
sparql_constructSPARQL CONSTRUCT クエリを実行します(Turtle または JSON-LD 形式で出力)
sparql_describeSPARQL DESCRIBE クエリを実行します(Turtle または JSON-LD 形式で出力)
sparql_validate実行せずに SPARQL クエリの構文を検証します
sparql_list_graphsSPARQL エンドポイント上の名前付きグラフを一覧表示します
sparql_get_prefixesSPARQL エンドポイントでよく使われるプレフィックスを取得します
例

Wikidata にクエリを実行する:

sparql_query:
  endpoint: "https://query.wikidata.org/sparql"
  query: "SELECT ?item ?itemLabel WHERE { ?item wdt:P31 wd:Q5 . ?item rdfs:label ?itemLabel . FILTER(LANG(?itemLabel) = 'en') } LIMIT 5"

エンティティが存在するか確認する:

sparql_ask:
  endpoint: "https://query.wikidata.org/sparql"
  query: "ASK { wd:Q42 wdt:P31 wd:Q5 }"

クエリを検証する:

sparql_validate:
  query: "SELECT ?s WHERE { ?s ?p ?o }"

名前付きグラフを一覧表示する:

sparql_list_graphs:
  endpoint: "https://query.wikidata.org/sparql"

よく使われるプレフィックスを取得する:

sparql_get_prefixes:
  endpoint: "https://query.wikidata.org/sparql"
リソース
リソースURI説明
共通プレフィックスsparql://common-prefixes標準的な SPARQL 名前空間プレフィックス

API

sparql_query

SPARQL SELECT クエリを実行します。

パラメーター:

  • endpoint (str):SPARQL エンドポイントの URL
  • query (str):SPARQL SELECT クエリ
  • timeout (int, default=30):クエリのタイムアウト(秒)
  • output_format (str, default="table"):"table" は Markdown 形式、"json" は JSON 形式で出力します
  • headers (dict, optional):認証用の HTTP ヘッダー
  • max_rows (int, default=1000):結果の最大行数
sparql_ask

SPARQL ASK クエリを実行します。"true" または "false" を返します。

sparql_construct

SPARQL CONSTRUCT クエリを実行します。RDF トリプルを返します。

追加パラメーター:

  • output_format (str, default="turtle"):"turtle" または "json"
sparql_describe

SPARQL DESCRIBE クエリを実行します。RDF の記述を返します。

sparql_validate

実行せずに SPARQL クエリの構文を検証します。

sparql_list_graphs

SPARQL エンドポイント上で利用可能な名前付きグラフを一覧表示します。

sparql_get_prefixes

SPARQL エンドポイントでよく使われるプレフィックスを取得します。

開発

git clone https://github.com/daedalus/mcp-sparql.git
cd mcp-sparql
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint + type check
prospector --with-tool ruff --with-tool mypy --with-tool pylint src/

コメント

MCP は初めてですか?

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

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