项目简介
'mcp-web-tools' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)提供高级的网络访问能力。它通过标准化的接口,让LLM能够执行网页搜索、抓取复杂网站内容、解析PDF文档以及加载图像,从而极大地扩展了LLM获取实时和丰富信息的能力。
主要功能点
- 智能网页搜索: 支持Brave Search API(推荐),并可回退至Google和DuckDuckGo,无需API密钥也能提供高质量搜索结果。
- 高级网页抓取: 利用 'Zendriver' (基于 'nodriver')实现对包含复杂JavaScript的现代网站的深度抓取,有效规避反爬机制。
- 高质量内容提取: 使用 'Trafilatura' 从网页中提取整洁的Markdown格式内容,并通过 'PyMuPDF4LLM' 高效解析PDF文档,支持高级布局,便于LLM理解。
- 图像加载与处理: 支持加载网络图像,并进行适当缩放以优化LLM处理效率。
- 灵活的访问选项: 提供获取原始HTML或PDF文本的选项,以应对特殊需求。
安装步骤
该MCP服务器通常通过MCP客户端(如Claude)进行安装和管理。
要将其添加到您的Claude Code环境,请运行以下命令:
claude mcp add web-tools uvx mcp-web-tools
如果您希望使用Brave Search API来获取更好的搜索结果(推荐),可以在安装时一并设置API密钥:
claude mcp add web-tools uvx mcp-web-tools -e BRAVE_SEARCH_API_KEY=<您的Brave Search API密钥>
(请将 '<您的Brave Search API密钥>' 替换为您在Brave Search API官网获取的实际密钥。)
服务器配置(供MCP客户端使用)
以下是MCP客户端可能需要的配置信息,用于连接和启动 'mcp-web-tools' 服务器。您需要将这些信息集成到您的MCP客户端配置中(例如,如果客户端支持直接配置JSON文件)。
{ "name": "Web Tools", "command": "uvx", "args": ["mcp-web-tools"], "env": { "BRAVE_SEARCH_API_KEY": "YOUR_BRAVE_SEARCH_API_KEY" }, "description": "为LLM提供强大的网络访问能力,支持网页搜索、内容抓取、PDF解析和图像加载。" }
- 'name': 服务器在客户端界面显示的名称,此处为“Web Tools”。
- 'command': 启动MCP服务器所使用的命令,此处为 'uvx'。'uvx' 是一个工具,用于在隔离环境中运行Python包。
- 'args': 传递给 'command' 的参数,此处为 'mcp-web-tools',指示 'uvx' 运行这个MCP包。
- 'env': 可选的环境变量配置,例如 'BRAVE_SEARCH_API_KEY' 用于启用Brave搜索API。请将 'YOUR_BRAVE_SEARCH_API_KEY' 替换为您的实际API密钥。
- 'description': 服务器的功能描述,方便客户端用户了解。
基本使用方法
一旦 'mcp-web-tools' 服务器成功配置并运行,LLM客户端就可以通过其提供的工具('search_web' 和 'fetch_url')来执行网络操作。
- 搜索网页: LLM可以调用 'search_web' 工具,传入一个搜索查询('query')来获取相关的网页链接和描述。例如,LLM可能会发出类似 'search_web(query="最新AI技术发展")' 的请求,服务器将返回相关的搜索结果。
- 抓取网页内容: LLM可以调用 'fetch_url' 工具,传入一个URL('url')来获取该链接下的内容。这包括普通网页、PDF文档或图片。LLM可以指定 'offset' 和 'limit' 参数来获取特定部分的文本内容,或设置 'raw=True' 来获取原始HTML/文本。例如,LLM可能会发出类似 'fetch_url(url="https://example.com/some_article.html")' 的请求,服务器将返回该网页的Markdown格式内容。
信息
分类
网页与API