mcp示例
服务介绍
一个提供网页内容抓取功能的模型上下文协议服务器。该服务器使大语言模型能够从网页中检索和处理内容,并将HTML转换为Markdown以便更易于使用。
fetch工具会截断响应,但通过使用start_index参数,您可以指定从哪个字符索引开始提取内容。这使得模型可以分块读取网页,直到找到所需的信息为止。
可用工具
- fetch - 从互联网上抓取URL并将其内容提取为Markdown。
- url (字符串, 必需): 要抓取的URL
- max_length (整数, 可选): 返回的最大字符数 (默认: 5000)
- start_index (整数, 可选): 从此字符索引开始提取内容 (默认: 0)
- raw (布尔值, 可选): 获取未经Markdown转换的原始内容 (默认: false)
提示
- fetch
- 抓取一个URL并将其内容提取为Markdown
- 参数:
- url (字符串, 必需): 要抓取的URL
安装
- 可选: 安装node.js,这将导致fetch服务器使用一种更强大的HTML简化器。
使用uv (推荐)
- 使用uv时无需特定安装。我们将直接使用uvx运行mcp-server-fetch。
使用PIP
-
或者,您可以通过pip安装mcp-server-fetch:
pip install mcp-server-fetch
-
安装后,可以使用以下命令作为脚本运行:
python -m mcp_server_fetch
配置
- 配置Claude.app
- 添加到您的Claude设置中:
- 使用uvx
- 使用docker
- 使用pip安装
- 添加到您的Claude设置中:
自定义 - robots.txt
- 默认情况下,如果请求来自模型(通过工具),服务器将遵守网站的robots.txt文件;但如果请求是由用户发起的(通过提示),则不会遵守。可以通过在配置的args列表中添加--ignore-robots-txt参数来禁用此行为。
自定义 - User-agent
- 默认情况下,根据请求是来自模型(通过工具)还是由用户发起(通过提示),服务器将使用以下user-agent之一:
- ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)
- ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)
- 可以通过在配置的args列表中添加--user-agent=YourUserAgent参数来自定义。
调试
-
您可以使用MCP检查器来调试服务器。对于uvx安装:
npx @modelcontextprotocol/inspector uvx mcp-server-fetch
-
如果您已将包安装在特定目录中或正在对其进行开发:
cd path/to/servers/src/fetch
npx @modelcontextprotocol/inspector uv run mcp-server-fetch
贡献
- 我们鼓励贡献以帮助扩展和改进mcp-server-fetch。无论您想添加新工具、增强现有功能还是改进文档,您的输入都是宝贵的。
- 有关其他MCP服务器和实现模式的示例,请参阅: https://github.com/modelcontextprotocol/servers
- 欢迎提交拉取请求!请随时贡献新想法、错误修复或增强功能,使mcp-server-fetch变得更加强大和有用。