mcpField
R
RDF Explorer v1.0.0

RDF Explorer v1.0.0

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

RDF Explorer v1.0.0 について

RDF Explorer は、RDF(Turtle)ベースのナレッジグラフを対話形式で探索・分析する MCP サーバーです。ローカルファイルと SPARQL エンドポイントの両方に対応し、ナレッジグラフ研究や AI 向けデータ準備を想定しています。

主な機能

  1. 01ローカル Turtle ファイルと SPARQL エンドポイントの両モード
  2. 02SPARQL クエリの実行と結果の取得
  3. 03グラフデータの全文検索
  4. 04グラフ統計と トリプル数のカウント
  5. 05Schema リソースと探索用クエリテンプレート
  6. 06トリプルストアの接続ヘルスチェック

活用シーン

  1. 01自然言語でローカル RDF データセットを探索する
  2. 02DBpedia や Wikidata などの公開 SPARQL エンドポイントに問い合わせる
  3. 03AI アプリケーションからナレッジグラフの構造を分析する

MCP 対応

MCP サーバーとして、SPARQL・検索・統計のツールに加え、スキーマリソース、クエリテンプレート、プロンプトを MCP クライアントに公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

RDF Explorer v1.0.0

概要

ローカルファイルモードまたはSPARQLエンドポイントモードで、RDF(Turtle)ベースのナレッジグラフを探索・分析するための会話型インターフェースを提供するModel Context Protocol(MCP)サーバーです。このサーバーはAIアプリケーション(ホスト/クライアント)とRDFデータ間の通信を可能にし、SPARQLクエリを通じてグラフを探索し、グラフデータを分析します。ナレッジグラフの研究やAIデータの準備に最適なツールです。

コンポーネント

ツール

このサーバーはSPARQLクエリと検索機能を実装しています。

  • execute_on_endpoint

    • 外部エンドポイントでSPARQLクエリを直接実行します
    • 入力:
      • endpoint (str):クエリ対象のSPARQLエンドポイントURL。
      • query (str):実行するSPARQLクエリ。
      • ctx (Context):FastMCPのコンテキストオブジェクト。
    • 戻り値:改行区切りのクエリ結果、またはエラーメッセージ。
  • sparql_query

    • 現在のグラフまたはアクティブな外部エンドポイントでSPARQLクエリを実行します
    • 入力:
      • query (str):実行するSPARQLクエリ。
      • ctx (Context):FastMCPのコンテキストオブジェクト。
      • use_service (bool):ローカルモードでのフェデレーションクエリにSERVICE句を使用するかどうか(デフォルト:True)。
    • 戻り値:改行区切りのクエリ結果、またはエラーメッセージ。
  • graph_stats

    • グラフに関する統計情報を計算し、JSON形式で返します
    • 入力:
      • ctx (Context):FastMCPのコンテキストオブジェクト。
    • 戻り値:グラフ統計情報(トリプル数、一意な主語数など)を含むJSON文字列。
  • count_triples

    • グラフ内のトリプルを数えます。SPARQLエンドポイントモードでは無効です。代わりにカスタムプロンプトを使用してください。
    • 入力:
      • ctx (Context):FastMCPのコンテキストオブジェクト。
    • 戻り値:トリプル数を表す文字列、またはエラーメッセージ。
  • full_text_search

    • 独自構文を使用せずに、グラフまたはエンドポイントで全文検索を実行します。
    • 入力:
      • search_term (str):検索する語句。
      • ctx (Context):FastMCPのコンテキストオブジェクト。
    • 戻り値:改行区切りの検索結果、またはエラーメッセージ。
  • health_check

    • トリプルストア接続の状態を確認します。
    • 入力:
      • ctx (Context):FastMCPのコンテキストオブジェクト。
    • 戻り値:接続が正常な場合は「Healthy」、それ以外の場合は「Unhealthy: 」。
  • get_mode

    • RDF Explorerの現在のモードを取得します。ナレッジグラフやセマンティック技術のユーザーがデータソースを確認する際に便利です。
    • 入力:
      • ctx (Context):FastMCPのコンテキストオブジェクト。
    • 戻り値:モードとデータセットまたはエンドポイントを示すメッセージ。
リソース

サーバーは次のリソースを公開します。

  • schema://all:グラフからスキーマ情報(クラスとプロパティ)を取得します。

    • 戻り値:スキーマ要素(クラスとプロパティ)を改行区切りで示した文字列。
  • queries://{template_name}:名前を指定して、事前定義されたSPARQLクエリテンプレートを取得します。

    • 戻り値:SPARQLクエリ文字列、または「Template not found」。
  • explore://{query_name}:名前を指定して探索用SPARQLクエリを実行し、結果をJSONで返します。

    • query_name (str):探索用クエリの名前(例:「classes」、「relationships/URI」)。
    • 戻り値:クエリ結果のJSON文字列。
  • explore://report:探索用クエリのMarkdownレポートを生成します。

    • 戻り値:Markdown形式のレポート文字列。
プロンプト

サーバーは次のプロンプトを公開します。

  • analyze_graph_structure:スキーマデータを使用して、グラフ構造の分析を開始します。

    • 戻り値:グラフ構造の分析をガイドするメッセージのリスト。
  • find_relationships:指定された主語の関係を見つけるSPARQLクエリを生成します。

    • 戻り値:関係を見つけるSPARQLクエリ文字列。
  • text_to_sparql:トークン制限を確認しながら、テキストプロンプトをSPARQLクエリに変換して実行します。

    • prompt (str):SPARQLに変換するテキストプロンプト。
    • 戻り値:使用状況の統計情報を含むクエリ結果、またはエラーメッセージ。

セットアップ

設定

Claude Desktop へのインストール

開始する前に、Claude Desktop がインストールされていることを確認してください。

  1. 次の場所に移動します:Settings > Developer > Edit Config

  2. 次の内容を claude_desktop_config.json に追加します: MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json Windows の場合:%APPDATA%/Claude/claude_desktop_config.json

ローカルの RDF Turtle ファイルを使用するには、--triple-file 引数を指定した次のバージョンを使用します

{
  "mcpServers": {
    "rdf_explorer": {
      "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\server.py", "--triple-file", "your_file.ttl"]
    }
  }
}

SPARQL エンドポイントを使用するには、--sparql-endpoint 引数を指定した次のバージョンを使用します

{
  "mcpServers": {
    "rdf_explorer": {
      "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\server.py", "--sparql-endpoint", "https://example.com/sparql"]
    }
  }
}
  1. Claude Desktop を再起動し、グラフデータのクエリと探索を始めます。

  2. プロンプト:「RDF Explorer はどのモードで動作していますか?」

使用例

自然言語を使って RDF データを探索する例を紹介します。

ローカルファイルモードでのデータのクエリ

次のような質問をできます:

  • 「Sales 部門の従業員をすべて表示して」
  • 「最も年齢の高い顧客を上位 5 人見つけて」
  • 「先月、3 つを超える商品を購入したのは誰ですか?」
  • 「すべてのエンティティを一覧表示して」
  • 「DBpedia エンドポイントを使って、Michael Jackson の曲を 10 曲一覧表示して」
  • 「Wikidata エンドポイントを使って、都市を 5 つ一覧表示して」
  • 「トリプルを数えて」
  • 「グラフ構造を分析して」
  • 「Select ...」
  • 「'{text}' を検索して」
  • 「'{URI}' の関係を見つけて」
  • 「RDF Explorer はどのモードで動作していますか?」
SPARQL エンドポイントモードでのデータのクエリ

次のような質問をできます:

  • 「DBpedia エンドポイントを使って、Michael Jackson の曲を 10 曲一覧表示して」
  • 「Wikidata エンドポイントを使って、都市を 5 つ一覧表示して」
  • 「Select ...」
  • 「'{text}' を検索して」
  • 「'{URI}' の関係を見つけて」
  • 「RDF Explorer はどのモードで動作していますか?」

開発

# clone the repository
git clone https://github.com/emekaokoye/mcp-rdf-explorer.git
cd mcp-rdf-explorer

# setup a virtual environment
python -m venv venv
source venv/bin/activate
# windows: venv\Scripts\activate

# install development dependencies
pip install -r requirements.txt

# run tests
pytest test_rdf_explorer.py -v

ライセンス

この MCP サーバーは MIT License の下でライセンスされています。つまり、MIT License の利用規約に従うことを条件として、このソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリの ライセンス ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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