SearchProbe

Local-first · read-only · open source

Google Search Console for coding agents.

Give MCP clients, Claude Code, Codex, scripts, and your terminal direct, read-only access to Google Search Console. Structured tools, stable JSON, local credentials, and no SearchProbe data plane. SearchProbe is independent and not affiliated with Google.

Public beta · macOS and Linux

$ curl --proto '=https' --proto-redir '=https' --tlsv1.2 --fail --location \
  https://github.com/morgancrozier/searchprobe/releases/download/v0.1.0-beta.4/install.sh \
  -o install-searchprobe.sh
sh ./install-searchprobe.sh --version v0.1.0-beta.4

Downloads the pinned GitHub Release installer. It verifies the selected archive and installs without sudo. Google setup remains an explicit next step.

Product demo

$ gsc performance \
  --site sc-domain:example.com \
  --days 28 \
  --dimensions query
                        QUERY  CLICKS  IMPRESSIONS   CTR  POSITION
                  searchprobe    1248        12931  9.7%       2.3
    google search console cli     412         4982  8.3%       3.1
  search console command line     287         3944  7.3%       4.8
                      gsc cli     219         2847  7.7%       4.1

Site sc-domain:example.com, 2026-08-15 to 2026-09-11 (America/Los_Angeles), type web, data state final, 4 row(s) from 1 request(s).

Search Analytics rows for one property over 28 Pacific Time days, finalized data only. The summary line on stderr records the exact window Google was asked for.

  1. Read only

    Query your data with Google's read-only Search Console scope. Your properties stay unchanged.

  2. Local first

    Credentials are stored on your machine. Search Console requests go directly to Google.

  3. Structured

    Use consistent JSON responses in scripts, jq, and coding agents, with metadata and warnings included.

  4. Open source

    SearchProbe is open source under the MIT License.

Agent workflow

Use SearchProbe with coding agents.

Use the optional local MCP server for structured tools, or let the bundled SearchProbe skill turn a natural question into deterministic gsc evidence.

Ask your coding agent

Which pages lost the most Google visibility in the last 28 days, and are there code changes in this repository that might explain it?

With MCP configured, the agent calls six structured tools through gsc mcp. Otherwise, the bundled skill uses the same local binary and JSON contract. Both paths connect directly to Google and keep observations separate from hypotheses.

$ gsc inspect \
  https://example.com/docs \
  --site sc-domain:example.com \
  --json
{
  "ok": true,
  "data": {
    "site": "sc-domain:example.com",
    "inspectionUrl": "https://example.com/docs",
    "indexStatus": {
      "verdict": "PASS",
      "coverageState": "Submitted and indexed",
      "lastCrawlTime": "2026-09-09T04:18:37Z",
      "googleCanonical": "https://example.com/docs",
      "userCanonical": "https://example.com/docs"
    }
  },
  "meta": {
    "site": "sc-domain:example.com",
    "inspectionUrl": "https://example.com/docs",
    "inspectionType": "indexedVersion",
    "liveTest": false
  },
  "warnings": []
}

Example response, shortened for readability. Full responses also include indexing details, rich results, and a link to the Search Console inspection report.

Quick start

Install, connect Google, and verify access.

  1. Install

    Download the pinned public beta installer from GitHub. It selects the matching macOS or Linux binary and verifies the archive checksum.

    $ curl --proto '=https' --proto-redir '=https' --tlsv1.2 --fail --location \
      https://github.com/morgancrozier/searchprobe/releases/download/v0.1.0-beta.4/install.sh \
      -o install-searchprobe.sh
    sh ./install-searchprobe.sh --version v0.1.0-beta.4
  2. Connect and set up

    Create your Google Cloud project and import its Desktop OAuth JSON once. Setup saves credentials, verifies access, and can install the bundled Claude Code or Codex skill. Follow the Google setup guide.

    $ "$HOME/.local/share/searchprobe/bin/gsc" setup --client-file "$HOME/Downloads/client.json"
  3. Verify

    List the properties your account can access. Use these exact identifiers in queries. The stable JSON envelope is ready for scripts and coding agents.

    $ "$HOME/.local/share/searchprobe/bin/gsc" sites --json