Skip to main content
Glama
ramuzes

MCP Server for Apache Jena

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: Logseq MCP Tools

特徴

  • 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

リソース

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ramuzes/mcp-jena'

If you have feedback or need assistance with the MCP directory API, please join our Discord server