Oxigraph MCP服务器
一种模型上下文协议(MCP)服务器 Oxigraph,一个支持SPARQL的快速轻量级RDF三重存储。
Oxigraph是一个用Rust编写的基于内存或文件的高性能RDF图数据库。此MCP服务器提供了一个克劳德友好的包装器,用于通过模型上下文协议访问PyOxigraph(Oxigraphs的Python绑定)。
快速启动
安装
uv pip install mcp-server-oxigraph最小Claude桌面配置
将以下内容添加到您的Claude Desktop MCP配置中:
"oxigraph": {
"command": "uv",
"args": ["run", "mcp-server-oxigraph"],
"env": {}
}设置默认数据库(可选)
要设置特定的默认数据库位置,请添加 OXIGRAPH_DEFAULT_STORE 环境变量:
"oxigraph": {
"command": "uv",
"args": ["run", "mcp-server-oxigraph"],
"env": {
"OXIGRAPH_DEFAULT_STORE": "~/.claude/my_knowledge_graph.oxigraph"
}
}为什么使用Oxigraph MCP?
Oxigraph MCP非常适合:
- 快速构建知识库:将结构化信息存储在可查询的图形数据库中
- 原型语义应用程序:交互式测试数据模型和查询
- 模式开发:设计和测试RDF模式和本体
- 本地数据存储:在没有外部服务的情况下维护持久数据
- SPARQL勘探:在交互式环境中尝试复杂的SPARQL查询
特性
此MCP服务器提供:
- 直接访问PyOxigraph:PyOxigraph功能的干净、无状态包装器
- 多门店管理:创建、打开和管理多个基于文件的存储
- 全面的RDF支持:处理所有核心RDF数据类型和操作
- 完整的SPARQL实施:使用结构正确的结果执行查询和更新
- 丰富的序列化选项:支持所有主要的RDF格式
关于Oxigraph
Oxigraph 是一个用Rust实现的开源RDF三重存储。主要特征包括:
- 使用RocksDB进行快速内存或基于文件的存储
- 完整的SPARQL 1.1查询和更新支持
- 符合W3C标准
- 支持多种RDF序列化格式
- 与其他图形数据库相比,内存占用极低
此MCP服务器使用 血压计,Oxigraph的官方Python绑定。
支持的RDF格式
Oxigraph MCP服务器支持以下RDF序列化格式:
| 格式 | 文件扩展名 | MIME类型 | 支持命名图 |
|---|---|---|---|
| 海龟 | .ttl | 文本/海龟 | 否 |
| N-三元组 | .nt | 应用程序/N-三元组 | 否 |
| N-四边形 | .nq | 应用程序/N-四边形 | 是 |
| TriG | .TriG | 应用程序/TriG | 是 |
| RDF/XML | .RDF | 应用程序/RDF+XML | 否 |
| N3 | .N3 | 文本/N3 | 否 |
您可以使用编程方式检索此信息 oxigraph_get_supported_formats() 功能。
默认存储配置
服务器管理两种类型的默认存储:
- 系统默认存储:位于
~/.mcp-server-oxigraph/default.oxigraph - 用户默认存储:通过设置指定
OXIGRAPH_DEFAULT_STORE环境变量
启动时,服务器初始化两个存储(如果已配置):
- 始终创建系统默认存储
- 如果指定了用户默认存储,它也会被初始化
- 如果指定,操作将使用用户默认存储,否则使用系统默认存储
您不需要显式创建或打开这些存储,它们在服务器启动时会自动初始化。所有未指定存储路径的操作都将使用相应的默认存储。
基本使用示例
配置后,您可以使用Claude中的Oxigraph MCP工具来处理RDF数据:
- 将RDF三元组添加到默认存储中
oxigraph_create_named_node(iri: "http://example.org/subject")
oxigraph_create_named_node(iri: "http://example.org/predicate")
oxigraph_create_literal(value: "Object value")
oxigraph_create_quad(subject: subject, predicate: predicate, object: object)
oxigraph_add(quad: quad)- 使用SPARQL查询
oxigraph_query(query: "SELECT * WHERE { ?s ?p ?o } LIMIT 10")- 以不同格式导入和导出RDF数据
oxigraph_parse(data: "@prefix ex: . ex:a ex:b ex:c .", format: "turtle")
oxigraph_serialize(format: "ntriples")
oxigraph_get_supported_formats()- 如果需要,创建自定义商店
oxigraph_create_store(store_path: "/path/to/my/custom.oxigraph")
oxigraph_query(query: "SELECT * WHERE { ?s ?p ?o }", store_path: "/path/to/my/custom.oxigraph")API文档
店铺管理功能
oxigraph_create_store:创建新存储(基于内存或文件)oxigraph_open_store:打开现有的基于文件的存储oxigraph_close_store:关闭一个商店并将其从经理中删除oxigraph_backup_store:创建存储的备份oxigraph_restore_store:从备份还原存储oxigraph_optimize_store:优化商店以获得更好的性能oxigraph_list_stores:列出所有托管商店
注意:大多数操作将使用默认存储,而不需要指定store_path。对于持久存储,为了清楚起见,我们建议使用文件路径作为store_path。
RDF数据模型函数
oxigraph_create_named_node:创建一个用于RDF语句的NamedNodeoxigraph_create_blank_node:创建一个用于RDF语句的BlankNodeoxigraph_create_literal:创建一个用于RDF语句的Literaloxigraph_create_quad:创建一个四边形(带可选图形的三元组)oxigraph_add:将四边形添加到商店oxigraph_add_many:将多个四边形添加到存储中oxigraph_remove:从商店中删除四边形oxigraph_remove_many:从存储中删除多个四边形oxigraph_clear:从存储中删除所有四边形oxigraph_quads_for_pattern:查询与模式匹配的四边形
SPARQL函数
oxigraph_query:对存储执行SPARQL查询oxigraph_update:对存储执行SPARQL更新oxigraph_query_with_options:使用自定义选项执行SPARQL查询oxigraph_run_query:对存储运行SPARQL查询或更新
序列化函数
oxigraph_parse:解析RDF数据并添加到存储中oxigraph_serialize:将存储序列化为字符串oxigraph_import_file:从文件导入RDF数据oxigraph_export_graph:将图形导出到文件oxigraph_get_supported_formats:获取支持的RDF格式列表
许可证
MIT许可证
