Claude 能写代码,能分析数据,能帮你改简历、解释量子力学、用五种语言骂你的 bug。厉害。
但你让它朗读一篇网页文章试试?
不行。它没有嘴。它连耳朵都没有——不过那是另一回事。关键是:Claude 原生没有任何办法拿到一个 URL、提取正文、转成语音。它做不到。
除非你给它装一个。
MCP 是什么?30 秒讲完
Anthropic 发布了 Model Context Protocol——一个开放标准,让 AI 助手能调用外部工具。你可以把它理解成 AI 的 USB-C 接口。一个协议,接万物。MCP 服务器向 Claude 暴露"工具"。天气服务器给 Claude 一个 get_forecast,数据库服务器给 Claude 一个 run_query。CastReader 给 Claude 三个工具:castreader_extract(提取网页正文)、castreader_generate_audio(生成语音)、castreader_read_aloud(在浏览器里朗读并高亮段落)。
不需要学 SDK。不需要部署 webhook。
配置 Claude Desktop
找到你的 Claude Desktop 配置文件。
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
加上这段:
{
"mcpServers": {
"castreader": {
"command": "npx",
"args": ["-y", "castreader-mcp-server"]
}
}
}重启 Claude Desktop。
搞定了。npx 在首次运行时自动下载服务器。不用全局安装,不用管依赖冲突,不用在三个 Python 环境里猜哪个是对的。直接能用。
第一次请求
打开 Claude Desktop,输入:
提取这篇文章:https://paulgraham.com/greatwork.htmlClaude 在后台调用 castreader_extract。几秒钟后,你拿到结构化的内容:
{
"title": "How to Do Great Work",
"paragraphs": [
"If you collected lists of techniques for doing great work in a lot of different fields, what would the intersection look like?",
"I decided to find out by making it.",
"Partly my goal was to create a guide that could be used by someone working in any field..."
],
"paragraph_count": 186,
"word_count": 11842
}干干净净的段落。没有导航栏,没有 cookie 弹窗,没有"关注公众号"浮层。只有正文。
生成语音
接下来才是重点。告诉 Claude:
把这篇文章的前 10 段转成语音Claude 调用 castreader_generate_audio。CastReader 的 TTS 引擎逐段处理,返回 MP3 音频和逐词时间戳。Claude 可以保存文件、播放、或者给你下载链接。
语音基于 Kokoro 模型——自然、不机械。长句不会卡壳。段落之间有停顿。"Dijkstra"的发音基本正确(大概吧)。
在浏览器里朗读
这个功能有点魔法的味道。输入:
朗读这个页面:https://en.wikipedia.org/wiki/Alan_TuringClaude 调用 castreader_read_aloud。你的默认浏览器打开维基百科页面。CastReader Chrome 扩展自动启动。音频开始播放。当前段落实时高亮。页面跟随滚动。你往椅背上一靠,听就完了。
前提条件:你得装 CastReader Chrome 扩展。MCP 服务器跟扩展联动。没装扩展的话,浏览器朗读不行——但 castreader_extract 和 castreader_generate_audio 照常能用。
自定义配置
两个环境变量控制默认值:
{
"mcpServers": {
"castreader": {
"command": "npx",
"args": ["-y", "castreader-mcp-server"],
"env": {
"CASTREADER_VOICE": "af_heart",
"CASTREADER_SPEED": "1.5"
}
}
}
}CASTREADER_VOICE 默认 af_heart。其他选项:af_bella、af_nicole、am_adam、am_michael,还有更多。
CASTREADER_SPEED 默认 1.5。范围 0.5 到 3.0。我自己看博客用 1.8,读论文用 1.2。你的耳朵你做主。
不只是 Claude Desktop
Claude Desktop 是最直接的入口。但 MCP 是协议,不是产品。任何支持 MCP 的客户端都能用 CastReader:
- Cursor — 把同样的配置加到 Cursor 的 MCP 设置里。写代码的时候让编辑器给你朗读文档。
- Windsurf — 同理。
- Cline — 支持 MCP 的 VS Code 扩展。装上 CastReader,让它读 API 文档。
- 自己的应用 — 如果你在用 MCP SDK 开发,
castreader-mcp-server就是一个普通的 MCP server,接上就行。
配置完全一样。复制,粘贴,重启。
别人搞不定的,它能搞定
大多数"帮你读网页"的工具,碰到稍微复杂一点的页面就歇菜。CastReader 的提取引擎专门处理硬骨头:
Kindle Cloud Reader — 亚马逊用自定义字体子集渲染电子书文本。DOM 里的字符是乱码。CastReader 跑 OCR 校准来解码。市面上没有第二个 TTS 工具能做到这点。
微信读书 — 国内最大的电子书平台,文字画在 Canvas 上。DOM 里一个字都没有。CastReader 在数据到达 Canvas 之前就截获了章节内容。
Notion、Google Docs、语雀、飞书 — 每个都有自己奇葩的 DOM 结构。Notion 把所有东西塞在可拖拽的 block 里。Google Docs 用自己的渲染引擎。CastReader 对每一个都写了专用提取器。
SPA 博客 — React/Next.js/Nuxt 页面,内容在 JavaScript 执行后才加载。CastReader 等 DOM 稳定了再提取。
你不用操心这些。说一句"读这个页面",剩下的它来。
开始使用
三个链接,够了。
五分钟配置。然后 Claude 就能把互联网读给你听。那些你收藏了却从没打开的文章,那些你一直说"有空再看"的论文,那些你只读了开头就关掉的万字长文。
通勤路上,全部消化掉。