Skip to main content
Glama
ramuzes

MCP Server for Apache Jena

by ramuzes

Apache Jena 的 MCP 服务器

模型上下文协议 (MCP) 服务器将 AI 代理连接到 Apache Jena 以实现 SPARQL 查询功能。

概述

该项目实现了一个 MCP 服务器,允许 AI 代理(例如 Cursor、Claude for Cline 或 Claude Desktop)访问和查询存储在 Apache Jena 中的 RDF 数据。该服务器提供了针对 Jena Fuseki 服务器执行 SPARQL 查询和更新的工具。

Related MCP server: RDF Explorer

特征

  • 针对 Jena Fuseki 服务器执行 SPARQL 查询

  • 执行 SPARQL 更新以修改 RDF 数据

  • 列出数据集中可用的命名图

  • Jena Fuseki 的 HTTP Basic 身份验证支持

  • 与模型上下文协议兼容

先决条件

  • Node.js(v16 或更高版本)

  • Apache Jena Fuseki 服务器正在运行,并加载了您的 RDF 数据

  • 支持模型上下文协议的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

您可以使用 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 Basic 身份验证的用户名

  • JENA_PASSWORD :用于 Jena Fuseki 的 HTTP Basic 身份验证的密码

  • 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