网络阅读器mcp
MCP服务器,获取URL并提取干净、可读的内容,如Markdown或纯文本。建立在 模型上下文协议 因此,人工智能助手(Claude、Cline、OpenCode等)可以阅读网页。
特性
- 使用从任何URL提取主要文章内容 可读性
- 通过以下方式将HTML转换为干净的Markdown 关闭
- 提取元数据(标题、作者、发布日期、Open Graph标签)
- 可选地从页面中提取所有链接
- 可选的JavaScript渲染 剧作家 适用于SPA和JS密集型网站
- 暴露单个
webReaderMCP流式HTTP传输工具
快速开始
bun install
bun run dev服务器启动于 http://localhost:3001 (或 PORT 有人)。
工具: webReader
| 参数 | 类型 | 默认值 | 说明 | |
|---|---|---|---|---|
url | string (必填) | -- | 要获取的URL | |
return_format | "markdown" | "text" | "markdown" | 输出格式 |
timeout | number (1–60) | 20 | 请求超时(秒) | |
retain_images | boolean | true | 在输出中保留图像引用 | |
with_links_summary | boolean | false | 包括所有链接的摘要 | |
render_js | boolean | false | 使用Playwright渲染JavaScript |
示例响应
{
"title": "Article Title",
"url": "https://example.com/article",
"content": "# Article Title\n\nArticle content in markdown...",
"excerpt": "A brief summary of the article.",
"byline": "Author Name",
"siteName": "Example",
"publishedTime": "2025-01-15T10:00:00Z",
"metadata": { "og:description": "..." }
}MCP客户端配置
克劳德桌面版
{
"mcpServers": {
"web-reader": {
"url": "http://localhost:3001/mcp"
}
}
}Cline(VS代码)
{
"mcpServers": {
"web-reader": {
"url": "http://localhost:3001/mcp",
"transportType": "streamable-http"
}
}
}JavaScript渲染(可选)
默认情况下,页面是通过简单的HTTP客户端获取的(got).对于JavaScript密集型网站(SPA、React应用程序),启用Playwright:
bun add playwright
npx playwright install chromium然后设置 render_js: true 调用工具时。请注意,Playwright每个浏览器选项卡需要约300-500 MB RAM。
脚本
| 命令 | 描述 |
|---|---|
bun run dev | 具有热重载功能的开发服务器 |
bun run build | 编译TypeScript |
bun run start | 生产服务器(node dist/index.js) |
bun run typecheck | 不发射的类型检查 |
码头工人
docker compose up --build在启用健康检查的情况下在端口3000上运行。
建筑
src/
├── index.ts # Express server + MCP session management
├── types.ts # Shared TypeScript interfaces
├── tools/
│ └── web-reader.ts # Tool registration (Zod schema + handler)
└── lib/
├── fetcher.ts # HTTP fetching (got)
├── fetcher-playwright.ts # JS rendering (Playwright, optional)
├── parser.ts # HTML → structured content (Readability)
└── converter.ts # HTML → Markdown (Turndown)技术栈
- 运行时:Node.js(ES2022)
- 包管理器:Bun
- HTTP服务器:快递
- MCP-SDK:
@modelcontextprotocol/sdk第1版 - HTML解析:jsdom+可读性
- 标记语言:拒绝
- HTTP客户端:得到
- JS渲染:剧作家(可选)
许可证
麻省理工学院
