使用说明
项目简介
google-search-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器,它通过 Google Custom Search API 提供网页搜索功能。借助此服务器,LLM(大型语言模型)客户端可以调用工具来执行 Google 搜索并获取格式化的搜索结果,从而扩展 LLM 的知识范围和信息获取能力。
主要功能点
- 网页搜索工具: 提供 'search_google' 工具,允许 LLM 客户端发送搜索查询并获取来自 Google Custom Search 的结果。
- 可配置搜索结果数量: 用户可以指定每次搜索返回的结果数量。
- 错误处理: 能够处理 Google API 错误和其它异常情况,并返回包含错误信息的响应。
- 易于安装和配置: 通过 'pip' 安装依赖,并通过 '.env' 文件配置 Google API 密钥和自定义搜索引擎 ID。
- 兼容 MCP 客户端: 遵循 MCP 协议,可以与任何支持 MCP 协议的 LLM 客户端(如 Claude Desktop)集成。
安装步骤
-
克隆仓库:
git clone https://github.com/gradusnikov/google-search-mpc-server.git cd google-search-mcp-server -
安装依赖: 确保你的 Python 环境中安装了 'pip'。然后运行以下命令安装项目依赖:
pip install fastmcp google-api-python-client python-dotenv -
配置 Google API 密钥和自定义搜索引擎 ID:
- 在项目根目录下创建 '.env' 文件。
- 在 '.env' 文件中填入你的 Google API 密钥和自定义搜索引擎 ID,例如:
GOOGLE_API_KEY=你的Google_API_密钥 GOOGLE_CSE_ID=你的自定义搜索引擎_ID - 获取 Google API 密钥和自定义搜索引擎 ID 的步骤:
- 访问 Google Cloud Console 创建一个 Google Cloud 项目并启用 Custom Search API。
- 在 Google Cloud Console 中生成 API 密钥。
- 访问 Google Custom Search Engine 创建自定义搜索引擎并获取其 ID。
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)连接,你需要配置客户端的服务器列表。以下是一个 Claude Desktop 客户端的配置示例,你需要将其添加到 'CLAUDE_DIRECTORY/claude_desktop_config.json' 文件中。
"google-search": { "serverName": "google-search", // 服务器名称,客户端用以识别 "command": "mcp", // 启动服务器的命令,这里假设 mcp 命令已添加到系统路径 "args": [ // 启动命令的参数 "run", // mcp run 子命令,用于运行 MCP 服务器 "google_search_mcp_server.py" // 服务器主程序文件名 ] }
配置说明:
- '"serverName"': 服务器的名称,可以自定义,客户端通过此名称引用服务器。
- '"command"': 启动 MCP 服务器的命令。通常是 'mcp',前提是你的环境中已经安装并配置了 'fastmcp' 库,并且 'mcp' 命令可以在命令行中直接运行。
- '"args"': 传递给 'mcp run' 命令的参数。
- '"run"': 'mcp' 工具的子命令,用于运行指定的 MCP 服务器 Python 脚本。
- '"google_search_mcp_server.py"': 你要运行的服务器 Python 脚本的文件名。
注意:
- 请确保你的 Python 环境中已经安装了 'fastmcp',并且 'mcp' 命令可以被客户端的运行环境识别。
- 如果你的 'mcp' 命令不在系统路径中,或者你需要使用特定的 Python 环境运行服务器,你可能需要修改 '"command"' 和 '"args"' 配置,例如使用 Python 解释器的完整路径来运行 'mcp' 命令。
- 上述配置假设客户端和服务器在同一台机器上运行。如果服务器运行在远程机器上,配置会更加复杂,可能需要使用 WebSocket 或 SSE 等传输协议,并配置相应的连接信息。但对于本地运行的 Claude Desktop 客户端,通常使用 Stdio 传输协议,上述配置已经足够。
基本使用方法
-
启动 MCP 服务器: 根据你的 MCP 客户端配置,启动 'google-search-mcp-server'。例如,如果使用 Claude Desktop,启动 Claude Desktop 应用会自动尝试连接配置的 MCP 服务器。或者,你也可以在命令行中使用 'mcp run google_search_mcp_server.py' 命令手动启动服务器。
-
在 LLM 客户端中使用 'search_google' 工具: 在支持 MCP 协议的 LLM 客户端中,你可以指示 LLM 调用 'search_google' 工具并提供搜索查询。服务器会将搜索结果返回给 LLM 客户端,LLM 可以利用这些信息进行后续的对话或任务。
例如,在 Claude 客户端中,你可以指示 Claude 使用 'google-search' 服务器提供的 'search_google' 工具进行搜索,例如:
'请使用 google-search 的 search_google 工具搜索 "最新的科技新闻"'
LLM 客户端会将指令转换为 MCP 请求发送给 'google-search-mcp-server',服务器执行搜索并将结果返回给客户端。
信息
分类
网页与API