mcpField
G
golden-dataset-mcp

golden-dataset-mcp

本地服务
github.com/nipunkhanderia开发工具019 周前更新

关于 golden-dataset-mcp

golden-dataset-mcp 将黄金数据集版本管理和 RAG 答案评估功能提供给 Agent 与 MCP 客户端。它使用 TF-IDF 相似度,无需 LLM API 密钥。

主要功能

  1. 01创建和编辑数据集条目
  2. 02提交不可变数据集版本
  3. 03比较版本间的变更
  4. 04用 TF-IDF 相似度评估答案
  5. 05无状态管理多个路径

适用场景

  1. 01维护 RAG 参考问答集
  2. 02跟踪发布间的数据集变更
  3. 03对照数据集评估流水线答案

MCP 相关

它将底层 `golden_dataset` 库的操作作为 MCP 工具提供,包括条目编辑、版本管理、状态查询和评估。每次调用都需指定 `dataset_path`,服务端不保存会话状态。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nipunkhanderia-golden-dataset": {
"command": "uvx",
"args": [
"golden-dataset-mcp"
]
}
}
}
启动命令uvx golden-dataset-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypigolden-dataset-mcp0.1.2

工具

9

收录的工具列表 · 更新于 3 周前

参数类型必填说明
inputobject是
input.namestring是数据集名称
input.descriptionstring否简短的数据集描述
input.dataset_pathstring是用于初始化数据集的目录

详细介绍

mcp-name: io.github.nipunkhanderia/golden-dataset-mcp

golden-dataset-mcp

一个封装了 golden-dataset-studio 的 MCP 服务,用于对 RAG/LLM 流水线进行版本控制的黄金数据集管理和语义评估。

这是现有 golden_dataset 库(DatasetStore、Evaluator)之上的轻量协议层。它不会重新实现任何逻辑,而是将该库现有的 Python API 作为 MCP 工具提供,以便 Agent(Claude Desktop、Claude Code 或任何 MCP 客户端)通过对话管理黄金数据集。

无需 LLM API 密钥。 评估使用 TF-IDF 余弦相似度(scikit-learn),而非调用 LLM。

为什么要将它作为独立软件包,而不是合并到 golden-dataset-studio?

golden-dataset-studio 是一个 CLI 工具,专为在终端中输入 golden add、golden commit 等命令的人设计。golden-dataset-mcp 将相同的底层操作作为 MCP 工具提供,让 LLM Agent 能够以编程方式调用这些操作,例如将其用于自动化 RAG 评估流水线。将它们作为独立的 PyPI 软件包,可以避免 CLI 用户被迫将 fastmcp 作为依赖项安装,同时也让 MCP 用户获得简洁、专注于协议的软件包。

工具

工具功能
init_dataset在指定路径初始化新数据集
add_entry向工作树添加问答对
update_entry编辑工作树中现有条目的字段
delete_entry从工作树中移除条目
list_entries列出工作树或已提交版本中的条目
commit_version将工作树快照保存为新的不可变版本
diff_versions显示两个版本之间新增、移除或更改的条目
evaluate_answers使用 TF-IDF 余弦相似度,根据某个版本对实际答案进行评分
dataset_status显示当前版本、工作树大小和版本历史

设计:每个工具都需要显式的 dataset_path

与操作当前工作目录的 CLI 不同,这里的每个工具都需要显式的 dataset_path 参数。这样可以确保服务在调用之间完全无状态,不会因隐藏的“当前数据集”会话状态而导致跟踪困难,也能安全地让一个服务实例管理多个数据集或同时为多个客户端提供服务。

安装

pip install golden-dataset-mcp

这会自动将 golden-dataset-studio 和 scikit-learn 作为依赖项安装。

在 Claude Desktop / Claude Code 中使用

{
  "mcpServers": {
    "golden-dataset": {
      "command": "golden-dataset-mcp"
    }
  }
}

无需设置环境变量,也无需 API 密钥或配置。

示例流程

1. init_dataset(dataset_path="./my-rag-eval", name="support-bot-eval")
2. add_entry(dataset_path="./my-rag-eval", question="...", answer="...")
   [repeat for each golden Q&A pair]
3. commit_version(dataset_path="./my-rag-eval", description="initial 50 questions")
4. [run your RAG pipeline, collect actual answers]
5. evaluate_answers(dataset_path="./my-rag-eval", actual_answers=[...])
   -> avg_semantic_similarity, per-entry scores, pass/fail

随着 RAG 流水线不断变化,在编辑后再次运行 commit_version,并使用 diff_versions 准确查看不同版本之间黄金数据集的变化。

与底层库的关系

golden-dataset-studiogolden-dataset-mcp
接口CLI(golden ...)MCP 工具
调用方输入命令的人LLM Agent / MCP 客户端
路径处理当前工作目录每次调用显式指定 dataset_path
依赖方向—依赖 golden-dataset-studio

如果你需要由人操作的 CLI,请直接使用 golden-dataset-studio。如果你希望由 Agent 来调用它,请使用此软件包。

开发

git clone https://github.com/nipunkhanderia/golden-dataset-mcp
cd golden-dataset-mcp
pip install -e ".[dev]"
pytest -v

验证 MCP 接口契约:

npx @modelcontextprotocol/inspector golden-dataset-mcp

局限

  • evaluate_answers 使用 TF-IDF 余弦相似度,与深层语义相比,它更擅长捕捉词汇重合。若要使用基于嵌入或 RAGAS 风格的指标,请直接调用底层库的 Evaluator.ragas_evaluate()(需要运行 pip install "golden-dataset-studio[ragas]" 安装;此版本未将其公开为 MCP 工具)。
  • 答案过短或仅由停用词组成时会报错。 scikit-learn 的 TF-IDF 向量化器会对 "4" 或 "the a an" 这类输入抛出 ValueError: empty vocabulary。避免使用只有一个词元的黄金答案,否则 evaluate_answers 可能会失败。
  • 所有状态均以 JSON/JSONL 文件形式存储在 <dataset_path>/.golden_dataset/ 下;此服务不会进行远程存储或同步。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。