项目简介
Google可编程搜索引擎(PSE)MCP服务器是一个基于Model Context Protocol (MCP) 实现的应用后端。它将Google可编程搜索引擎的API封装成一个可供LLM(大型语言模型)客户端调用的工具。通过这个服务器,您的MCP兼容客户端(如VSCode Copilot、Claude Desktop)可以轻松地通过标准化的方式调用Google自定义搜索服务,从而获取实时的Web信息。
主要功能点
- Web搜索功能:通过名为 'search' 的工具,提供强大的Web搜索能力。
- 参数定制:支持搜索查询('q')、页码('page')、每页结果数量('size')、排序方式('sort',目前仅支持按日期)、安全搜索('safe')、语言限制('lr')以及是否使用站内搜索API('siteRestricted')等多种搜索参数。
- MCP协议兼容:完全遵循Model Context Protocol,确保与各种MCP客户端的无缝集成和通信。
- 易于部署:无需手动安装,通过MCP客户端配置即可自动安装和启动。
安装步骤
您无需手动克隆此仓库或运行任何安装命令。MCP服务器将由您的MCP客户端根据您的配置自动安装并启动。您只需将下方的服务器配置添加到您的MCP客户端中即可。
服务器配置
MCP服务器是为MCP客户端设计的,MCP客户端需要配置服务器的启动命令 ('command') 及其参数 ('args') 才能与之建立连接。
以下是两种常见MCP客户端的配置说明:
对于VS Code Copilot用户:
- 打开VS Code的命令面板 (Command Palette)。
- 选择“首选项: 打开设置 (JSON)”。
- 在打开的 'settings.json' 文件中,找到 'mcp.servers' 部分(如果没有则添加)。
- 在 'mcp.servers' 中,添加一个名为 'google-pse-mcp' 的服务器配置。
- 'command': 设置为 '"npx"',指示通过npm执行器启动服务器。
- 'args': 这是一个参数数组,按顺序包含以下内容:
- '"-y"':'npx' 的一个参数,表示在安装时自动确认。
- '"google-pse-mcp"':这是要通过 'npx' 执行的包名称。
- '"https://www.googleapis.com/customsearch"':Google Custom Search API的基准URL,通常保持默认。
- '"<api_key>"':必需。您的Google Cloud API Key,用于认证对Google Custom Search API的访问。请替换为您的实际密钥。
- '"<cx>"':必需。您的Google Custom Search Engine ID (CX),用于指定您创建的自定义搜索引擎。请替换为您的实际ID。
- '"<siteRestricted>"':可选。一个布尔值('"true"' 或 '"false"'),用于控制是否使用Google Custom Search的站点受限API端点。如果省略,默认值为 '"true"'。
对于Cline MCP用户:
- 找到您的 'cline_mcp_settings.json' 文件。该文件通常位于VS Code的全局存储目录或Cline配置目录中(例如macOS上路径可能为 '~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json')。
- 在 'mcpServers' 部分(如果没有则添加),添加一个名为 'google-pse-mcp' 的配置。
- 配置项与VS Code Copilot类似,包括 'command' 和 'args',以及 'api_key'、'cx'、'siteRestricted' 等参数。此外,您还可以设置 'disabled'、'timeout' 和 'transportType'(例如设置为 '"stdio"')。
重要提示: 请务必将配置中的 '<api_key>' 和 '<cx>' 替换为您自己的Google API Key和Custom Search Engine ID。
基本使用方法
一旦MCP服务器在您的客户端中配置并启动,您就可以通过MCP客户端提供的接口来调用 'search' 工具。以下是Python伪代码示例,展示了如何使用该工具进行搜索:
# 假设您的MCP客户端提供了一个调用工具的函数 'use_mcp_tool' result = await use_mcp_tool( server_name="google-pse-mcp", # 服务器名称,与您配置的名称一致 tool_name="search", # 要调用的工具名称 arguments={ "q": "人工智能在医疗领域的应用", # 搜索查询 "size": 5, # 返回5条结果 "safe": True # 开启安全搜索 } ) # result 变量将包含搜索结果,通常是JSON格式的文章列表。 # 示例结果(简化): # [ # {"title": "文章标题1", "link": "链接1", "snippet": "摘要1"}, # {"title": "文章标题2", "link": "链接2", "snippet": "摘要2"} # ]
您可以通过调整 'arguments' 中的参数来定制搜索行为,例如指定页码、语言等。
信息
分类
网页与API