mcpField
M
mcp-serp

mcp-serp

远程服务
platform.acedata.cloud搜索与检索11 周前更新

关于 mcp-serp

mcp-serp 通过 AceDataCloud 上的 SERP API 提供 Google 搜索 MCP 服务,返回网页、图片、新闻、视频、本地商家和地图等结构化结果,并支持本地化与时间筛选。

主要功能

  1. 01结构化 Google 网页搜索
  2. 02图片、新闻和视频搜索
  3. 03本地商家与地图搜索
  4. 04Knowledge Graph 实体信息
  5. 05国家、语言和时间筛选

适用场景

  1. 01查找某个主题的网页
  2. 02获取最新新闻或视频结果
  3. 03搜索本地商家和地点
  4. 04按国家、语言或时间限制结果

MCP 相关

向 MCP 客户端提供 Google 搜索、搜索类型、本地化、时间范围和使用指南工具。支持托管 OAuth、API 令牌及本地 stdio 接入。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://serp.mcp.acedata.cloud/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
pypimcp-serp2026.10.19.0

工具

详细介绍

SerpMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

一个通过 AceDataCloud API 使用 SERP API 进行 Google 搜索的 Model Context Protocol(MCP) 服务。

可直接通过 Claude、VS Code 或任何兼容 MCP 的客户端执行 Google 搜索并获取结构化结果。

功能

  • 网页搜索 - 使用结构化结果进行常规 Google 网页搜索
  • 图片搜索 - 搜索图片并获取 URL 和缩略图
  • 新闻搜索 - 获取任意主题的最新新闻文章
  • 视频搜索 - 查找来自 YouTube 等来源的视频
  • 地点搜索 - 搜索本地商家和地点
  • 地图搜索 - 查找位置和地理信息
  • 知识图谱 - 获取结构化实体信息
  • 本地化 - 支持多个国家和语言
  • 时间筛选 - 按时间范围筛选结果

工具参考

工具描述
serp_google_search使用 SERP API 搜索 Google 并获取结构化结果。
serp_google_images搜索 Google 图片并获取图片结果。
serp_google_news搜索 Google 新闻并获取新闻文章结果。
serp_google_videos搜索 Google 视频并获取视频结果。
serp_google_places在 Google 上搜索本地地点和商家。
serp_google_maps在 Google 地图上搜索位置。
serp_list_search_types列出所有可用的 Google 搜索类型。
serp_list_countries列出 Google 搜索中常用的国家代码。
serp_list_languages列出 Google 搜索中常用的语言代码。
serp_list_time_ranges列出 Google 搜索中可用的时间范围筛选条件。
serp_get_usage_guide获取 Google SERP 工具的全面使用指南。

连接:托管 OAuth、API 令牌或本地 stdio

托管端点为 https://serp.mcp.acedata.cloud/mcp。为 MCP 客户端选择一种方式:

方式适用情况凭据设置
托管 OAuth客户端支持远程 MCP OAuth只添加 URL,然后登录 AceDataCloud 并批准访问。无需将令牌粘贴到客户端配置中。
托管 API 令牌客户端无法完成 OAuth,或你需要明确的集成凭据在 Authorization: Bearer … 标头中发送 AceDataCloud API 令牌。将其保存在本地密钥存储或环境变量中。
本地 stdio客户端运行本地 MCP 进程安装 mcp-serp 并将 ACEDATACLOUD_API_TOKEN 传递给该进程。它仍会调用 AceDataCloud API。

托管服务提供 OAuth 元数据和动态客户端注册(DCR)。DCR 注册的是客户端应用,而不是 API 密钥。 OAuth 会为你登录,客户端会发送由此获得的 Bearer 令牌;它可能会为该账户重复使用或创建 API 凭据。浏览器登录仍需要 AceDataCloud 账户。托管服务可能按用量计费:在执行实际操作前,请查看当前服务文档和所示价格。不要为同一服务器同时配置 OAuth 登录和固定的 Authorization 标头。

托管 OAuth 示例
  • Claude 和 Claude Desktop 聊天: 在 Customize → Connectors → Add custom connector 中添加远程自定义连接器,输入 https://serp.mcp.acedata.cloud/mcp,选择登录;如果 Claude 询问如何注册其 OAuth 客户端,请选择 Register automatically。完成授权。Claude Desktop 的本地 claude_desktop_config.json 是单独的配置方式。Claude 连接器指南。
  • Claude Code: 运行 claude mcp add --transport http --scope user serp https://serp.mcp.acedata.cloud/mcp,然后启动 claude,打开 /mcp 并验证 Serp 服务。Claude Code MCP 指南。
  • Cursor: 添加远程服务器,只需填写 https://serp.mcp.acedata.cloud/mcp。对于项目,将以下条目合并到 <project>/.cursor/mcp.json 中;个人使用时,请使用 ~/.cursor/mcp.json。Cursor MCP 指南。
  • VS Code / Copilot: 运行 MCP: Add Server,选择 HTTP,输入 https://serp.mcp.acedata.cloud/mcp,然后完成浏览器登录。新的便携式工作区配置使用 <project>/.mcp.json;以下 VS Code 专用格式使用 <project>/.vscode/mcp.json 或用户配置文件。检查 MCP: List Servers。VS Code MCP 设置。
  • Codex: 运行 codex mcp add serp --url https://serp.mcp.acedata.cloud/mcp,然后运行 codex mcp login serp。其用户设置位于 ~/.codex/config.toml。Codex 官方 MCP 指南。

Cursor 项目配置(OAuth):

{
  "mcpServers": {
    "serp": {"url": "https://serp.mcp.acedata.cloud/mcp"}
  }
}

VS Code 专用工作区配置(OAuth):

{
  "servers": {
    "serp": {"type": "http", "url": "https://serp.mcp.acedata.cloud/mcp"}
  }
}
托管 API 令牌
  1. 打开 Ace Data Cloud → Applications。登录,或先注册账号。
  2. 找到 General application。如果尚未创建,请选择 Initialize General Application。通用密钥可使用账号可用的服务;专用应用的密钥则仅限其对应服务。确认所需的服务/模型访问权限,并查看当前定价。
  3. 从应用卡片中复制 API Key,或打开 Keys / Manage Keys → Create,为此集成创建单独的密钥。为密钥取一个易于识别的名称,以便单独撤销或轮换。
  4. 创建密钥时,请查看 Expiration Time、Set Usage Limitation 和 Allowed APIs。仅启用所需的限制,并允许将要调用的操作,然后点击 Create,再从密钥列表中复制令牌。查询任务不代表有权提交生成请求。确认应用余额足以支付首次请求;任何试用额度均以账号当前显示为准。
  5. 仅复制令牌值,不要带引号、空格或 Bearer 。API Key / API Token 字段需要此原始值;只有手动配置 HTTP Authorization 标头时才需要 Bearer 前缀。platform-... 账号管理令牌不能替代生成 API 密钥。

复制应用 API 密钥或打开 Manage Keys

创建带有可选限制的独立命名密钥

将密钥保存在客户端的凭据存储中,或保存在下方所示的环境变量中。切勿将其放入提示词、共享工作流、截图或 Git 提交中。如果身份验证失败,请先检查复制的完整值、应用/服务访问权限、有效期、使用限制和余额,再创建其他密钥。

固定的 Bearer 标头会绕过 OAuth。如果标头无效,请先移除它,再尝试通过浏览器登录;请妥善保管已保存的凭据。

对于 Claude Code,添加服务时,Shell 会展开令牌;请将已保存的用户 MCP 配置视为机密:

export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
claude mcp add --transport http --scope user serp https://serp.mcp.acedata.cloud/mcp \
  --header "Authorization: Bearer $ACEDATACLOUD_API_TOKEN"

对于 Claude Code 项目配置,请在 <project>/.mcp.json 中放入变量引用,并在启动 Claude Code 的环境中设置该变量:

{
  "mcpServers": {
    "serp": {
      "type": "http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {"Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}"}
    }
  }
}

Cursor 在 ~/.cursor/mcp.json 或未提交的项目配置中使用不同的环境变量语法:

{
  "mcpServers": {
    "serp": {
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {"Authorization": "Bearer ${env:ACEDATACLOUD_API_TOKEN}"}
    }
  }
}

在 VS Code 中,运行 MCP: Open User Configuration,并合并此服务及其掩码输入;${input:...} 适用于 VS Code 的用户/工作区格式,不能移植到 Agent Host 的 .mcp.json 格式:

{
  "inputs": [
    {"id": "acedata-serp-token", "type": "promptString", "description": "AceDataCloud API token", "password": true}
  ],
  "servers": {
    "serp": {
      "type": "http",
      "url": "https://serp.mcp.acedata.cloud/mcp",
      "headers": {"Authorization": "Bearer ${input:acedata-serp-token}"}
    }
  }
}

对于 Cline,请使用其 MCP 配置界面或 CLI 文件 ~/.cline/data/settings/cline_mcp_settings.json;其远程传输值为 streamableHttp。对于 JetBrains AI Assistant,请从 Settings → Tools → AI Assistant → Model Context Protocol (MCP) 添加远程 URL。对于 Zed,OAuth 场景下请使用仅包含 URL 的 context_servers 条目,或添加本地 Bearer 标头。这些客户端的配置架构各不相同;请遵循其当前界面,而不要复制其他客户端的 JSON。Cline · JetBrains · Zed。

本地 stdio

安装软件包,并为本地进程提供 API 令牌:

python -m pip install mcp-serp
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
mcp-serp

对于 Claude Desktop 本地 MCP,请将此条目合并到其开发者设置打开的文件中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json)。uvx 需要在 PATH 中安装 uv:

{
  "mcpServers": {
    "serp": {
      "command": "uvx",
      "args": ["mcp-serp"],
      "env": {"ACEDATACLOUD_API_TOKEN": "YOUR_API_TOKEN"}
    }
  }
}

请妥善保管此用户级文件。可自托管的 HTTP 使用 mcp-serp --transport http --port 8000;仅在具备适当网络和 TLS 控制措施的情况下对外开放。本地执行仍会调用 AceDataCloud API。

使用服务前的检查
  1. https://serp.mcp.acedata.cloud/health 返回 {"status":"ok"} 仅表示端点可访问。
  2. 确认 MCP 客户端已加载工具。serp_list_search_types 和 serp_get_usage_guide 是本地参考工具,不会产生搜索 API 费用;它们无法验证下游 API 访问情况或余额。搜索工具为只读工具,但会消耗 Credits,重复搜索可能再次产生费用。
  3. 如果需要完整的 API 检查,请先查看当前服务文档和显示的定价,然后使用你自己的有效输入调用 serp_google_search。

如果遇到 401,请检查客户端使用了哪种身份验证方式,以及令牌或 OAuth 会话是否有效。403 可能表示账户权限问题或内容审核失败;请查看返回的错误信息。余额不足和下游服务故障需要分别排查。工具已列出或任务已提交,并不代表已成功获得结果。

可用工具

搜索工具
工具描述
serp_google_search提供全部选项的灵活 Google 搜索
serp_google_images搜索图片
serp_google_news搜索新闻文章
serp_google_videos搜索视频
serp_google_places搜索本地地点/商家
serp_google_maps搜索地图位置
信息工具
工具描述
serp_list_search_types列出可用的搜索类型
serp_list_countries列出用于本地化的国家/地区代码
serp_list_languages列出用于本地化的语言代码
serp_list_time_ranges列出时间范围筛选选项
serp_get_usage_guide获取完整的使用指南

使用示例

基本网页搜索
User: Search for information about artificial intelligence

Claude: I'll search for information about AI.
[Calls serp_google_search with query="artificial intelligence"]
按时间范围筛选的新闻搜索
User: What's the latest news about technology?

Claude: I'll search for recent tech news.
[Calls serp_google_news with query="technology", time_range="qdr:d"]
本地化搜索
User: Find popular restaurants in Tokyo

Claude: I'll search for restaurants in Tokyo.
[Calls serp_google_places with query="popular restaurants Tokyo", country="jp"]
图片搜索
User: Find images of the Northern Lights

Claude: I'll search for aurora borealis images.
[Calls serp_google_images with query="Northern Lights aurora borealis"]

搜索参数

搜索类型
类型描述
search常规网页搜索(默认)
images图片搜索
news新闻文章
maps地图结果
places本地商家
videos视频结果
时间范围筛选
代码时间范围
h过去 1 小时
qdr:h过去 1 小时
d过去 1 天
qdr:d过去 1 天
w过去 1 周
qdr:w过去 1 周
m过去 1 个月
qdr:m过去 1 个月
y过去 1 年
qdr:y过去 1 年
图片尺寸筛选(适用于 images 搜索类型)

large、medium、icon、2mp、4mp、6mp、8mp、10mp、12mp、15mp、20mp、40mp、70mp

常见国家/地区代码
代码国家/地区
us美国
uk英国
cn中国
jp日本
de德国
fr法国
常见语言代码
代码语言
en英语
zh-cn简体中文
ja日语
es西班牙语
fr法语
de德语

响应结构

常规搜索结果
  • knowledge_graph:实体信息(公司、人物等)
  • answer_box:直接答案
  • organic:常规搜索结果,包含标题、链接和摘要
  • people_also_ask:相关问题
  • related_searches:相关查询
图片搜索结果
  • images:包含 URL 和缩略图的图片结果
新闻搜索结果
  • news:包含来源和日期的新闻文章

配置

环境变量
变量描述默认值
ACEDATACLOUD_API_TOKEN来自 AceDataCloud 的 API 令牌必填
ACEDATACLOUD_API_BASE_URLAPI 基础 URLhttps://api.acedata.cloud
ACEDATACLOUD_OAUTH_CLIENT_IDOAuth 客户端 ID(托管模式)—
ACEDATACLOUD_PLATFORM_BASE_URL平台基础 URLhttps://platform.acedata.cloud
SERP_REQUEST_TIMEOUT请求超时时间(秒)30
LOG_LEVEL日志级别INFO
命令行选项
mcp-serp --help

Options:
  --version          Show version
  --transport        Transport mode: stdio (default) or http
  --port             Port for HTTP transport (default: 8000)

开发

设置开发环境
# Clone repository
git clone https://github.com/AceDataCloud/SerpMCP.git
cd SerpMCP

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or `.venv\Scripts\activate` on Windows

# Install with dev dependencies
pip install -e ".[dev,test]"
运行测试
# Run unit tests
pytest

# Run with coverage
pytest --cov=core --cov=tools

# Run integration tests (requires API token)
pytest tests/test_integration.py -m integration
代码质量
# Format code
ruff format .

# Lint code
ruff check .

# Type check
mypy core tools
构建与发布
# Install build dependencies
pip install -e ".[release]"

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

项目结构

SerpMCP/
├── core/                   # Core modules
│   ├── __init__.py
│   ├── client.py          # HTTP client for SERP API
│   ├── config.py          # Configuration management
│   ├── exceptions.py      # Custom exceptions
│   └── server.py          # MCP server initialization
├── tools/                  # MCP tool definitions
│   ├── __init__.py
│   ├── search_tools.py    # Search tools
│   └── info_tools.py      # Information tools
├── prompts/                # MCP prompt templates
│   └── __init__.py
├── tests/                  # Test suite
│   ├── conftest.py
│   ├── test_client.py
│   └── test_config.py
├── deploy/                 # Deployment configs
│   └── production/
│       ├── deployment.yaml
│       ├── ingress.yaml
│       └── service.yaml
├── .env.example           # Environment template
├── .gitignore
├── CHANGELOG.md
├── Dockerfile             # Docker image for HTTP mode
├── docker-compose.yaml    # Docker Compose config
├── LICENSE
├── main.py                # Entry point
├── pyproject.toml         # Project configuration
└── README.md

API 参考

此服务封装了 AceDataCloud Google SERP API:

贡献

欢迎贡献!请:

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing)
  3. 提交更改(git commit -m 'Add amazing feature')
  4. 推送到该分支(git push origin feature/amazing)
  5. 创建 Pull Request

文档

文档

许可证

MIT 许可证 - 详情请参阅 LICENSE。

链接


由 AceDataCloud 倾情打造

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。