Oxigraph MCP Server について
Oxigraph MCP Serverは、MCPクライアントをSPARQL対応のRDFグラフストアであるPyOxigraphに接続します。ツールを通じて、ストア管理やクエリ、RDFのシリアライズを行えます。
主な機能
- 01メモリまたはファイルストアの管理
- 02RDFクアッドの追加・削除・検索
- 03SPARQLクエリと更新の実行
- 04RDF形式のインポートとエクスポート
- 05ストアのバックアップ・復元・最適化
活用シーン
- 01クエリ可能なグラフナレッジベースの構築
- 02RDFスキーマやセマンティックアプリの試作
- 03SPARQLによるデータ探索
- 04RDFデータのローカル保存
MCP 対応
ストア管理、RDFデータ操作、SPARQL、シリアライズなどのPyOxigraph操作を、MCPクライアント向けのツールとして提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Oxigraph MCP サーバー
高速で軽量な、SPARQL をサポートする RDF トリプルストアである Oxigraph 用の Model Context Protocol(MCP)サーバーです。
Oxigraph は、Rust で記述された高性能なインメモリまたはファイルベースの RDF グラフデータベースです。この MCP サーバーは、Model Context Protocol を通じて PyOxigraph(Oxigraph の Python バインディング)にアクセスするための、Claude に適したラッパーを提供します。
クイックスタート
インストール
uv pip install mcp-server-oxigraph
Claude Desktop の最小構成
以下を Claude Desktop の MCP 設定に追加します。
"oxigraph": {
"command": "uv",
"args": ["run", "mcp-server-oxigraph"],
"env": {}
}
デフォルトデータベースの設定(任意)
特定のデフォルトデータベースの場所を設定するには、OXIGRAPH_DEFAULT_STORE 環境変数を追加します。
"oxigraph": {
"command": "uv",
"args": ["run", "mcp-server-oxigraph"],
"env": {
"OXIGRAPH_DEFAULT_STORE": "~/.claude/my_knowledge_graph.oxigraph"
}
}
Oxigraph MCP を使う理由
Oxigraph MCP は、次の用途に最適です。
- ナレッジベースの迅速な構築:クエリ可能なグラフデータベースに構造化情報を保存します
- セマンティックアプリケーションのプロトタイピング:データモデルやクエリを対話形式でテストします
- スキーマ開発:RDF スキーマやオントロジーを設計し、テストします
- ローカルデータストレージ:外部サービスを使わずにデータを永続的に保持します
- SPARQL の検証:対話型環境で複雑な SPARQL クエリを試します
機能
この MCP サーバーは、次の機能を提供します。
- PyOxigraph への直接アクセス:PyOxigraph の機能を利用する、シンプルでステートレスなラッパー
- 複数ストアの管理:複数のファイルベースストアを作成、開き、管理します
- 包括的な RDF サポート:すべての主要な RDF データ型と操作を扱えます
- 完全な SPARQL 実装:適切に構造化された結果を使用して、クエリと更新を実行します
- 豊富なシリアライズオプション:主要な RDF 形式をすべてサポートします
Oxigraph について
Oxigraph は、Rust で実装されたオープンソースの RDF トリプルストアです。主な機能は次のとおりです。
- RocksDB を使用した高速なインメモリまたはファイルベースのストレージ
- SPARQL 1.1 のクエリと更新を完全にサポート
- W3C 標準に準拠
- さまざまな RDF シリアライズ形式をサポート
- 他のグラフデータベースと比較して、非常に少ないメモリ使用量
この MCP サーバーは、Oxigraph の公式 Python バインディングである PyOxigraph を使用します。
サポート対象の RDF 形式
Oxigraph MCP サーバーは、次の RDF シリアライズ形式をサポートします。
| 形式 | ファイル拡張子 | MIME タイプ | 名前付きグラフをサポート |
|---|---|---|---|
| Turtle | .ttl | text/turtle | いいえ |
| N-Triples | .nt | application/n-triples | いいえ |
| N-Quads | .nq | application/n-quads | はい |
| TriG | .trig | application/trig | はい |
| RDF/XML | .rdf | application/rdf+xml | いいえ |
| N3 | .n3 | text/n3 | いいえ |
oxigraph_get_supported_formats() 関数を使って、この情報をプログラムから取得できます。
デフォルトストアの設定
サーバーは、次の 2 種類のデフォルトストアを管理します。
- システムのデフォルトストア:
~/.mcp-server-oxigraph/default.oxigraphにあります - ユーザーのデフォルトストア:
OXIGRAPH_DEFAULT_STORE環境変数を設定して指定します
起動時に、サーバーは設定されている両方のストアを初期化します。
- システムのデフォルトストアは常に作成されます
- ユーザーのデフォルトストアが指定されている場合は、それも初期化されます
- ストアが指定されている場合はユーザーのデフォルトストアを使用し、指定されていない場合はシステムのデフォルトストアを使用します
これらのストアを明示的に作成したり開いたりする必要はありません。サーバーの起動時に自動的に初期化されます。ストアのパスを指定しないすべての操作では、該当するデフォルトストアが使用されます。
基本的な使用例
設定が完了したら、Claude で Oxigraph MCP ツールを使用して RDF データを扱えます。
-
デフォルトストアに RDF トリプルを追加します
oxigraph_create_named_node(iri: "http://example.org/subject") oxigraph_create_named_node(iri: "http://example.org/predicate") oxigraph_create_literal(value: "Object value") oxigraph_create_quad(subject: subject, predicate: predicate, object: object) oxigraph_add(quad: quad) -
SPARQL でクエリします
oxigraph_query(query: "SELECT * WHERE { ?s ?p ?o } LIMIT 10") -
異なる形式で RDF データをインポート、エクスポートします
oxigraph_parse(data: "@prefix ex: <http://example.org/> . ex:a ex:b ex:c .", format: "turtle") oxigraph_serialize(format: "ntriples") oxigraph_get_supported_formats() -
必要に応じてカスタムストアを作成します
oxigraph_create_store(store_path: "/path/to/my/custom.oxigraph") oxigraph_query(query: "SELECT * WHERE { ?s ?p ?o }", store_path: "/path/to/my/custom.oxigraph")
API ドキュメント
ストア管理機能
oxigraph_create_store:新しいストアを作成します(メモリ内またはファイルベース)。oxigraph_open_store:既存のファイルベースのストアを開きます。oxigraph_close_store:ストアを閉じ、マネージャーから削除します。oxigraph_backup_store:ストアのバックアップを作成します。oxigraph_restore_store:バックアップからストアを復元します。oxigraph_optimize_store:パフォーマンスを向上させるためにストアを最適化します。oxigraph_list_stores:管理対象のすべてのストアを一覧表示します。
注:ほとんどの操作は、store_path を指定しなくてもデフォルトのストアで実行できます。永続ストレージには、明確にするため、ファイルパスを store_path として使用することをおすすめします。
RDF データモデル機能
oxigraph_create_named_node:RDF ステートメントで使用する NamedNode を作成します。oxigraph_create_blank_node:RDF ステートメントで使用する BlankNode を作成します。oxigraph_create_literal:RDF ステートメントで使用する Literal を作成します。oxigraph_create_quad:Quad(グラフを任意で指定できるトリプル)を作成します。oxigraph_add:ストアにクアッドを追加します。oxigraph_add_many:複数のクアッドをストアに追加します。oxigraph_remove:ストアからクアッドを削除します。oxigraph_remove_many:ストアから複数のクアッドを削除します。oxigraph_clear:すべてのクアッドをストアから削除します。oxigraph_quads_for_pattern:パターンに一致するクアッドを検索します。
SPARQL 機能
oxigraph_query:ストアに対して SPARQL クエリを実行します。oxigraph_update:ストアに対して SPARQL 更新を実行します。oxigraph_query_with_options:カスタムオプションを指定して SPARQL クエリを実行します。oxigraph_run_query:ストアに対して SPARQL クエリまたは更新を実行します。
シリアライズ機能
oxigraph_parse:RDF データを解析し、ストアに追加します。oxigraph_serialize:ストアを文字列にシリアライズします。oxigraph_import_file:ファイルから RDF データをインポートします。oxigraph_export_graph:グラフをファイルにエクスポートします。oxigraph_get_supported_formats:サポートされている RDF 形式の一覧を取得します。
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。