mcp阅读器
MCP服务器 @vakra-dev/reader:使用真实浏览器抓取网站,并通过工件卸载保持LLM上下文较小。
此服务器是为Claude Code/OpenCode构建的:
- 工具输出有意紧凑(摘要+工件ID)。
- 完整的有效载荷(清单、markdown、html、url列表)作为工件存储。
- 代理商只通过以下方式获取他们需要的东西
reader_artifact_get(grep,range,head,tail).
需求
- 节点:
>=24 @vakra-dev/reader是一个可选的依赖项。如果它未能安装(本地deps),mcp-reader仍将安装,但在安装阅读器之前,抓取/爬行工具将失败。
推荐:
- 使用Node 24.x实现最平滑的本机依赖关系。
安装
npm install mcp-reader如果阅读器没有自动安装(您将在安装过程中看到警告 npm install),显式安装它:
npm install @vakra-dev/reader配置(克劳德代码/OpenCode)
推荐(Windows安全):直通 node 避免 .cmd 包装器生成问题。
{
"mcpServers": {
"reader": {
"command": "node",
"args": ["./node_modules/mcp-reader/dist/cli.js"],
"env": {
"MCP_READER_LOG_LEVEL": "info",
"MCP_READER_STORE": "file:.mcp-reader-artifacts",
"MCP_READER_MAX_BYTES": "80000",
"MCP_READER_PREVIEW_MAX_CHARS": "6000"
}
}
}
}工具
reader_scrape:抓取1+个URL。返回摘要并将抓取清单+每页markdown/html作为工件存储。reader_crawl:抓取网站(深度/最大页面/模式过滤器),并可选择抓取发现的页面。存储爬网清单+URL列表(如果启用,则存储抓取清单)。reader_challenge:检测Cloudflare/反bot挑战,并可选择等待解决。reader_status:显示服务器配置+是否初始化了ReaderClient。reader_warmup:预热阅读器客户端/浏览器核心。reader_close:关闭ReaderClient/浏览器池。
工件(代币保存):
reader_artifact_get:获取存储工件的切片(auto|head|tail|range|grep|full|json).reader_artifact_info:工件元数据。reader_artifact_list:列出最近的工件。reader_artifact_delete:删除工件。
如何使用(人类)
阅读一页(主要内容->标记):
{
"url": "https://docs.reader.dev/documentation/overview",
"formats": ["markdown"],
"onlyMainContent": true
}您将收到:
- 简明摘要
- 每页显示一个清单工件id
markdownArtifactId/htmlArtifactId
然后获取markdown工件:
{ "id": "art_...", "mode": "head", "headLines": 80 }如何使用(代理)
从最小的信号开始:
reader_crawl随着preview: "summary"以获取URL清单。- 使用
reader_artifact_get随着grep/range在URL列表工件上。 reader_scrape只有少数相关的网址。- 通过以下方式仅获取所需的markdown切片
reader_artifact_get.
更多: AGENTS.md
工件存储+截断
文物商店:
MCP_READER_STORE:memory(默认)或file:.mcp-reader-artifacts
截断旋钮:
MCP_READER_MAX_BYTES:卸载阈值(默认值80000)MCP_READER_PREVIEW_MAX_CHARS:预览上限(默认值6000)MCP_READER_HEAD_LINES/MCP_READER_TAIL_LINES:预览切片(默认60/60)MCP_READER_TTL_SECONDS:可选TTL用于内存存储MCP_READER_MAX_ARTIFACTS:内存存储的可选上限
阅读器客户端配置
通过env(JSON)配置阅读器:
MCP_READER_BROWSER_POOL:{ "size": 2, "retireAfterPages": 100, "retireAfterMinutes": 30, "maxQueueSize": 100 }MCP_READER_PROXIES:[ { "url": "http://user:pass@host:port", "country": "US" } ]MCP_READER_PROXY_ROTATION:round-robin或randomMCP_READER_VERBOSE:true|falseMCP_READER_SHOW_CHROME:true|false
文档
docs/TOOLS.md:逐个工具参考示例docs/CONFIG.md:配置和环境变量docs/TRUNCATION.md:工件模式和令牌保存模式docs/RELEASE.md:CI/CD+发布+npm发布
CI/发布/npm发布
- CI:lint+类型检查+测试+构建
- 发布:发布请打开一个带有版本更新+变更日志的PR
- 发布:在创建发布时,GitHub Actions发布到npm
所需的GitHub机密:
NPM_TOKEN:具有发布权限的npm自动化令牌
发展
npm run lint
npm run typecheck
npm test
npm run build许可证
仅限GPL-3.0。看 LICENSE.
