使用说明
获取MCP服务器
[!注意] 此存储库已存档。还有许多其他MCP服务器实现可以做同样的事情,甚至更多。
官方港口 获取MCP服务器 对于Node.js。请检查 与原始项目的主要区别 有关更多详细信息,请参阅第节。
描述
A. 模型上下文协议 提供web内容获取功能的服务器。此服务器使LLM能够从网页中检索和处理内容,将HTML转换为markdown以便于使用。
fetch工具将截断响应,但通过使用 start_index 参数,您可以指定从哪里开始内容提取。这让模型可以分块阅读网页,直到找到所需的信息。
可用工具
fetch-从互联网获取URL并将其内容提取为markdown。url(字符串,必填):要获取的URLmax_length(整数,可选):返回的最大字符数(默认值:5000)start_index(整数,可选):从此字符索引开始内容(默认值:0)raw(boolean,可选):获取原始内容而不进行markdown转换(默认值:false)
可用提示
fetch-获取一个URL并将其内容提取为markdownurl(字符串,必填):要获取的URL
用法
mcp-fetch-node 在以下位置公开SSE端点 /sse 默认情况下在端口8080上。
Node.js:
npx -y mcp-fetch-node
Docker:
docker run -it tgambet/mcp-fetch-node
定制-robots.txt
默认情况下,如果请求来自模型(通过工具),服务器将遵守网站robots.txt文件,但如果请求是用户发起的(通过提示),则不会遵守。可以通过添加参数来禁用此功能 --ignore-robots-txt 转到run命令。
定制-用户代理
默认情况下,根据请求是来自模型(通过工具)还是由用户发起(通过提示),服务器将使用用户代理
# Tool call
ModelContextProtocol/1.0 (Autonomous; +https://github.com/tgambet/mcp-fetch-node)
# Prompt
ModelContextProtocol/1.0 (User-Specified; +https://github.com/tgambet/mcp-fetch-node)
这可以通过添加参数进行自定义 --user-agent=YourUserAgent 到run命令,它将覆盖这两个命令。
与原始项目的主要区别
-
此实现是用TypeScript编写的,目标是Node.js运行时。 它适用于python不可用的情况。
-
此实现提供了一个SSE接口,而不是stdio。 它更适合作为web服务部署,增加了灵活性。
-
此实现不依赖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
贡献
欢迎投稿!请随时提交拉取请求。
许可证
待办事项
- []添加用户日志和进度
- []添加文档和示例
- []性能基准和改进
- []提取质量基准:cfhttps://github.com/adbar/trafilatura/blob/master/tests/comparison_small.py
