获取MCP服务器
描述
A. 模型上下文协议 提供web内容获取功能的服务器。此服务器使LLM能够从网页中检索和处理内容,将HTML转换为markdown以便于使用。
fetch工具将截断响应,但通过使用 start_index 参数,您可以指定从哪里开始内容提取。这让模型可以分块阅读网页,直到找到所需的信息。
可用工具
fetch-从互联网获取URL并将其内容提取为markdown。
- url (字符串,必填):要获取的URL - max_length (整数,可选):返回的最大字符数(默认值:5000) - start_index (整数,可选):从此字符索引开始内容(默认值:0) - raw (boolean,可选):获取原始内容而不进行markdown转换(默认值:false)
可用提示
fetch-获取一个URL并将其内容提取为markdown
- url (字符串,必填):要获取的URL
用法
mcp-fetch-node 在以下位置公开SSE端点 /sse 默认情况下在端口8080上。
Node.js:
npx -y mcp-fetch-nodeDocker:
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

