Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-search

MCP搜索服务器是一个为AI模型提供谷歌搜索功能的协议服务,支持缓存和高级搜索配置,通过Docker部署实现信息检索。

article

README

🚀 MCP 服务器搜索

这是一个具备 Google 搜索功能的 MCP(模型上下文协议)服务器,它能让 AI 模型从网络获取最新信息,为模型提供有力的数据支持。

🚀 快速开始

本 MCP 服务器允许 AI 模型从网络获取最新信息,通过简单配置即可使用。以下为您详细介绍使用方法。

✨ 主要特性

  • 集成 Google 搜索,并带有缓存功能,提升搜索效率。
  • 可配置请求延迟和重试,有效避免限流问题。
  • 支持简单搜索和高级搜索(带描述),满足不同搜索需求。
  • 限制流量并随机化,做良好的网络公民。

📦 安装指南

使用 Docker(推荐)

  1. 构建 Docker 镜像:
docker build -t mcp-server-search .
  1. 创建持久化所需的目录:
mkdir -p ./logs ./cache
  1. 运行容器:
docker run --rm -i \
  -v "$(pwd)/logs:/app/logs" \
  -v "$(pwd)/cache:/app/cache" \
  mcp-server-search

这些卷确保:

  • 日志持久化到 ./logs 目录。
  • 搜索缓存持久化到 ./cache 目录。
  • 如果目录不存在,Docker 会自动创建它们。

注意:-i 标志用于 MCP 协议通信,--rm 会在容器退出后自动删除容器。

Cline 集成

要将此 MCP 服务器与 Cline 一起使用,请在 Cline 的 MCP 设置文件(位于 ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json 对于 VS Code)中添加以下配置:

{
    "mcpServers": {
        "google_search": {
            "command": "docker",
            "args": [
                "run",
                "--rm",
                "-i",
                "mcp-server-search"
            ],
            "disabled": false,
            "alwaysAllow": []
        }
    }
}

此配置:

  • 设置搜索 MCP 服务器在 Docker 容器中运行。
  • 使用 --rm 标志以自动删除容器退出时。
  • 使用 -i 进行交互模式,MCP 协议所需。
  • 默认禁用服务器(设置 disabledfalse 启用)。
  • 需要显式批准所有工具使用(alwaysAllow 空)。

📚 详细文档

配置

该服务器接受以下命令行参数: | 参数 | 详情 | | ---- | ---- | | --log-level | 设置日志等级(DEBUG、INFO、WARNING、ERROR、CRITICAL)。默认:INFO | | --log-file | 日志文件路径(默认:标准输出) | | --cache-path | 搜索缓存文件路径(默认:cache/google_cache.db) | | --request-delay | 搜索请求之间的延迟时间(秒,默认:5) | | --max-retries | 失败搜索的最大重试次数(默认:3) |

使用说明

该服务器暴露以下 MCP 端点:

工具

  • google_search:执行 Google 搜索并返回结果。结果以带标题、URL 和描述的 Markdown 格式呈现(如果启用)。
    • 参数
      • query (字符串,必需):要执行的搜索查询。
      • num_results (整数,可选):要返回的结果数量(最小值:1,最大值:20,默认:5)。
      • use_cache (布尔,可选):如果缓存中有可用结果是否使用(默认:true)。
      • include_descriptions (布尔,可选):是否包含描述(默认:true)。
    • 特性
      • 自动请求节流和重试机制。
      • 用户代理随机化以实现更好的请求分布。
      • 带文件系统的缓存访问。
      • 限制流量。

配置示例

mcp-server-search 容器中运行时,可以通过以下命令传递参数:

docker run --rm -i \
    -v "$(pwd)/logs:/app/logs" \
    -v "$(pwd)/cache:/app/cache" \
    mcp-server-search \
    --log-level INFO \
    --log-file /app/logs/search.log \
    --cache-path /app/cache/google_cache.db \
    --request-delay 2 \
    --max-retries 3

配置文件

默认情况下,服务器从 config.json 加载配置。以下是一个示例:

{
    "log_level": "INFO",
    "log_file": "./logs/search.log"
}
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client