首页/浏览器自动化/mcp-server-fetch

mcp-server-fetch

查看源码
2025-5-12
Words 945Read Time 3 min
Score:85

提供基于URL的网页内容抓取功能,支持浏览器自动化、OCR和多方法提取,帮助LLM获取和处理网页内容。

Python

Fetch MCP 服务器

notion image
Fetch MCP 是一个基于模型上下文协议(Model Context Protocol, MCP)的服务器,它通过浏览器自动化、OCR(光学字符识别)和多种提取方法提供网页内容抓取功能。该服务器使大语言模型(LLMs)能够从网页中检索和处理内容,即使是那些需要 JavaScript 渲染或使用防爬取技术的页面。

可用工具

  • fetch - 使用浏览器自动化和多方法提取(包括 OCR)从互联网抓取 URL。
    • url(字符串,必填):要抓取的 URL
    • raw(布尔值,可选):获取请求页面的原始 HTML 内容,不进行简化(默认值:false)
服务器使用多种方法提取内容:
  1. 使用 undetected-chromedriver 进行浏览器自动化
  1. 使用 pytesseract 进行 OCR 并检测布局
  1. 使用 requests/BeautifulSoup 提取 HTML
  1. 文档解析(PDF、DOCX、PPTX)
  1. 原始 Markdown 转换方法
服务器采用复杂的评分系统来选择最佳结果,评分标准包括:
  1. 基础内容评分(最高 50 分)
      • 根据内容长度评分(每 100 个字符得 1 分,最高 50 分)
      • 对极短内容(<100 个字符)进行扣分
  1. 结构加分(最高 20 分)
      • 对结构良好的段落内容进行加分
      • 段落越多,表明内容组织越好
  1. 质量扣分
      • 检测并扣分错误信息
      • 对包含错误提示的内容进行扣分
      • 验证内容结构和可读性
评分系统确保选择最可靠和高质量的内容,无论使用哪种提取方法。调试日志可用于跟踪评分决策。

提示

  • fetch
    • 使用浏览器自动化抓取 URL 并将其内容提取为 Markdown 格式
    • 参数:
      • url(字符串,必填):要抓取的 URL

安装

使用 Docker

要使用 Docker 安装并运行 mcp-server-fetch,请按照以下步骤操作:
  1. 构建 Docker 镜像:
    1. 运行 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 文件。
      上一篇
      pdfsearch-zed
      下一篇
      rust-mcp-filesystem