mcpField
S
Second Read

Second Read

本地服务
github.com/sbanthia92生产力01 天前更新

关于 Second Read

Second Read 通过网络来源核查文章、博客和设计文档中的论点,构建反方论据并提出修改建议。它面向希望通过 MCP 客户端或命令行获得带来源审阅结果的写作者。

主要功能

  1. 01根据网络来源核查事实论点
  2. 02整理有来源支持的反方论据
  3. 03提出语法和清晰度修改建议
  4. 04标记可能匹配的在线文本
  5. 05生成结构化 Markdown 报告

适用场景

  1. 01核实草稿中的近期事实和具体数字
  2. 02审查设计文档的论点与结构
  3. 03在发布文章前寻找反方观点
  4. 04获取针对公开网页的来源标注修改建议

MCP 相关

它作为本地 stdio MCP 服务运行,提供 `review_document` 工具,接收草稿文本或公开网址并返回报告。服务使用用户自己的 Anthropic 和 Tavily API 密钥。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"sbanthia92-second-read": {
"command": "uvx",
"args": [
"second-read"
],
"env": {
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"TAVILY_API_KEY": "<TAVILY_API_KEY>"
}
}
}
}
启动命令uvx second-read
需要配置的环境变量
ANTHROPIC_API_KEY密钥Anthropic API key, used for the review's model calls
TAVILY_API_KEY密钥Tavily API key, used for web search

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

安装包
pypisecond-read0.1.4

工具

1

收录的工具列表 · 更新于 今天

参数类型必填说明
urlany否要获取并审阅的公开 http(s) 页面,替代 `content`。
focusany否可选的审阅指导,例如“检查财务数据”。
contentany否文档文本或 Markdown。请提供此项或 `url`,不能同时提供。
profileenum否`auto`(自动检测)、`opinion`(文章、评论文章、帖子)或 `design_doc`(技术设计和提案)。auto | opinion | design_doc

详细介绍

Second Read

Second Read 像细致的编辑一样审阅草稿,并展示其来源。你可以提供一篇文章、一篇博客文章或一份设计文档。它会返回一份报告:

  • 对照网络核查事实。 逐条查找每项主张;每处“这不对”都会附上佐证页面。
  • 最有力的反方论证。 反方论者会从检索到的来源中,为你的文章构建最有力的反面论据。
  • 文字编辑。 修正语法并提升清晰度,同时保留你的表达风格。
  • 原创性备注。 标出与网上文本高度相似的句子。

它作为 MCP 服务运行,提供一个工具 review_document,因此你可以在 Claude Code 或 Claude Desktop 中请求审阅。它也提供命令行工具。它在你的机器上运行,使用你自己的 API 密钥;不会向本项目的作者发送任何内容。

一项审查结果如下所示:

事实错误 — “Mjällby 于 2025 年 10 月 20 日在 IFK Göteborg 以 2-0 获胜,从而提前两轮锁定冠军”

日期、2-0 的比分和对手都已确认。ESPN 和 Flashscore 均表示当时还剩三轮(已赛 27 轮,共 30 轮),因此“提前两轮”是错误的。

所需条件

  • uv(会为你安装 Python 3.12)。
  • Anthropic API 密钥:ANTHROPIC_API_KEY。
  • Tavily 搜索密钥:TAVILY_API_KEY。
获取密钥

你需要两个密钥。每个密钥只需几分钟即可获取:注册、创建密钥并复制。

密钥获取方式
ANTHROPIC_API_KEY在 https://platform.claude.com 登录,在 Billing 下添加额度,然后在 API keys 下创建密钥(https://platform.claude.com/settings/keys)
TAVILY_API_KEY在 https://app.tavily.com 注册;密钥会显示在控制面板上

Anthropic 密钥按使用量付费:如果账户没有额度,审查会失败并显示清晰的提示。请勿在聊天中或版本控制中暴露密钥;将密钥放入 MCP 客户端的 env 块中,或按下方所示放入 .env 文件。

审查一篇 700 词的文章大约需要两分钟,并会使用你的模型密钥处理约 150,000–180,000 个 token(按 Anthropic 在 2026 年 10 月的标价,约为 $0.60–$1.20),此外还会进行约 30 次搜索。

安装:Claude Code

claude mcp add second-read \
  -e ANTHROPIC_API_KEY=your-key \
  -e TAVILY_API_KEY=your-key \
  -- uvx second-read

启动 Claude Code 时,请设置更长的工具超时时间,因为审查需要几分钟:

MCP_TOOL_TIMEOUT=600000 claude

然后提出请求:“使用 second-read 审查这份草稿”,并粘贴文本或提供公开 URL。

安装:Claude Desktop

将以下内容添加到 claude_desktop_config.json(在 macOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json),然后重启应用。如果 Claude Desktop 找不到 uvx,请使用它的完整路径(which uvx)。

{
  "mcpServers": {
    "second-read": {
      "command": "uvx",
      "args": ["second-read"],
      "env": {
        "ANTHROPIC_API_KEY": "your-key",
        "TAVILY_API_KEY": "your-key"
      }
    }
  }
}

如需在没有密钥的情况下试用,请将 env 块替换为 {"SECONDREAD_FAKE": "1"}。演示模式会返回占位审查结果,不会调用模型。

安装:其他 MCP 客户端

任何能够运行本地(stdio)MCP 服务的客户端都可以使用相同的命令。对于 Cursor、VS Code 等,请添加一个名为 second-read 的服务,在其环境中设置 ANTHROPIC_API_KEY 和 TAVILY_API_KEY,并运行 uvx second-read,如上方的 Claude Desktop 示例所示。

Second Read 已列入官方 MCP Registry,名称为 io.github.sbanthia92/second-read,因此能够读取该注册表的客户端和目录都可以找到它。

ChatGPT 和网页端的 claude.ai 只能连接远程(托管)MCP 服务,因此目前无法运行 Second Read。托管版本已列入路线图。

命令行

export ANTHROPIC_API_KEY=your-key TAVILY_API_KEY=your-key
uvx --from second-read secondread review path/to/draft.md --profile opinion > report.md

或者将密钥保存在 .env 文件中,并使用 --env-file path/to/.env 传入该文件。

进度会显示在终端中;报告会写入 report.md。技术设计文档可使用 --profile design_doc,也可以不指定配置文件,让工具自行判断。URL 也可以代替文件路径。

工具

review_document 接受:

参数必填说明
contentcontent / url 二选一以文本或 Markdown 格式提供的草稿(最多 20,000 个词)
urlcontent / url 二选一要抓取并审阅的公开网页
profile否auto(默认)、opinion 或 design_doc
focus否指定审阅重点,例如“检查财务数据”

它会以 Markdown 格式返回报告,并在处理过程中发送进度更新。

报告包含以下部分:结论;必须修正(事实错误及来源无法佐证的说法);无法核实(未找到充分来源的说法,这并不等同于错误);最有力的反方观点;建议修正(结构);润色(文案编辑);原创性备注;以及附录,其中列出每项说法的结论和来源。

设置

在 MCP 客户端的 env 块、环境变量或 .env 文件中设置这些变量(服务会从其工作目录读取 .env,或读取 SECONDREAD_ENV_FILE 指定的文件)。

变量用途
ANTHROPIC_API_KEYAnthropic 模型密钥
TAVILY_API_KEY网络搜索密钥
SECONDREAD_MODEL_CHEAP、_MID、_STRONG覆盖各档级别使用的模型
SECONDREAD_MAX_WORDS文档字数上限(默认 20000)
SECONDREAD_FAKE=1演示模式:无需密钥,不调用模型

哪些内容会离开你的设备

  • 你的文档会发送给 Anthropic,并受你的密钥及其条款约束。
  • 根据文档中的说法生成的搜索查询,以及最多八句为原创性检查而逐字引用的内容,会发送给 Tavily。
  • 搜索结果中列出的网页会由你的设备直接抓取。抓取器会拒绝访问私有网络和本地网络地址。

审阅完成后不会存储任何内容,也不会向其他任何地方发送内容。密钥从环境中读取,绝不会记录到日志中。

效果如何

2026 年 10 月的一次小规模测试:选取了四篇文章,每篇都植入了无法凭记忆发现的错误(近期结果、精确数字),每篇运行一次,并与在单次提示中要求同一个模型“审阅本文并提出反方观点”的结果进行比较。

单次提示Second Read
发现的植入错误事实(19 项)713
……其中有引用来源013
驳斥的薄弱论点(4 项)24
发现的借用句子(3 句)31
每篇文章的 token 数约 5,000约 136,000

对于需要查证的说法,Second Read 的成本物有所值:例如近期事件、精确数字,以及模型无法凭记忆知晓的细节。每项发现都会注明来源,方便你一键核查。

充分发挥其作用的方法:

  • 对“事实错误”采取行动前,先打开引用的来源。报告会链接到相关页面,并引用所依据的段落。
  • 搜索结果会变化,因此对同一份草稿运行两次,结果可能略有不同。
  • 原创性检查是一种启发式方法:它会标记在网上找到的相似内容。
  • 来源为网页;不会读取 PDF。

工作原理

协调器会运行专用 Agent,并解决它们之间的分歧:

  1. 说法提取器将文档拆分为核心论点、支撑论据和可核实的事实。
  2. 并行运行:事实核查器通过有限轮次的流程调查每项事实(搜索、抓取、阅读、评估;每项说法最多三轮);反方辩手收集反面证据;文案编辑;对于文章,还会运行原创性检查器;对于设计文档,则会运行结构审阅器。
  3. 进入交叉质询环节:反方辩手质疑已核实的事实时,会重新核查该事实;双方还会针对最重要的分歧各辩论一次。
  4. 通过固定规则解决剩余问题(例如,若某句话被标记为错误,则舍弃针对该句的语法修正),对发现结果排序,并撰写报告。

DESIGN.md 介绍完整设计。ARCHITECTURE.md 说明共用类型。

开发

uv sync
uv run ruff check . && uv run ruff format --check . && uv run mypy && uv run pytest

测试使用假对象离线运行。调用真实服务商的测试标记为 live,默认跳过(uv run pytest -m live)。评估工具及其 40 份预置文档位于 eval/(参见 eval/README.md);使用真实服务商运行评估会消耗你的密钥并产生费用。

状态

本地 MCP 服务和命令行工具已可使用。托管版本(登录后添加一次密钥,通过电子邮件获取报告)已在 DESIGN.md 中设计,但尚未构建。ROADMAP.md 列出了后续计划。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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