返回市场
麦普获取节点

麦普获取节点

作者:tgambet7 星标更新:2025-05-19

项目介绍

获取MCP服务器

这是官方MCP服务器在Node.js上的移植版本。更多详情请参阅与原项目的关键差异部分。

描述

这是一个提供网页内容抓取能力的模型上下文协议服务器。该服务器使LLMs能够从网页中检索并处理内容,将HTML转换为Markdown以便于消费。

抓取工具会截断响应,但通过使用start_index参数,你可以指定从何处开始提取内容。这使得模型可以分块读取网页,直到找到所需的信息。

可用工具

  • fetch - 从互联网抓取一个URL并将其内容提取为Markdown。
    • url(字符串,必需):要抓取的URL
    • max_length(整数,可选):返回的最大字符数(默认值:5000)
    • start_index(整数,可选):从此字符索引开始提取内容(默认值:0)
    • raw(布尔值,可选):获取未经Markdown转换的原始内容(默认值:false)

可用提示

  • fetch - 抓取一个URL并将其内容提取为Markdown
    • url(字符串,必需):要抓取的URL

使用方法

mcp-fetch-node默认在8080端口的/sse上暴露一个SSE端点。

Node.js:

npx -y mcp-fetch-node

Docker:

docker run -it tgambet/mcp-fetch-node

自定义 - robots.txt

默认情况下,如果请求来自模型(通过工具),服务器将遵守网站的robots.txt文件;但如果请求是由用户发起的(通过提示),则不会遵守。可以通过向运行命令添加参数--ignore-robots-txt来禁用此功能。

自定义 - 用户代理

默认情况下,根据请求是来自模型(通过工具)还是由用户发起(通过提示),服务器将使用以下用户代理之一:

# 工具调用
ModelContextProtocol/1.0 (Autonomous; +https://github.com/tgambet/mcp-fetch-node)

# 提示
ModelContextProtocol/1.0 (User-Specified; +https://github.com/tgambet/mcp-fetch-node)

可以通过向运行命令添加参数--user-agent=YourUserAgent来自定义用户代理,这将覆盖上述两种情况。

与原项目的关键差异

  • 此实现使用TypeScript编写,并针对Node.js运行时环境。 它适用于Python不可用的情况。

  • 此实现提供了一个SSE接口,而不是stdio。 这更适合部署为网络服务,增加了灵活性。

  • 此实现不依赖Readability.js库进行内容提取。 它使用了一个更通用的自定义实现,适合新闻以外的其他类型网站。

然而,API和工具描述与原项目相同,因此你可以尝试将mcp-fetch-node作为原项目的替代品。

任何问题请报告至问题跟踪器

功能

  • 从URL抓取并提取相关内容
  • 遵守robots.txt(可禁用)
  • 用户代理定制
  • Markdown转换
  • 分页

开发

pnpm install
pnpm dev
pnpm lint:fix
pnpm format
pnpm test
pnpm build
pnpm start
pnpm inspect

贡献

欢迎贡献!请随意提交Pull Request。

许可证

MIT

待办事项