Skip to main content
Glama

Get Google Search Performance

get_search_console
Read-only

Use this when the user asks how their site does IN GOOGLE SEARCH — queries they rank for, impressions, clicks, CTR, average position. Real Search Console data from their own property, not an estimate. Returns totals plus top queries and top pages. It lags ~2 days, so the newest days are always incomplete — say so rather than reporting a drop. If connected is false, call connect_search_console(app_id) — it returns a consent_url to hand the owner, and that IS the whole setup: the property matching the site's domain is bound automatically as soon as they approve. Do NOT send them hunting through Kleap's settings. If site_selected is false the message names the cause — read it, do not guess: the site has no custom domain (connect_domain first — a {slug}.kleap.io host can never be a Search Console property), or the Google account has no VERIFIED property for that domain yet (add and verify it, then read again — Kleap binds it). For all-source visitors use get_analytics. Requires the analytics:read scope — on INSUFFICIENT_SCOPE the connection has NOT expired: it was authorized before this tool existed and needs one re-authorization to add the scope. Say that, never that it expired.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "app_id": "<app_id>",
      "context": "<context>"
    },
    "name": "get_search_console"
  }
}

Input Schema

NameRequiredDescriptionDefault
app_idYesThe app id to fetch search data for
periodNoTime window: '28d' (default, the window Search Console itself shows), '7d', '30d' or '90d'
contextYesWhy this call, in one short sentence. Used to improve the connector; never include credentials or personal data.

Output Schema

NameRequiredDescriptionDefault
ctrNo
noteNo
app_idNo
clicksNo
periodNo
messageNo
has_dataNo
positionNo
site_urlNo
connectedNo
top_pagesNo
impressionsNo
top_queriesNo
site_selectedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish read-only, non-destructive, and non-open-world behavior, but the description adds important operational context: the data is real Search Console data, lags about two days, and recent days are incomplete. It also explains connection state handling and distinguishes an insufficient-scope error from an expired connection, which meaningfully improves correct invocation and reporting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose, return contents, and the most important caveat about data lag. It is longer than typical because of detailed connector and error-handling guidance, but most sentences carry actionable information rather than repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has meaningful complexity around connection state, verified domains, and OAuth scope, and the description covers those prerequisites and failure modes thoroughly. Since an output schema exists, it need not describe return structure in detail, and the remaining description is sufficient for an agent to call and troubleshoot correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents app_id, period, and context, including the period enum values. The description does not add parameter-specific meaning beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: retrieve Google Search Console performance data for a site, including queries, impressions, clicks, CTR, and average position. It also explicitly distinguishes the tool from get_analytics by saying all-source visitors belong there, so an agent can select the right tool without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance tied to user questions about Google Search performance and names get_analytics as the alternative for all-source visitors. It also covers connection prerequisites, site-selection failures, domain verification, and scope errors with concrete next steps, leaving little ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources