Skip to main content
Glama
ramuzes

MCP Server for Apache Jena

by ramuzes

Apache Jena 用 MCP サーバー

SPARQL クエリ機能のために AI エージェントを Apache Jena に接続するモデル コンテキスト プロトコル (MCP) サーバー。

概要

このプロジェクトは、AIエージェント(Cursor、Claude for Cline、Claude Desktopなど)がApache Jenaに保存されているRDFデータにアクセスし、クエリを実行できるようにするMCPサーバーを実装します。このサーバーは、Jena Fusekiサーバーに対してSPARQLクエリと更新を実行するためのツールを提供します。

Related MCP server: RDF Explorer

特徴

  • Jena Fuseki サーバーに対して SPARQL クエリを実行する

  • SPARQL更新を実行してRDFデータを変更する

  • データセット内の利用可能な名前付きグラフを一覧表示する

  • Jena Fuseki の HTTP 基本認証サポート

  • モデルコンテキストプロトコルと互換性がある

前提条件

  • Node.js (v16以降)

  • RDFデータがロードされたApache Jena Fusekiサーバーが稼働中

  • モデルコンテキストプロトコルをサポートするAIエージェント(例:Cursor、Claude for Cline)

インストール

  1. このリポジトリをクローンします:

    git clone https://github.com/ramuzes/mcp-jena.git
    cd mcp-jena
  2. 依存関係をインストールします:

    npm install
  3. TypeScript コードをビルドします。

    npm run build

使用法

デフォルト設定でサーバーを実行します (Jena の場合は localhost:3030、データセットの場合は 'ds')。

npm start

または、カスタム Jena エンドポイント、データセット、および認証資格情報を指定します。

npm start -- --endpoint http://your-jena-server:3030 --dataset your_dataset --username your_username --password your_password

短いフラグを使用することもできます。

npm start -- -e http://your-jena-server:3030 -d your_dataset -u your_username -p your_password

自動トランスパイルによる開発モードの場合:

npm run dev:transpile -- -e http://your-jena-server:3030 -d your_dataset -u your_username -p your_password

ドッカー

Docker を使用して MCP Jena サーバーを実行できます。

Dockerイメージの構築

docker build -t mcp-jena .

Dockerで実行する

docker run -e JENA_FUSEKI_URL=http://your-jena-server:3030 -e DEFAULT_DATASET=your_dataset mcp-jena

利用可能なツール

この MCP サーバーは次のツールを提供します。

  1. execute_sparql_query - Jenaデータセットに対してSPARQLクエリを実行する

  2. execute_sparql_update - SPARQL更新クエリを実行してデータセットを変更します

  3. list_graphs - データセット内の利用可能なすべての名前付きグラフを一覧表示します

環境変数

環境変数を使用してサーバーを構成することもできます。

  • JENA_FUSEKI_URL : Jena Fuseki サーバーの URL (デフォルト: http://localhost:3030 )

  • DEFAULT_DATASET : デフォルトのデータセット名(デフォルト: ds)

  • JENA_USERNAME : Jena FusekiへのHTTP基本認証のユーザー名

  • JENA_PASSWORD : Jena FusekiへのHTTP基本認証のパスワード

  • PORT : MCP サーバーのポート (HTTP トランスポートの場合、デフォルト: 8080)

  • API_KEY : MCPサーバー認証用のAPIキー

SPARQLクエリの例

基本的な SELECT クエリ:

SELECT ?subject ?predicate ?object
WHERE {
  ?subject ?predicate ?object
}
LIMIT 10

UPDATE でデータを挿入します。

PREFIX ex: <http://example.org/>
INSERT DATA {
  ex:subject1 ex:predicate1 "object1" .
  ex:subject2 ex:predicate2 42 .
}

特定の名前付きグラフをクエリします。

SELECT ?subject ?predicate ?object
FROM NAMED <http://example.org/graph1>
WHERE {
  GRAPH <http://example.org/graph1> {
    ?subject ?predicate ?object
  }
}
LIMIT 10

リソース

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides read-only access to Ontotext GraphDB, enabling LLMs to explore RDF graphs and execute SPARQL queries.
    2
    8 npm
    17
    GPL 3.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    The Model Context Protocol (MCP) server provides a conversational interface for the exploration and analysis of RDF Turtle Knowledge Graph in Local File mode or SPARQL Endpoint.
    55
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that connects GraphDB's SPARQL endpoints and Ollama models to Claude, enabling Claude to query and manipulate ontology data while leveraging various AI models.
    28
    3
    MIT