Web搜索MCP服务器是一个模型上下文协议 (MCP) 服务器,它利用Google搜索结果来实现免费网页搜索,无需任何API密钥。
主要功能 (Features):
- 利用Google搜索结果进行网页搜索: 能够通过模拟浏览器行为抓取Google的搜索结果页,获取实时的网络信息。
- 无需API密钥或身份验证: 使用此服务器进行搜索无需注册Google API或担心API配额和费用。
- 返回结构化结果: 搜索结果以结构化的数据格式返回,每条结果包含标题 (title)、URL (url) 和描述 (description),方便程序或模型解析和利用。
- 每页搜索结果数量可配置: 可以通过参数指定每次搜索希望返回的结果数量。
安装步骤 (Installation):
要安装此服务器,请按照以下步骤操作:
- 克隆或下载此仓库: 获取服务器的源代码。
bash
# 例如,使用 git clone 命令
git clone <repository_url>
cd <repository_directory> - 安装依赖项: 进入项目目录,运行npm命令安装所需的库。
bash
npm install - 构建服务器: 运行构建命令,生成可执行的JavaScript文件。
bash
npm run build
构建成功后,通常会在项目的build
目录下生成入口文件 (例如index.js
)。 将服务器添加到您的MCP配置中: 修改您的MCP客户端(如VSCode的Claude Dev Extension或Claude Desktop)的配置文件,告知客户端如何启动和调用此服务器。
- 对于 VSCode (Claude Dev Extension):
json
{
"mcpServers": {
"web-search": {
"command": "node",
"args": [
"/path/to/web-search/build/index.js" // 请替换为实际的 index.js 文件路径
]
}
}
} - 对于 Claude Desktop: 配置方式与VSCode类似。
json
{
"mcpServers": {
"web-search": {
"command": "node",
"args": [
"/path/to/web-search/build/index.js" // 请替换为实际的 index.js 文件路径
]
}
}
}
这里的配置指定了服务器的名称 (web-search
),以及启动它的命令 (node
) 和参数 (指向构建后的服务器脚本文件路径)。
- 对于 VSCode (Claude Dev Extension):
使用方法 (Usage):
安装并配置完成后,您可以通过MCP客户端调用此服务器提供的工具。
该服务器提供一个名为 search
的工具,它接受以下参数:
query
: string 类型,必需参数。这是您要执行的搜索查询字符串。limit
: number 类型,可选参数。指定您希望返回的搜索结果数量。默认为 5 条,最大不超过 10 条。
例如,在MCP客户端(如Claude模型)中使用 use_mcp_tool
函数调用此工具:
javascript
use_mcp_tool({
server_name: "web-search", // 之前配置的服务器名称
tool_name: "search", // 工具名称
arguments: {
query: "your search query", // 您的搜索词
limit: 3 // 可选,指定返回结果数量
}
})
调用成功后,服务器会返回一个包含搜索结果的列表。例如,响应的结构可能如下所示:
json
[
{
"title": "Example Search Result", // 搜索结果的标题
"url": "https://example.com", // 搜索结果的URL
"description": "Description of the search result..." // 搜索结果的描述摘要
}
// ... 其他搜索结果
]
局限性 (Limitations):
由于此工具通过抓取Google搜索结果网页来实现功能,因此存在一些重要的局限性需要注意:
- 速率限制 (Rate Limiting): Google可能会暂时阻止在短时间内执行过多搜索请求的IP地址。为避免此问题,请注意:
- 保持搜索频率合理。
- 谨慎使用
limit
参数,不要请求过多的结果。 - 如果需要频繁搜索,考虑在连续搜索之间设置延迟。
- 结果准确性 (Result Accuracy):
- 工具依赖Google搜索页面的HTML结构进行抓取,如果Google改变其页面结构,工具可能会失效或抓取不准确。
- 某些搜索结果可能缺少描述或其他元数据。
- 复杂的Google搜索操作符可能无法按预期工作。
- 法律注意事项 (Legal Considerations):
- 此工具旨在供个人使用。
- 请遵守Google的服务条款。
- 根据您的具体使用场景,考虑实施适当的速率限制,以负责任的方式使用。
贡献 (Contributing):
欢迎提交问题报告 (issues) 和功能增强请求 (enhancement requests)!