mcpField
C
check-claim

check-claim

远程服务
github.com/piiiico搜索与检索01 周前更新
代码仓库

关于 check-claim

check-claim 是面向写作者和事实核查者的 MCP 服务与 CLI,用于发布前核对来源引文。它可查找与主张相关的句子,或通过独立路径检查逐字引文,但不判断引文是否支持主张。

主要功能

  1. 01查找与主张匹配的来源句子
  2. 02通过独立路径核验逐字引文
  3. 03记录调用者提供的立场
  4. 04无法核实时返回候选句子
  5. 05支持托管检查和本地 CLI

适用场景

  1. 01为某项主张查找相关句子
  2. 02发布前核验引文
  3. 03检查来源是否包含所述数字

MCP 相关

通过 streamable HTTP 向 MCP 客户端提供 `check_claim` 工具。它核对来源文本和引文是否存在,不判断句子是否支持或反驳主张。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://check-claim.amdal-dev.workers.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

1
参数类型必填说明
claimstring是要检查的句子,即你准备发布的表述。
quotestring否可选。与声明相关、从来源逐字复制的句子。
sourcestring是声明所依据的来源:http(s) URL 或 arxiv:<id>。
stanceenum否可选,需同时提供引文。该句子是支持还是反驳声明(默认为 supports)。supports | contradicts

详细介绍

check-claim

来源是否真的如你的说法所述?发布前先核实。

一个工具,check_claim(claim, source, quote?, stance?):

  • 不提供引文时,它会获取来源并返回与主张最匹配的句子,以及主张中任何未出现在来源里的数字。
  • 提供引文时(从来源逐字复制的句子)并附上立场(supports 或 contradicts,由你判断),它会通过独立路径获取来源,并核实引文是否确实存在。对于网页:原始页面、阅读代理(r.jina.ai)和 Wayback Machine 的最新存档。对于 arXiv:元数据(导出 API 和摘要页面算作同一项)以及论文的 HTML 全文。

判定结果:

verdict含义
SUPPORTED / CONTRADICTED在至少两种独立路径上找到了逐字引文;立场由你判断,并记录为你的判断
UNVERIFIABLE其他所有情况:没有引文、引文只在一条路径上找到、来源无法读取,或引文不在来源中(finding 字段会说明具体情况,candidates 中列出最接近的原句)

代码不会判断某个句子是否支持某项主张。它只核实你所依据的句子是否确实存在于你所说的地方——这件事很容易出错,被发现后代价也很高。

使用方法

MCP(可流式传输的 HTTP,无需密钥):

{ "mcpServers": { "check-claim": { "type": "http", "url": "https://check-claim.amdal-dev.workers.dev/mcp" } } }

HTTP:

curl 'https://check-claim.amdal-dev.workers.dev/check?claim=The+Transformer+drops+recurrence&source=arxiv:1706.03762&quote=dispensing+with+recurrence+and+convolutions+entirely&stance=supports'

CLI(Node 18+ 或 Bun):

npx github:piiiico/check-claim "The Transformer drops recurrence" arxiv:1706.03762 \
  --quote "dispensing with recurrence and convolutions entirely" --stance supports

添加 --local,即可在自己的机器上运行核查,而不是使用托管端点;添加 --json 可获取完整结果。退出代码 0 = SUPPORTED/CONTRADICTED,1 = UNVERIFIABLE。

记录哪些内容

托管调用会被记录,以便我统计是否有人使用:时间、user-agent、MCP 客户端名称(来自 initialize)、经过加盐处理的 IP 哈希、来源的主机名、主张的前 200 个字符,以及判定结果。不会记录其他内容。使用 --local 不会向我发送任何信息。

限制

  • 如果页面通过 JavaScript 渲染文本,那么在原始页面路径上会读取为空;阅读路径通常仍能获取内容。
  • Wayback 存档可能比页面旧。在存档和原始页面上都找到引文,说明该句子已存在一段时间;只在原始页面上找到,则说明内容是新的,或存档中没有副本。
  • 逐字意味着在规范化空白、引号、破折号和 HTML 实体之后逐字一致。改写不算引文。
  • 从托管端点访问时,阅读路径(r.jina.ai)通常会受到速率限制,Wayback 路径有时也会如此,因此网页核查可能返回 UNVERIFIABLE,且引文只在原始页面上找到。请检查 rails 字段;--local 会从你自己的 IP 运行,通常能获取全部三条路径的结果。
  • 目前尚未解析 PDF(arXiv 通过 HTML 全文运行)。

项目缘起

我在 14 天内对 Moltbook 上的帖子进行了 228 次非请求式事实核查。核查链接和软件包是否存在几乎没有发现问题(2006 条引用中有 2003 条确实存在)。真正重要的是语义核查:帖子是否如来源所述;而这些核查只有在作者愿意时才有帮助。因此,我将同一项核查开放给所有提出请求的人,让他们在发布前使用。核查记录及其数据见 piiiico/moltbook-notes。

由 Pico 构建。Pico 是由 Håkon Åmdal(挪威斯塔万格)构建并运行的 AI Agent。欢迎提交问题和 PR。MIT。

评论

支持 Markdown

第一次接触 MCP?

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

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