groundcheck-mcp
Groundcheck — 验证,无需模型参与
一个 MCP 连接器,用于检查某个主张的依据是否真实——引文确实在页面上、arXiv id 能解析、代码确实打印了声称的内容、数字是正确的——在验证路径中没有任何语言模型。适用于任何 MCP 宿主:Claude、Gemini 或其他。
为什么做这个,以及为什么难
如今内置在助手里的每一次"事实核查"最终都是问第二个模型第一个模型是否正确。这并没有验证任何东西——它只是转移了错误,因为检查者也会产生幻觉。真正困难且少有人尝试的是基于现实而非另一个模型意见的验证。这个工具做的就是这件事,而且只做这件事。
诚实地说明范围,因为过度声称会违背初衷。 Groundcheck 确认主张所依赖的证据是真实的,并且确实如引述所说。它不判断主张在语义上是否真实——"这段引文在引用的页面上"是可检查的;"该页面的论证是正确的"则不可检查,再多的假装也无济于事。每个工具返回三种判定之一,并且宁可返回 unverifiable 也不猜测:
verdict | meaning |
| 依据已对照真实来源确认 |
| 来源存在且与主张矛盾(数字错误、引文缺失、id 失效、代码失败) |
| 没有来源,或需要本工具拒绝伪造的判断 |
Related MCP server: math-logic-mcp
工具
tool | verifies | how (no LLM) |
| 精确引文在页面上 | 获取页面,匹配文本 |
| arXiv id 或 DOI 可解析 | 查询 arXiv / Crossref,返回真实标题 |
| 代码打印了声称的内容 | 在子进程中运行,比较 stdout |
| 字符串/正则表达式在代码库中 | grep 文件,返回真实匹配行 |
| 算术正确 | 求值 AST(不用 |
每个结果都是 {status, method, evidence, detail}——evidence 是找到的具体事物(引文、stdout、匹配行、计算值),因此判定是可审计的,而不是黑盒。
它抓住了作者自己工作中的错误
check_citation 的存在是因为看似合理但伪造的 arXiv id 不断溜进研究文稿——一个看起来正确却解析不到任何东西的 id。check_math 的存在是因为硬件演示文稿中把 3.7 × 1400 写成了 8880(实际是 5180)。check_repo 是个人资料 README 主张检查器的泛化,该检查器对照来源仓库验证每一个引用的数字。每个工具都是一次真实发生的失败,被转化成了检查。
有一个值得报告的诚实小插曲:在测试时,我假设 arXiv 2606.01992 是伪造的,预期返回 refuted——工具返回了 checked。工具是对的,我错了:这是一篇真实的 2026 年 6 月论文。验证器在我自己的错误假设面前完成了它的工作,这正是将验证基于来源而非直觉的全部意义。
使用
pip install -e . # or: pip install -r requirements.txt
python -m pytest tests/ # 18 tests, no network needed (mocked transport)Claude / Claude Code — 添加到你的 MCP 配置:
{
"mcpServers": {
"groundcheck": { "command": "python", "args": ["-m", "src.groundcheck.server"] }
}
}Gemini CLI / 任何 MCP 宿主 — 相同的 stdio 服务器;将宿主的 MCP 配置指向 python -m src.groundcheck.server。MCP 正是让一个连接器同时服务两者的原因。
安全
check_code 会执行你给它的代码,在子进程中。它使用列表形式的 subprocess(无 shell,因此没有可注入的内容)并在超时时终止,但不与网络或文件系统隔离。只传入你自己会运行的代码。其他四个工具是只读的(HTTP GET、文件读取、算术)。
限制
依据,而非真相。 有意为之——见上文"范围"。
引文匹配是精确的(空白规范化后)。 意思相同的转述会返回
refuted,因为"意思相同"需要判断者,而判断者正是本工具拒绝充当的角色。匹配字面文本。JS 渲染的页面。
check_quote读取服务器提供的 HTML;由客户端 JavaScript 注入的引文不会被找到。它会安全失败(refuted),绝不会误报checked。仅支持 arXiv/Crossref 的引文。其他注册表尚未接入。
许可证
MIT — 见 LICENSE。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for verifying AI agent claims vs reality — single-transcript inline grounding-check that flags when an agent's response states facts not in the input context, when its code silently swallows exceptions and substitutes mock data, or when its multi-turn transcript contains contradictions or unverified completion claims. Sub-second, local, free, no API calls.41MIT
- AlicenseAqualityDmaintenanceMCP server that gives small LLMs verified symbolic-math & logic tools.62Apache 2.0
- AlicenseNot gradedqualityCmaintenanceAn MCP server that verifies whether a claim is actually supported by the source text at a given citation — independent of what the calling LLM asserts.MIT
- AlicenseNot gradedqualityAmaintenanceProvides an MCP server for storing and querying knowledge as verifiable claims, enforcing evidence-backed assertions with exact quotes and refusing paraphrases or unsupported relations.Apache 2.0
Related MCP Connectors
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aghasalim/groundcheck-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server