Fetch MCP 服务器

Fetch MCP 是一个基于模型上下文协议(Model Context Protocol, MCP)的服务器,它通过浏览器自动化、OCR(光学字符识别)和多种提取方法提供网页内容抓取功能。该服务器使大语言模型(LLMs)能够从网页中检索和处理内容,即使是那些需要 JavaScript 渲染或使用防爬取技术的页面。
可用工具
fetch
- 使用浏览器自动化和多方法提取(包括 OCR)从互联网抓取 URL。url
(字符串,必填):要抓取的 URLraw
(布尔值,可选):获取请求页面的原始 HTML 内容,不进行简化(默认值:false)
服务器使用多种方法提取内容:
- 使用 undetected-chromedriver 进行浏览器自动化
- 使用 pytesseract 进行 OCR 并检测布局
- 使用 requests/BeautifulSoup 提取 HTML
- 文档解析(PDF、DOCX、PPTX)
- 原始 Markdown 转换方法
服务器采用复杂的评分系统来选择最佳结果,评分标准包括:
- 基础内容评分(最高 50 分)
- 根据内容长度评分(每 100 个字符得 1 分,最高 50 分)
- 对极短内容(<100 个字符)进行扣分
- 结构加分(最高 20 分)
- 对结构良好的段落内容进行加分
- 段落越多,表明内容组织越好
- 质量扣分
- 检测并扣分错误信息
- 对包含错误提示的内容进行扣分
- 验证内容结构和可读性
评分系统确保选择最可靠和高质量的内容,无论使用哪种提取方法。调试日志可用于跟踪评分决策。
提示
- fetch
- 使用浏览器自动化抓取 URL 并将其内容提取为 Markdown 格式
- 参数:
url
(字符串,必填):要抓取的 URL
安装
使用 Docker
要使用 Docker 安装并运行
mcp-server-fetch
,请按照以下步骤操作:- 构建 Docker 镜像:
- 运行 Docker 容器:
配置
配置 Roo Code 或 Claude 应用
在您的 Claude 设置中添加以下内容:
自定义 - User-agent
默认情况下,根据请求是来自模型(通过工具)还是用户发起(通过提示),服务器将使用以下 User-agent 之一:
或
可以通过在配置的
args
列表中添加 --user-agent=YourUserAgent
参数来自定义 User-agent。浏览器自动化和 OCR
服务器现在包含高级内容提取功能:
- 自动处理 Cookie 同意横幅
- 全页面截图捕获
- 使用 pytesseract 进行 OCR 并检测布局
- 多种提取方法,自动选择最佳结果
贡献
我们鼓励贡献者帮助扩展和改进 mcp-server-fetch。无论您是想添加新工具、增强现有功能还是改进文档,您的贡献都是宝贵的。
有关其他 MCP 服务器和实现模式的示例,请参阅:
https://github.com/modelcontextprotocol/servers
欢迎提交 Pull Request!请随时贡献新想法、错误修复或增强功能,使 mcp-server-fetch 更加强大和实用。
许可证
mcp-server-fetch 采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但需遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。
- Author:waytomcp
- URL:https://www.waytomcp.com/article/MaartenSmeets/mcp-server-fetch
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!