使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供互联网搜索和网页内容读取能力。它集成了 Google Custom Search API,允许LLM通过调用工具的方式,便捷地获取最新的网络信息和指定网页的内容,从而增强LLM处理信息和执行任务的能力。
主要功能点
- 网络搜索 (Search Tool): 允许LLM使用谷歌搜索引擎进行关键词搜索,并返回结构化的搜索结果,包括标题、链接和摘要。可以指定搜索结果的数量(1-10条)。
- 网页内容提取 (Webpage Reader Tool): 允许LLM获取并解析指定URL的网页内容,提取网页标题和主要文本信息,并去除HTML标签、脚本和样式等干扰内容,返回结构化的网页内容。
安装步骤
-
获取Google API密钥和搜索引擎ID:
- 访问 Google Cloud Console 并创建一个新的 Google Cloud 项目或选择现有项目。
- 为您的项目启用计费功能。
- 在 API 库 中搜索 "Custom Search API" 并启用。
- 在 凭据 页面创建 API 密钥,并复制您的 API 密钥。建议限制API密钥仅用于 Custom Search API,以提高安全性。
- 访问 Programmable Search Engine 创建自定义搜索引擎。您可以选择搜索整个网络(www.google.com)或特定网站。
- 创建成功后,进入搜索引擎的控制面板,启用 "搜索整个网络" 选项(如果需要)。
- 复制您的搜索引擎 ID (cx)。
-
配置MCP客户端: 本项目为MCP服务器,需要配合MCP客户端使用,例如 Claude Desktop。您需要在MCP客户端的配置文件中添加本服务器的配置信息。
服务器配置
对于支持 MCP 协议的客户端(如 Claude Desktop),您需要配置服务器连接信息。以下是一个 'claude_desktop_config.json' 示例,展示了如何配置本 Google 搜索 MCP 服务器:
{ "mcpServers": { "google-search": { // 服务器名称,客户端用于标识和调用 "command": "npx", // 启动服务器的命令,这里使用 npx 执行 npm 包 "args": ["-y", "@demondehellis/mcp-google-search"], // 启动参数,-y 表示自动安装依赖包,@demondehellis/mcp-google-search 是 npm 包名 "env": { "GOOGLE_API_KEY": "your-api-key-here", // 替换为您的 Google API 密钥 "GOOGLE_SEARCH_ENGINE_ID": "your-search-engine-id-here" // 替换为您的 Google 搜索引擎 ID (cx) } } } }
配置说明:
- '"google-search"': 服务器的名称,您可以自定义,客户端会使用这个名称来引用该服务器。
- '"command": "npx"' 和 '"args": ["-y", "@demondehellis/mcp-google-search"]': 指定了启动 MCP 服务器的命令。这里使用了 'npx' 来运行 npm 包 '@demondehellis/mcp-google-search'。'npx' 会自动查找并执行本地或 npm 仓库中的可执行文件。'-y' 参数用于在使用 'npx' 安装 npm 包时自动确认。
- '"env"': 环境变量配置。本项目需要 'GOOGLE_API_KEY' 和 'GOOGLE_SEARCH_ENGINE_ID' 两个环境变量来连接 Google Custom Search API。请将 '"your-api-key-here"' 和 '"your-search-engine-id-here"' 替换为您在安装步骤中获取的 Google API 密钥和搜索引擎 ID。
客户端配置文件路径:
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
请根据您的操作系统,修改对应的配置文件,并填入正确的 API 密钥和搜索引擎 ID。
基本使用方法
配置完成后,在支持 MCP 协议的 LLM 客户端中,您应该能够看到名为 'google-search' 的服务器。LLM 可以通过调用 'google_search' 工具进行网络搜索,或调用 'read_webpage' 工具读取网页内容。
例如,在 Claude 中,您可以指示 Claude 使用 'google_search' 工具来搜索特定信息,或者使用 'read_webpage' 工具来总结某个网页的内容。具体的调用方式和工具参数会由 LLM 客户端自动处理,您只需要在自然语言指令中表达您的需求即可。
例如,您可以对 Claude 说: "请使用 google-search 工具搜索 '最新的自然语言处理技术发展'" 或 "请使用 read_webpage 工具读取并总结 'https://zh.wikipedia.org/wiki/自然语言处理' 这个网页的内容"
LLM 客户端会将这些指令转换为对 MCP 服务器的工具调用请求,服务器执行相应的工具后,将结果返回给 LLM 客户端,最终呈现给用户。
信息
分类
网页与API