Skip to content

Semscraper

by semscraper.com · remote · no sign-in to list tools · v1.0.0 · published by com.semscraper

Real Google and Google Maps SERPs for AI assistants: pixel positions, AI Overviews and sources.

Changes · 3

8 tools: 3 change things and 5 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http semscraper https://mcp.semscraper.com/mcp --header 'Authorization: <your-authorization>'

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "google_search" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "google_search" says "search": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Changes things 3Claude Code: ask
  • ai_overview_sourcesComputes, on the server, which domains Google cites in the AI Overviews of searches already created (google_search IDs): for each domain, the number of keywords where it is cited, …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Computes, on the server, which domains Google cites in the AI Overviews of searches already created (google_search IDs): for each domain, the number of keywords where it is cited, the number of mentions, the keywords and its best position on the page. Also returns how many searches have an AI Overview. Free. Best tool to answer "which sites does Google cite in its AI Overviews on these keywords": one small answer instead of every SERP. Based on source URLs, not on brand names.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • google_mapsCollects the listings of a Google Maps search for one or more keywords, in the order Google Maps shows them, from a given place.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Collects the listings of a Google Maps search for one or more keywords, in the order Google Maps shows them, from a given place. Each listing comes with its rank, name (title), CID, category (type), address, website, rating, review count, opening status and the snippet shown. Use it for local SEO, local competition and market research. Paid from the account balance, same price as google_search. Returns rating and review count, not the full text of reviews.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 5Claude Code: allow
  • get_balanceReturns the balance of the Semscraper account, in euros.No findings

    Why it is in this group

    • The name "get_balance" says "get": a word for reading.
    Description, as the server wrote it
    Returns the balance of the Semscraper account, in euros. Free.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_queue_statusReturns how many searches of the account are pending, processing or done.No findings

    Why it is in this group

    • The name "get_queue_status" says "get": a word for reading.
    Description, as the server wrote it
    Returns how many searches of the account are pending, processing or done. Free. The account has its own queue: the robots serve accounts in turn, so a large batch flows through gradually.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_serp_resultsReturns searches already created (google_search or google_maps), by their IDs (serp_...), e.g.No findings

    Why it is in this group

    • The name "get_serp_results" says "get": a word for reading.
    Description, as the server wrote it
    Returns searches already created (google_search or google_maps), by their IDs (serp_...), e.g. the pending_ids of a previous call. Free: the searches were paid when created.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • list_google_versionsLists the supported Google versions as location / language pairs (186 Google domains, 117 languages), to pick valid location and language values.No findings

    Why it is in this group

    • The name "list_google_versions" says "list": a word for reading.
    Description, as the server wrote it
    Lists the supported Google versions as location / language pairs (186 Google domains, 117 languages), to pick valid location and language values. Free. Filter with a country domain, a code or a language name to keep the answer short.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • list_searchesLists the searches of the account, most recent first (ID, engine, keyword, device, location, language, depth, geolocation, status, whether the results were already fetched, cost, c…No findings

    Why it is in this group

    • The name "list_searches" says "list": a word for reading.
    Description, as the server wrote it
    Lists the searches of the account, most recent first (ID, engine, keyword, device, location, language, depth, geolocation, status, whether the results were already fetched, cost, creation date), without their results. Free. Covers every search made with the account, through this server or the API. Use it to find IDs (e.g. "the last 10 searches", "today's searches"), and whenever a google_search or google_maps call failed, timed out or lost its answer: the searches were probably created and paid already, so fetch them with get_serp_results instead of searching again.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http semscraper https://mcp.semscraper.com/mcp --header 'Authorization: <your-authorization>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__semscraper__get_serp_results",
      "mcp__semscraper__list_searches",
      "mcp__semscraper__get_balance",
      "mcp__semscraper__list_google_versions",
      "mcp__semscraper__get_queue_status"
    ],
    "ask": [
      "mcp__semscraper__google_search",
      "mcp__semscraper__google_maps",
      "mcp__semscraper__ai_overview_sources"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as semscraper. Review it before you use it.