README
🚀 图数据库 MCP 服务器
本服务器基于模型上下文协议(Model Context Protocol),提供对 Ontotext GraphDB 的只读访问。它能助力大型语言模型(LLMs)探索 RDF 图,并针对 GraphDB 实例执行 SPARQL 查询。
🚀 快速开始
本图数据库 MCP 服务器允许大型语言模型(LLMs)探索 RDF 图并执行 SPARQL 查询。以下为你介绍其组件、配置、使用示例等内容。
✨ 主要特性
- 提供 Ontotext GraphDB 的只读访问,供大型语言模型使用。
- 具备多种工具,可执行 SPARQL 查询、列出可用图等。
- 提供仓库数据的多个视图,方便查看各类信息。
- 支持通过环境变量或命令行参数进行配置。
📦 安装指南
- 下载服务器代码到目标目录。
- 在终端中运行安装命令:
npm install - 启动服务器:
node dist/index.js <GraphDB Endpoint> <Repository Name>
💻 使用示例
基础用法
示例 1: 基本 SPARQL 查询
SELECT * WHERE { ?subject ?predicate ?object }
示例 2: 列出所有图
运行以下命令:
./listGraphs.sh
📚 详细文档
组件
工具
-
sparqlQuery
- 执行针对连接的 GraphDB 仓库的 SPARQL 查询
- 输入参数:
query(字符串):要执行的 SPARQL 查询graph(字符串,可选):指定的目标图 IRIformat(字符串,可选):响应格式(json、xml、csv)
- 所有查询均以只读模式执行
-
listGraphs
- 列出仓库中所有可用的图
- 无需输入参数
资源
该服务器提供仓库数据的多个视图:
-
类列表(
graphdb://<host>/repository/<repo>/classes)- 列出仓库中的所有 RDF 类及其计数
-
谓词(
graphdb://<host>/repository/<repo>/predicates)- 列出所有谓词(属性)及其使用次数
-
统计信息(
graphdb://<host>/repository/<repo>/stats)- 提供主题、谓词、宾语和三元组的计数
-
示例数据(
graphdb://<host>/repository/<repo>/sample)- 显示仓库中三元组的示例样本
-
图内容(
graphdb://<host>/repository/<repo>/graph/<graphUri>)- 提供特定图及其元数据的示例数据
配置
可以通过环境变量或命令行参数配置服务器:
环境变量配置
创建一个 .env 文件,内容如下:
GRAPHDB_ENDPOINT=http://localhost:7200
GRAPHDB_REPOSITORY=myRepository
GRAPHDB_USERNAME=username
GRAPHDB_PASSWORD=password
命令行参数配置
运行以下命令:
node dist/index.js http://localhost:7200 myRepository
命令行参数优先于环境变量。
与 Claude Desktop 的使用
要在 Claude Desktop 应用中使用此服务器,请在 claude_desktop_config.json 的 "mcpServers" 部分添加以下配置:
{
"mcpServers": {
"graphdb": {
"command": "node",
"args": [
"/path/to/mcp-server-graphdb/dist/index.js"
],
"env": {
"GRAPHDB_ENDPOINT": "http://localhost:7200",
"GRAPHDB_REPOSITORY": "myRepository",
"GRAPHDB_USERNAME": "username",
"GRAPHDB_PASSWORD": "password"
}
}
}
}
📄 许可证
此项目遵循 Apache 2.0 许可证。
微信扫一扫