AI模型搜索服务

MCP服务器为AI模型提供Google搜索功能,支持缓存、可配置请求延迟和重试机制,适用于需要实时网络信息的AI应用场景。

  • by MaartenSmeets
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 MaartenSmeets/mcp-server-search

使用说明

MCP服务器搜索

一个MCP(模型上下文协议)服务器,为AI模型提供谷歌搜索功能。此服务器允许模型从网络上搜索最新信息。

特性

  • 谷歌搜索与缓存集成
  • 可配置的请求延迟和重试,以避免速率限制
  • 支持简单和高级搜索(带描述)
  • 节流和随机化,做一个好的网络公民

安装

使用Docker(推荐)

  1. 构建Docker镜像:

    docker build -t mcp-server-search .
    
  2. 创建持久性所需的目录:

    mkdir -p ./logs ./cache
    
  3. 运行容器(启用SSE):

    docker run --rm -p 8000:8000 \
      -v "$(pwd)/logs:/app/logs" \
      -v "$(pwd)/cache:/app/cache" \
      mcp-server-search
    

这将启动启用了SSE的服务器,并使其可在以下位置访问http://localhost:8000/sse.

这些卷确保:

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

注: -i MCP协议通信需要标志,以及 --rm 容器退出时自动移除。

临床整合

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

{
    "mcpServers": {
        "google_search": {
            "url": "http://localhost:8000/sse"
        }
    }
}

此配置:

  • 通过HTTP SSE在端口8000上连接到搜索MCP服务器 /sse 端点
  • 不再使用Docker stdio传输;Cline直接连接到HTTP端点

配置

服务器接受以下命令行参数:

  • --log-level:设置日志记录级别(调试、信息、警告、错误、严重)。默认值:信息
  • --log-file:日志文件的路径(默认:stdout)
  • --cache-path:搜索缓存文件的路径(默认:cache/google_cache.db)
  • --request-delay:搜索请求之间的延迟(秒)(默认值:5)
  • --max-retries:失败搜索的最大重试次数(默认值:3)

用法

服务器公开以下MCP端点:

工具

  • google_search:搜索谷歌并返回结果。结果以格式化的Markdown结构呈现,其中包含标题、URL和描述(启用时)。

    参数:

    • query (string,必填):要执行的搜索查询
    • num_results (整数,可选):要返回的结果数(最小值:1,最大值:20,默认值:5)
    • use_cache (boolean,可选):是否使用缓存结果(默认值:true)
    • include_descriptions (布尔值,可选):是否在结果中包含描述(默认值:true)

    特征:

    • 自动请求限制和重试机制
    • 随机用户代理轮换,以更好地分配请求
    • 基于文件的缓存,具有线程安全访问功能
    • 速率限制的指数回退(HTTP 429)

提示

  • google_search:使用给定的查询搜索谷歌。以对话格式返回结果。

    参数:

    • query (string,必填):要执行的搜索查询
    • num_results (整数,可选):要返回的结果数(1-20,默认值:5)

关于MCP

模型上下文协议(MCP)是一种用于将大型语言模型(LLM)与工具和数据源连接起来的协议。了解更多信息,请访问 github/modelcontextprotocol.