返回市场
mcp服务器-氧化图

mcp服务器-氧化图

作者:identimoji2 星标更新:2025-11-06

项目介绍

Oxigraph MCP Server

一个用于 Oxigraph 的模型上下文协议(MCP)服务器。Oxigraph 是一个快速且轻量级的 RDF 三元组存储库,支持 SPARQL。

Oxigraph 是一个高性能的内存或基于文件的 RDF 图数据库,用 Rust 编写。此 MCP 服务器提供了一个与 Claude 友好的包装器,通过模型上下文协议访问 PyOxigraph(Oxigraph 的 Python 绑定)。

快速开始

安装

uv pip install mcp-server-oxigraph

最小 Claude Desktop 配置

在你的 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 服务器使用 PyOxigraph,这是 Oxigraph 的官方 Python 绑定。

支持的 RDF 格式

Oxigraph MCP 服务器支持以下 RDF 序列化格式:

格式文件扩展名MIME 类型支持命名图
Turtle.ttltext/turtle
N-Triples.ntapplication/n-triples
N-Quads.nqapplication/n-quads
TriG.trigapplication/trig
RDF/XML.rdfapplication/rdf+xml
N3.n3text/n3

你可以使用 oxigraph_get_supported_formats() 函数来获取这些信息。

默认存储配置

服务器管理两种类型的默认存储:

  1. 系统默认存储:位于 ~/.mcp-server-oxigraph/default.oxigraph
  2. 用户默认存储:通过设置 OXIGRAPH_DEFAULT_STORE 环境变量指定

启动时,服务器初始化这两种存储(如果已配置):

  • 系统默认存储始终会被创建
  • 如果指定了用户默认存储,也会被初始化
  • 如果指定了用户默认存储,则操作会使用该存储,否则使用系统默认存储

你不需要显式地创建或打开这些存储——它们会在服务器启动时自动初始化。所有未指定存储路径的操作都会使用适当的默认存储。

基本使用示例

配置完成后,你可以使用 Oxigraph MCP 工具在 Claude 中处理 RDF 数据:

  1. 将 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)
    
  2. 使用 SPARQL 查询

    oxigraph_query(query: "SELECT * WHERE { ?s ?p ?o } LIMIT 10")
    
  3. 导入和导出不同格式的 RDF 数据

    oxigraph_parse(data: "@prefix ex: <http://example.org/> . ex:a ex:b ex:c .", format: "turtle")
    oxigraph_serialize(format: "ntriples")
    oxigraph_get_supported_formats()
    
  4. 如需创建自定义存储

    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 语句的 NamedNode
  • oxigraph_create_blank_node:创建用于 RDF 语句的 BlankNode
  • oxigraph_create_literal:创建用于 RDF 语句的 Literal
  • oxigraph_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 许可证