Untapped SERP

io.github.CTF-Max由 GitHub 账号 CTF-Max 发布v0.2.0更新于 Oct 30, 2026

Real Google results and search volume

概览

AI 生成的概览

通过用户自己的 DataForSEO 账户,为 AI 助手提供真实的 Google 搜索结果与 Google Ads 搜索量,并设有每日花费上限。

可以做什么
  • 按关键词、地区与设备获取实时 Google 自然搜索结果,含相关提问、本地包、精选摘要与 AI 概览引用
  • 批量查询关键词的月搜索量、CPC、竞争度与 12 个月趋势
  • 预估单次调用费用,并判断当日上限是否允许执行
  • 查看今日与本月花费、上限、最近调用记录以及凭据是否已配置
适用场景
适合需要真实 Google 排名或搜索需求而非内置索引的场景:SEO 与内容调研、关键词搜索量核对、竞品域名可见度分析或本地搜索研究。
运行要求
以插件形式在桌面端本地运行于 Claude Code 或 Codex;需要 PATH 中有 Python 3.10+(仅标准库)。需要 DataForSEO 账户的 API 登录名与密码,可通过插件安全凭据存储或 DATAFORSEO_LOGIN、DATAFORSEO_PASSWORD 环境变量提供。需能访问 DataForSEO 的 API 端点。
安装前请注意
调用会在用户的 DataForSEO 账户上产生真实费用(如按 SERP 深度和搜索量调用计费);每日上限默认为 1.00 美元,超出即停止付费调用。凭据只发往 DataForSEO 端点,但属于账户机密,应存放在安全凭据库而非明文文件。结果未知的调用不会自动重试,但仍计入当日上限。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Untapped SERP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Untapped SERP

Real Google results and search volume for your AI agent (Codex or Claude Code), through your own DataForSEO account, with a daily spend cap. Built by Find Untapped Growth.

Built-in web search gives an agent a handful of results from its own index. This plugin gives it what Google actually shows for a phrase in a place: positions, People Also Ask, the local pack, which sites an AI Overview cites, the featured snippet, and every spot a given domain holds. It also gives Google Ads monthly search volume.

Tools

ToolWhat it doesCost to you (DataForSEO list price, read 2026-10-09)
google_serpLive Google organic results for one keyword + location + device$0.002 per 10 results (depth 10 = $0.002); search operators like site: cost 5×
google_search_volumeMonthly volume, CPC, competition, 12-month trend for 1–100 keywords (1000 with allow_large_batch)$0.09 per call, any number of keywords
serp_estimateCost reserve for a call and whether today's cap allows itfree
serp_spendSpend today / this month, the cap, the last 10 calls, whether credentials are setfree

Prices: SERP · depth billing · Google Ads volume. The plugin records the cost each response reports, so your ledger reflects what DataForSEO charged, not our estimate.

Install

  • Claude Code: /plugin install untapped-serp --marketplace CTF-Max/untapped-plugins (or, from a terminal: claude plugin marketplace add CTF-Max/untapped-plugins, then claude plugin install untapped-serp@untapped-plugins).
  • Codex: codex plugin marketplace add CTF-Max/untapped-plugins, then codex plugin add untapped-serp@untapped-plugins.
  • Needs Python 3.10+ on PATH as python. Standard library only: nothing to pip install.

Setup

  1. Create a DataForSEO account and copy your API login and password (dashboard → API Access).
  2. Give them to the plugin:
    • Claude Code asks for them in the plugin's settings when you enable it (later: /plugin → untapped-serp → configure). They are kept in your computer's secure credential store, not in a settings file.
    • Codex: set them as environment variables, then restart Codex:
      powershell
      setx DATAFORSEO_LOGIN "[email protected]"setx DATAFORSEO_PASSWORD "your-api-password"
      (macOS/Linux: export them in your shell profile.)

Settings

Setting (Claude Code) / variableDefaultMeaning
Daily spend cap / UNTAPPED_SERP_DAILY_CAP_USD1.00Paid calls stop once charged + in-flight spend for the UTC day would pass this
UNTAPPED_SERP_SANDBOXoff1 = use DataForSEO's free sandbox (dummy data, labelled sandbox: true)
UNTAPPED_SERP_HOME~/.untapped-plugins/serp (Windows: C:\Users\<you>\.untapped-plugins\serp)Where the cache + spend ledger live

Money safety

  • Same request again within its cache window (SERP 24 h, volume 30 days) = no new charge. max_age_hours: 0 forces fresh.
  • A call whose outcome is unknown (timeout, dropped connection) is never retried automatically; its reserve stays counted against today's cap.
  • Only two HTTPS endpoints on api.dataforseo.com (or sandbox.dataforseo.com) are ever called; proxies and redirects are refused so your credentials can't be sent anywhere else.
  • dry_run: true or serp_estimate shows the cost without calling.

Limits worth knowing

  • One SERP = one location, one device, one moment. Rankings move by street and by hour.
  • Google Ads volumes are rounded buckets and are often null (no data) for small local phrases; null is never zero.
  • target: "not in top N" means not found in the results fetched, not "not indexed".

Development

python -m unittest discover -s untapped-serp/tests   # offline, 21 testspython tools/sync_shared.py --check                  # shared MCP lib copies are currentpython tools/serp_smoke.py                           # free sandbox round trip

来源:untapped-serp/README.md,提交 c5eb3c7

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

1
  1. v0.2.0最新Oct 22, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分