使用说明
项目简介
WebSearch MCP Server 是一个实现了 Model Context Protocol (MCP) 协议的服务器,它主要的功能是为支持 MCP 协议的 LLM 客户端(如 Claude、Cursor IDE 等)提供网页搜索能力。通过集成 WebSearch Crawler API,该服务器能够让 LLM 实时访问最新的网络信息,从而增强 LLM 在处理需要时效性知识或特定领域信息时的能力。
主要功能点
- 网页搜索工具: 提供 'web_search' 工具,允许 LLM 客户端通过发送搜索查询来获取最新的网页搜索结果。
- MCP 服务器: 遵循 MCP 协议标准,能够与任何兼容 MCP 协议的客户端进行通信。
- 标准输入/输出 (stdio) 传输: 使用 stdio 作为 MCP 服务器与客户端之间通信的传输协议,简化部署和集成。
- 可配置的 Crawler API: 允许配置 WebSearch Crawler API 的 URL,方便用户使用自建或第三方 Crawler 服务。
- 灵活的搜索参数: 支持多种搜索参数,如查询关键词、结果数量、语言、地区、排除/包含域名、结果类型等,以满足不同的搜索需求。
安装步骤
-
安装 WebSearch MCP Server: 打开终端,运行以下命令全局安装 'websearch-mcp':
npm install -g websearch-mcp或者,您也可以不进行全局安装,直接使用 'npx' 运行:
npx websearch-mcp -
配置 Crawler Service (可选): WebSearch MCP Server 依赖于 WebSearch Crawler API 来执行实际的网页搜索。仓库提供了使用 Docker Compose 部署 Crawler Service 的方法。如果您已经有可用的 Crawler API 服务,或者希望使用默认配置('http://localhost:3001'),则可以跳过此步骤。
如果需要部署 Crawler Service,请参考仓库 README.md 文档中 "Setting Up the Crawler Service" 章节的详细步骤,包括安装 Docker 和 Docker Compose,创建 'docker-compose.yml' 文件,并启动服务。
服务器配置
为了让 MCP 客户端能够连接到 WebSearch MCP Server,您需要在客户端的 MCP 服务器配置中添加以下信息。以下是一个通用的配置示例,您需要根据您的 MCP 客户端进行相应的配置:
{ "mcpServers": { "websearch": { // 服务器名称,客户端内唯一标识即可 "command": "npx", // 启动服务器的命令,这里使用 npx 运行 "args": [ "websearch-mcp" // websearch-mcp 是安装后可执行的命令 ], "environment": { // 环境变量配置 "API_URL": "http://localhost:3001", // WebSearch Crawler API 的 URL,默认为 http://localhost:3001。如果 Crawler Service 部署在其他地址,请修改此处 "MAX_SEARCH_RESULT": "5" // 每次搜索返回的最大结果数,默认为 5。可以根据需求调整,减少 token 消耗或获取更多信息 } } } }
注意:
- 'command' 和 'args' 指定了启动 WebSearch MCP Server 的命令。请确保 'websearch-mcp' 命令在您的系统路径中可用,或者使用 'npx websearch-mcp' 确保命令能够被正确执行。
- 'environment' 中可以配置环境变量,'API_URL' 用于指定 WebSearch Crawler API 的地址,'MAX_SEARCH_RESULT' 用于设置默认的最大搜索结果数。您可以根据需要修改这些配置。
- 不同的 MCP 客户端配置方式可能略有不同,请参考您使用的 MCP 客户端的文档进行配置。仓库 README.md 中提供了 Claude Desktop, Cursor IDE, Cline 等客户端的配置示例,您可以参考。
基本使用方法
配置完成后,在您的 MCP 客户端中,您应该可以使用 'web_search' 工具了。
例如,在 Claude 客户端中,您可以像下面这样调用 'web_search' 工具来搜索 "machine learning trends":
{ "jsonrpc": "2.0", "id": 1, "method": "call_tool", "params": { "name": "web_search", "arguments": { "query": "machine learning trends" } } }
服务器会返回包含搜索结果的 JSON-RPC 响应。搜索结果会包含标题、摘要、URL 等信息。具体的响应格式请参考仓库 README.md 中的 "Example Search Response" 章节。
您也可以使用仓库提供的测试客户端进行本地测试,运行命令 'npm run test-client',然后按照提示输入搜索查询进行测试。
信息
分类
网页与API