Token导航 LogoToken导航TokenDH.com
DOREMUS MCP logo
数据服务未说明官方级别未说明来源级核验

DOREMUS MCP

MCP Server

一个基于Model Context Protocol (MCP)的服务器,用于通过SPARQL在知识图谱上进行代理检索,支持实体发现、查询构建、过滤和执行等功能。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
知识图谱Python数据分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SimoneFassio

提供方

SimoneFassio

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

DOREMUS音乐知识图谱-MCP服务器

A. 模型上下文协议(MCP) 用于通过基于SPARQL的知识图(默认为DOREMUS)进行代理检索的服务器。服务器暴露了一小部分 本体无关工具 LLM可以调用这些函数来迭代构建有效的SPARQL(实体发现、查询构建、过滤、执行)。

Overall Server Architecture

虽然主要使用DOREMUS进行测试(https://data.doremus.org),此代码库旨在通过更改配置+查询模板来适应任何SPARQL端点。

______________________________________________________________________

目标

1) 基于知识图的代理检索(通过MCP)

提供一个MCP服务器,让LLM:

  • 解析实体(例如作曲家、作品),
  • 逐步构建SPARQL,
  • 稳健地执行查询(超时、重试、安全检查),
  • 通过将操作约束到工具/模板来避免模式幻觉。

核心入口点: src.server.main (FastMCP服务器+工具注册)。

2) 模板驱动、本体无关的查询构造

使用可重复使用的 .rq 模板+策略,将用户意图映射到图形模式,并使工具API在本体中保持稳定。

模板引擎: server.template_parser\ 查询状态生成器: server.query_container.QueryContainer

3) 可重复评估+消融

运行评估实验(LangSmith支持)并绘制以下图:

  • 精度,
  • 成本/延迟权衡,
  • 准确性取决于问题的复杂性,
  • 错误类型细分,
  • 工具配置比较,
  • 取样/干运行消融。

评估跑者: evaluators.test_query\ 分析: evaluators.analyze_runs\ 绘图生成: evaluators.create_plots

______________________________________________________________________

项目总体结构

DOREMUS_MCP/
├── src/
│   ├── server/                         # MCP server implementation
│   │   ├── config/                     # Endpoint + tool + strategy config + templates
│   │   │   ├── templates/              # SPARQL templates (.rq)
│   │   │   ├── server_config.yaml
│   │   │   ├── strategies.yaml
│   │   │   └── tools.yaml
│   │   ├── main.py                     # FastMCP server + tools (HTTP routes, tool gating)
│   │   ├── tools_internal.py            # Tool implementations + query storage
│   │   ├── template_parser.py           # Template loading/validation
│   │   ├── query_container.py           # QueryContainer state machine + dry-run checks
│   │   ├── graph_schema_explorer.py     # Schema exploration helpers
│   │   └── utils.py                     # SPARQL execution, URI validation, helpers
│   └── rdf_assistant/                   # LangChain client/agent (used by evaluators)
│       ├── doremus_assistant.py
│       ├── extended_mcp_client.py
│       ├── prompts.py
│       └── eval/
│           ├── doremus_dataset.py       # Loads local .rq dataset files
│           └── split_dataset.py         # Computes complexity splits via hop-count heuristic
├── evaluators/                          # Evaluation pipeline scripts
│   ├── test_query.py                    # Main evaluation entry (LangSmith dataset -> runs -> metrics)
│   ├── analyze_runs.py                  # Extracts traces + metrics into experiments/*.json
│   ├── create_plots.py                  # Generates plots into data/evaluation/plots/
│   ├── run_tool_study.py                # Tool-config sweep (enables/disables tool subsets)
│   ├── run_ablation_study.py            # Sampling/dry-run ablation
│   ├── test_gemini_dataset.py           # Gemini CLI-based runner (optional)
│   └── export_human_readable.py         # Converts analysis JSON to readable .txt
├── eval_dataset/                        # Local dataset of .rq files (questions + gold SPARQL + metadata)
├── experiments/                         # Output folder for analysis JSON (from analyze_runs.py)
├── data/
│   ├── graph.csv                        # Graph used by path-finding tooling
│   └── evaluation/plots/                # Generated figures (see "Results" section)
├── docs/                                # Documentation & paper PDF
├── tests/                               # Unit tests
├── Dockerfile / docker-compose.yml
└── pyproject.toml

______________________________________________________________________

它是如何工作的(高级)

MCP服务器+工具门控

工具已在中注册 src.server.main 并且可以通过以下方式启用/禁用 MCP_ENABLED_TOOLS (CSV)。这用于工具研究(消融)。

查询构建是有状态的

每次运行都会操纵存储在中的服务器端查询状态 server.tools_internal.QUERY_STORAGE 使用 server.query_container.QueryContainer.

安全:干运行检查(可选)

在完全执行之前,可以使用以下命令检查查询的健全性 server.query_container.QueryContainer.dry_run_test 可通过以下方式禁用 ENABLE_DRY_RUN=false.

______________________________________________________________________

评估管道

典型的流程是:

  1. (可选)计算/刷新问题分割 (通过跳数计算复杂性):\

src.rdf_assistant.eval.split_dataset

  1. 将数据集上传到LangSmith (删除/重新创建):\

evaluators.create_dataset

  1. 运行评估 (代理调用MCP工具;计算指标):\

evaluators.test_query

  1. 分析痕迹 转换为紧凑的JSON用于绘图:\

evaluators.analyze_runs

  1. 生成绘图 进入 data/evaluation/plots/:\

evaluators.create_plots

评估员文件: 评估者/README.md

______________________________________________________________________

结果(来自 data/evaluation/plots/)

该存储库包括一个绘图管道,将实验总结成图表。以下图片是从以下位置加载的 data/evaluation/plots/ 并旨在作为实验的“论文式”总结。

准确性与一致性

该图应理解为 框架约束随机性的证据并非所有模型都“推理得同样好”。

  • 本文定义了 一致性分数 作为重复运行(三个独立实验;每个问题三次运行)的剪切反向标准偏差:\

一致性=剪辑(1.0−2.0×σ_问题,0.0,1.0)

  • 报告的范围(~82%–93%,基线>80%)被解释为验证 查询容器 方法:语法约束+工具端的“模拟运行”从LLM中卸载结构有效性。
  • 因此,当准确性下降时,论文将其主要归因于 复杂问题的推理局限性,而不是随机的语法/工具幻觉。

Accuracy vs Consistency

______________________________________________________________________

准确性与代币成本

此图说明了 代理检索的计算权衡 (准确性不是“免费的”)。

  • 高推理多面手模型(示例: gpt-4.1)倾向于更多 工具高效,使用较少的工具调用来隔离正确的模式路径。
  • “思维模式”(示例: gpt-5.2)明确贸易 提高精度的令牌效率,增加推理时间计算(从而增加成本/延迟),与“推理量表与推理时间计算”相一致。
  • 专业编码器模型可以通过更多地依赖于 迭代反馈回路,但可能会招致 令牌开销.

Accuracy vs Token Cost

______________________________________________________________________

准确性与延迟(平均工具调用)

本文将“延迟”视为 迭代/交互代理 而不是挂钟时间。

  • 核心要点是 迭代权衡:一些模型通过较少的调用快速收敛,而另一些模型需要更多的迭代(和更多的令牌)才能达到类似的精度。
  • 较小敏捷模型中的一个显著行为(例如: 小册子3:14b)是 并行工具调用(“批处理调用”),这通过一次测试多个模式假设来减少顺序探索时间。
  • 相比之下,其他架构可能会显示出高资源消耗,因为它们强烈依赖于反馈回路来收敛。

Accuracy vs Avg Tool Calls

______________________________________________________________________

问题复杂度的准确性

这张热图被用来论证 推理深度决定了硬度,特别是对于聚合和多跳遍历。

  • 表现最佳的模型定义了 “可解释性限制” 当前的代理框架(论文提到~85%在易),这意味着剩余的错误更多地反映了框架的局限性(例如,缺少工具、工具定义模糊、反馈粒度不足),而不是幻觉。
  • 该论文强调了 骤降 在硬/非常硬的地层中,激发了对 高推理时间计算 用于分析(聚合)和生成(多跳)查询。
  • 在Hard/Vvery Hard中,参数计数与最终精度呈正相关,但专业化很重要:编码器模型可以看起来更多 地层均匀 因为一些“硬”查询在语法上类似于模式(例如GROUP BY),但规模仍然可以提高工具使用精度(更大的编码器>更小的编码器)。
  • 据报道,“思维模式”有助于 可变冲突聚合范围,其中标准模型经常将路径或组混淆为错误的实体。

Accuracy Heatmap by Complexity

______________________________________________________________________

按型号划分的故障类型

堆叠的钢筋被框成 语义故障分类,因为语法错误在很大程度上是通过基于执行的验证(“模拟运行”)消除的。

  • II型(刀具漂移) 据报道,这是主要的错误模式:模型通常理解意图(低III型)和词汇(低I型),但很难选择最有效/最合适的工具策略。
  • I型(图式幻觉) 对于具有推理能力的模型(例如:gpt-5.2、qwen-480b)来说,这是最小的,支持工具定义+约束减少模式发明的说法。
  • 第三类(语义漂移) 被描述为跨架构的显著低;当它发生时,它通常是“格式分歧”(例如,URI与标签),而不是误解用户的问题。
  • 报纸呼吁 小册子3:14b 由于权衡,I型异常值较高:它通过积极主动的方式弥补了有限的推理 平行勘探,但失去了语义精度(更多的幻觉参数/假设)。

Failure Types

______________________________________________________________________

刀具配置研究(增量刀具贡献)

此图明确用于验证 工具不仅仅是方便,它是必要的 对于DOREMUS级别的本体论。

  • 基线“高级工具被拒绝”被视为不受约束的证据 探索性生成工作流程 (本体探索+一次性查询生成)不足;DOREMUS需要一种动态的、多步骤的代理方法。
  • 最大的收益来自 构建查询(BQ)添加滤镜(AF):

- 模板通过编码基本的RDF模式来减少幻觉。 - BQ的内部“轻量级分类器”被认为可以路由到正确的模板策略(例如,艺术家vs表情),提供稳定的骨架。

  • 添加 按数量筛选(FBQ) 通过抽象在直接生成中通常会导致语法错误的时间/数字模式(日期范围、ISO-8601持续时间),产生了另一个巨大的收益。
  • 添加组件约束(ACC) 被描述为结构关键:它通过递归/寻路逻辑实现“邻域检索”策略,让代理修剪模式并选择相关子图(例如插装)。
  • 高级“写访问”工具引入了 推理阈值:

- 对于高推理模型(例如:gpt-4.1), Groupby拥有(GH)添加三联件(AT) 帮助处理边缘情况并添加~+5% 最终精度。 - 对于较低的推理架构(例如:qwen3编码器30b),启用这些工具可以 降低性能 因为代理的增加会导致误用和语义错误。

Combined Config Accuracy

______________________________________________________________________

重现情节

假设MCP服务器正在运行并且配置了LangSmith:

# 1) Run evaluation experiments (writes runs to LangSmith)
poetry run python evaluators/test_query.py

# 2) Export a compact JSON into ./experiments/
poetry run python evaluators/analyze_runs.py ""

# 3) Generate plots into data/evaluation/plots/
poetry run python evaluators/create_plots.py

工具研究扫描:

取样/干运行消融:

干运行行为: server.query_container.QueryContainer.dry_run_test

______________________________________________________________________

快速开始

使用Docker

docker-compose up --build

服务器URL(默认):

  • http://localhost:8000/mcp

地方发展(诗歌)

poetry install
poetry run python -m src.server.main

评估者/客户依赖关系:

poetry install --with eval
poetry run python evaluators/test_query.py

______________________________________________________________________

许可证/支持

此MCP服务器实现按原样提供,用于访问公开可用的DOREMUS知识图。

关于以下问题:

  • 此MCP服务器:在存储库中打开问题
  • DOREMUS数据/本体:联系DOREMUS项目
  • SPARQL端点: https://data.doremus.org/sparql/

目录标签

目录标签

知识图谱Python数据分析本地部署SPARQL检索代理检索查询构建实体发现

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP