MCPMCP-Tools/Einträge/get_location_listing_overview

get_location_listing_overview

Readlistings:read

Listings overview for one location: publisher sync status, GBP completeness, directory connections, duplicates, what needs fixing. Use for listing health check, directory audit. `citationIndex.inventory` lists today's live listing pages with whether Google Search shows each (indexed / not_indexed / pending / not_checked); pending and not_checked are unknown, never a negative, and `checkedAt`/`indexedAt` are when that evidence was recorded. Each status is the last RECORDED result, not a live check: a page confirmed indexed is not re-checked, so `inventory.latestEvidenceAt` (the newest check or confirmation) can be a confirmation date with no check behind it. `citationIndex.current`/`previous` are weekly snapshots of past inventories (`weekStart` is the week, `recordedAt` when it was written) and are not comparable with today's inventory counts. `mapsVisibility` is Top 3 on Google Maps for ONE keyword (`selectedKeywordId`; pass `keywordId` from `mapsVisibility.keywords` for another, otherwise `selection: "default"` is the newest keyword with a measured scan) from ONE stored scan (`report`): `report.top3` of `report.measured` counted spots were in the top 3, and `competitors[].top3Spots` count over those same spots (businesses share spots, so they don't add up). A spot `outside` the tracked top 20 is not a position; `noData` is a failed spot, not a ranking; `water`/`excluded` spots don't count. `report: null` means no measured scan, never 0%. `newerUnmeasured` is a newer scan that measured nothing countable. Only spots from the CURRENT keyword text and grid count: `withheld` spots (`report.withheldPoints`) came from an earlier setup, and `report.evidence: "unverified"` means a legacy scan whose keyword and grid can't be confirmed. `report.completedAt` is set only when these exact rows are a proven full-grid collection; otherwise only `report.generatedAt` is known: the report's recorded date (set at its first finalization, not moved by later row changes), so neither a collection nor a last-update time, and never a live check. `businessPoint` is the sampled spot CLOSEST to the address, not the address. `scanInProgress` is location-wide and doesn't say which keywords the run covers. Competitor `id` is `id:<place id>` or name+address; `name` may be empty. When you tell the user about listing sync, state it as a percentage only; never quote synced/total counts (e.g. never '39/57' or '39 of 57').

Parameter
locationIdstringerforderlich
Location database ID or public loc_ ID (from list_locations or create_location). Accepts the database ID or public loc- ID. IDs must belong to the authenticated agency and permitted client.
keywordIdstringoptional
Optional: a tracked keyword id from `mapsVisibility.keywords` to read Top 3 on Google Maps for.
Beispielanfrage
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_location_listing_overview",
    "arguments": {
      "locationId": "string"
    }
  }
}
Beispielantwort
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      }
    ]
  }
}

Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.