项目简介
该项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为语言模型 (LLM) 提供标准化的网页搜索能力。它利用 Google Custom Search API,使 LLM 客户端能够通过 MCP 协议调用网页搜索工具,获取实时的网络信息。
主要功能点
- 网页搜索: 通过 Google Custom Search API 提供强大的网页搜索功能。
- MCP 协议兼容: 遵循 MCP 协议标准,可以与任何兼容 MCP 协议的 LLM 客户端对接。
- 可配置结果数量: 允许配置每次搜索返回的结果数量(最多10条)。
- 结构化搜索结果: 返回包含标题、URL 和描述信息的结构化搜索结果,方便 LLM 理解和利用。
安装步骤
- 克隆仓库:
打开终端,执行以下命令克隆代码仓库到本地:
git clone https://github.com/limklister/mcp-google-custom-search-server.git cd mcp-google-custom-search-server - 安装依赖:
在项目根目录下,运行 npm 命令安装项目依赖:
npm install - 配置环境变量:
在项目根目录下创建 '.env' 文件,并填入您的 Google Custom Search API 密钥和搜索引擎 ID。您需要在 Google Cloud Console 启用 Custom Search API 并获取 API 密钥,并在 Programmable Search Engine 创建自定义搜索引擎并获取引擎 ID。
请将 'YOUR_GOOGLE_API_KEY' 替换为您的 Google API 密钥,'YOUR_GOOGLE_SEARCH_ENGINE_ID' 替换为您的搜索引擎 ID。GOOGLE_API_KEY=YOUR_GOOGLE_API_KEY GOOGLE_SEARCH_ENGINE_ID=YOUR_GOOGLE_SEARCH_ENGINE_ID - 构建服务器:
运行 npm 命令编译 TypeScript 代码:
npm run build - 启动服务器:
运行 npm 命令启动 MCP 服务器:
npm start
服务器配置
为了让 MCP 客户端(例如 Claude Desktop)连接到此服务器,您需要在客户端的配置文件中添加服务器配置信息。以下是一个配置示例,以 JSON 格式展示:
{ "mcpServers": { "google-search": { // 服务器名称,可以自定义,用于在客户端中标识该服务器 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行时环境 "args": [ // 启动命令的参数,用于指定服务器入口文件 "/absolute/path/to/mcp-google-custom-search-server/build/index.js" // 请将 "/absolute/path/to/mcp-google-custom-search-server/build/index.js" 替换为实际的服务器入口文件绝对路径 ], "env": { // 环境变量配置,服务器运行时需要的环境变量 "GOOGLE_API_KEY": "YOUR_GOOGLE_API_KEY", // Google Custom Search API 密钥,建议设置为环境变量,也可以直接填入密钥字符串 "GOOGLE_SEARCH_ENGINE_ID": "YOUR_GOOGLE_SEARCH_ENGINE_ID" // Google Custom Search Engine ID,建议设置为环境变量,也可以直接填入 ID 字符串 } } } }
配置说明:
- '"google-search"': 服务器的名称,您可以自定义,用于在 MCP 客户端配置中引用。
- '"command": "node"': 指定启动服务器的命令为 'node',假设您的环境中已安装 Node.js。
- '"args": [...]"': 命令参数数组,这里指定了服务器入口文件 'build/index.js' 的绝对路径。请务必将 '/absolute/path/to/mcp-google-custom-search-server/build/index.js' 替换为您本地 'build/index.js' 文件的实际绝对路径。
- '"env": {...}': 环境变量配置,包含了 Google API 密钥和搜索引擎 ID。 您可以将 'YOUR_GOOGLE_API_KEY' 和 'YOUR_GOOGLE_SEARCH_ENGINE_ID' 替换为实际的值,或者保持原样,并在运行客户端的环境中设置这些环境变量。
基本使用方法
当 MCP 客户端成功连接到此服务器后,您可以通过客户端的功能调用名为 'search' 的工具来执行网页搜索。
调用 'search' 工具时,需要提供以下参数:
- 'query': 必填,字符串类型,表示您要搜索的关键词或query。
- 'numResults': 可选,数字类型,表示希望返回的搜索结果数量,默认为 5,最大值为 10。
服务器会将搜索结果格式化为包含标题、URL 和描述的文本,并返回给 MCP 客户端。客户端可以利用这些信息进行后续的语言模型处理。
信息
分类
网页与API