MCP GraphDB について
MCP GraphDBは、Ontotext GraphDBリポジトリへの読み取り専用アクセスを提供し、RDFグラフの調査やSPARQLクエリを行うアプリケーション向けです。グラフ一覧に加え、リポジトリの構造、統計、サンプルデータも公開します。
主な機能
- 01読み取り専用SPARQLクエリの実行
- 02IRIによるグラフ指定と出力形式の選択
- 03リポジトリ内のグラフ一覧
- 04クラス、述語、統計リソースの公開
- 05リポジトリとグラフのサンプル表示
活用シーン
- 01RDFグラフ内の特定データの検索
- 02リポジトリのグラフと語彙の確認
- 03トリプル数とサンプルデータの確認
- 04LLMによるGraphDBの読み取り専用検索
MCP 対応
このMCPサーバーは、SPARQLクエリとグラフ一覧のツールをMCPクライアントに提供し、リポジトリの構造、統計、サンプルデータをリソースとして公開します。クエリは読み取り専用です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GraphDB MCP サーバー
Ontotext GraphDB への読み取り専用アクセスを提供する Model Context Protocol サーバーです。このサーバーを使用すると、LLM が RDF グラフを探索し、GraphDB インスタンスに対して SPARQL クエリを実行できます。
コンポーネント
ツール
-
sparqlQuery
- 接続先の GraphDB リポジトリに対して SPARQL クエリを実行します
- 入力:
query(string):実行する SPARQL クエリgraph(string, optional):対象とする特定のグラフ IRIformat(string, optional):レスポンス形式(json、xml、csv)
- すべてのクエリは読み取り専用モードで実行されます
-
listGraphs
- リポジトリで利用可能なすべてのグラフを一覧表示します
- 入力パラメーターは不要です
リソース
サーバーは、リポジトリのデータを複数の形式で提供します。
-
クラス一覧 (
graphdb://<host>/repository/<repo>/classes)- リポジトリ内で見つかったすべての RDF クラスとその件数を一覧表示します
-
述語 (
graphdb://<host>/repository/<repo>/predicates)- すべての述語(プロパティ)と使用回数を一覧表示します
-
統計情報 (
graphdb://<host>/repository/<repo>/stats)- 主語、述語、目的語、トリプルの件数を示します
-
サンプルデータ (
graphdb://<host>/repository/<repo>/sample)- リポジトリ内のトリプルのサンプルを表示します
-
グラフの内容 (
graphdb://<host>/repository/<repo>/graph/<graphUri>)- 特定のグラフのサンプルデータとメタデータを提供します
設定
.env ファイルを作成し、環境変数を使用してサーバーを設定できます。
GRAPHDB_ENDPOINT=http://localhost:7200
GRAPHDB_REPOSITORY=myRepository
GRAPHDB_USERNAME=username
GRAPHDB_PASSWORD=password
または、コマンドライン引数としてエンドポイントとリポジトリを指定できます。
node dist/index.js http://localhost:7200 myRepository
コマンドライン引数は環境変数より優先されます。
Claude Desktop での使用方法
このサーバーを Claude Desktop アプリで使用するには、claude_desktop_config.json の「mcpServers」セクションに次の設定を追加します。
{
"mcpServers": {
"graphdb": {
"command": "node",
"args": [
"/path/to/mcp-server-graphdb/dist/index.js"
],
"env": {
"GRAPHDB_ENDPOINT": "http://localhost:7200",
"GRAPHDB_REPOSITORY": "myRepository",
"GRAPHDB_USERNAME": "username",
"GRAPHDB_PASSWORD": "password"
}
}
}
}
値をお使いの GraphDB の設定に置き換えてください。
インストール
# Clone the repository
git clone https://github.com/keonchennl/mcp-server-graphdb.git
cd mcp-server-graphdb
# Install dependencies
yarn install
# Build the project
yarn build
SPARQL クエリの例
このサーバーで実行できる SPARQL クエリの例を示します。
- オントロジー内のすべてのクラスを一覧表示します。
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?class ?label
WHERE {
{ ?class a rdfs:Class } UNION { ?class a owl:Class }
OPTIONAL { ?class rdfs:label ?label }
}
ORDER BY ?class
- 特定のクラスのすべてのプロパティを一覧表示します。
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?property ?label ?range
WHERE {
?property rdfs:domain <http://example.org/YourClass> .
OPTIONAL { ?property rdfs:label ?label }
OPTIONAL { ?property rdfs:range ?range }
}
ORDER BY ?property
- クラスごとにインスタンス数を数えます。
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?class (COUNT(?instance) AS ?count)
WHERE {
?instance a ?class
}
GROUP BY ?class
ORDER BY DESC(?count)
ライセンス
この MCP サーバーは GPL-3.0 License のもとでライセンスされています。GNU GPL-3.0 License の利用規約に従うことを条件として、ソフトウェアを自由に使用、変更、再配布できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
