Untapped SERP

io.github.CTF-MaxPublished by GitHub account CTF-Maxv0.2.0Updated Oct 30, 2026

Real Google results and search volume

Overview

AI-generated overview

Gives an AI agent real Google SERP data and Google Ads search volume through the user's own DataForSEO account, with a daily spend cap.

What you can do
  • Fetch live Google organic results for a keyword, location and device, including People Also Ask, local pack, featured snippet and AI Overview citations
  • Get monthly search volume, CPC, competition and 12-month trend for batches of keywords
  • Estimate the cost of a call and check whether today's spend cap allows it
  • Review spend today and this month, the cap, recent calls and whether credentials are set
When to use it
Useful when an agent needs actual Google rankings or search demand rather than a built-in index: SEO and content research, keyword volume checks, competitor domain visibility, or local search analysis.
Requirements
Runs locally as a plugin for Claude Code or Codex on desktop; needs Python 3.10+ available as python (standard library only). Requires a DataForSEO account with API login and password, supplied via the plugin's secure credential store or the DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD environment variables. Network access to the DataForSEO API endpoints.
Before you install
Calls cost real money on the user's DataForSEO account (for example per SERP depth and per volume call); a daily cap defaults to 1.00 USD and paid calls stop once it would be exceeded. Credentials are sent only to DataForSEO endpoints, but they are account secrets and should be kept in the secure store rather than plain files. Calls with unknown outcomes are not retried but still count against the cap.

Installation

In SourceWeft

  1. Open Untapped SERP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

Source: untapped-serp/README.md at commit c5eb3c7

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

1
  1. v0.2.0LatestOct 22, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts