_ registry / mcp streamable-http · checked 1h ago

organiq

https://organiqgeo.com

Registry code: 733b1c76dafffad8

api record

Organiq: Google Search Console data (read-only Google access) (plus GA4 sessions from AI assistants, Bing Webmaster, CrUX Core Web Vitals, URL inspections, sitemaps and the imported AI Overviews impressions report) for the properties connected to the signed-in account; synced daily into Organiq's own database.

Units: clicks/impressions: integers; ctr: fraction 0–1 (0.052 = 5.2%); position: impression-weighted average, lower is better; dates: yyyy-mm-dd. (Note: ctr here is a fraction; some other tools report 0–100.)

endpoint
https://organiqgeo.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is organiq live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is organiq free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does organiq have?
44 tools: get_site_summary, get_timeseries, get_query_performance, get_longtail_clusters, list_url_inspections, list_ga4_properties, get_capabilities, list_sites, ….
Is organiq safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
591ms

last good check

priced tools
0

of 44 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 44 tools
2 open1 auth-required 41 never probed 3 of 44 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • check_connection open 1h ago

    Reports whether this request is authenticated and, if so, which Organiq account it uses (name, plan, how it authenticated), how many Search Console properties are available with their data coverage, and what is missing (no account, no properties, and per property GA4, Bing and branded terms) with the panel URL and the steps that resolve each gap. Without credentials it explains how to connect. Use it when a tool returned unauthorized/site_not_found or before a first analysis. / Diz se há conta, propriedades, plano e o que falta, com a URL para resolver.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • get_ctr_benchmark open 1h ago

    Returns the generic organic click-through-rate curve by Google position (1–20, fraction 0–1) used by score_opportunities and find_page_poaching_opportunities as the fallback when a property lacks its own volume, optionally interpolated for a fractional position. No account needed; no property data involved. Use it to estimate expected clicks for a position or to explain a CTR gap. / Curva genérica de CTR por posição, sem login.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "position": {
          "type": "number",
          "maximum": 100,
          "minimum": 1,
          "description": "Optional fractional position (e.g. 4.6) to get the interpolated expected CTR."
        },
        "impressions": {
          "type": "integer",
          "minimum": 0,
          "description": "Optional impressions to convert the expected CTR into expected clicks."
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • analyze_cannibalization auth-required 1h ago

    Queries where 2+ pages of the property compete for the same search in the period. Per cluster: totals, Shannon entropy of impressions across pages (bits; higher = more even split = worse; level high >= 1.5, medium >= 1.0), normalized (0–1), winner (most clicks; tie: best position) and the contenders with clicks/impressions/ctr/position/impressionShare. Sorted by entropy and impressions. Protocol/host/hash variants of one URL are canonical hygiene, not cannibalization; brand + home + deep page is usually sitelinks. Use when asked which page should rank for a keyword. / Canibalização de queries.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Clusters (default 50)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "minPages": {
          "type": "integer",
          "minimum": 2,
          "description": "Minimum pages per query (default 2)."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 1,
          "description": "Minimum cluster impressions (default 10; large sites 100)."
        }
      },
      "additionalProperties": false
    }
    arguments 89 lines
  • get_site_summary unknown never probed

    Totals of clicks, impressions, CTR and average position for one property over the period, with the comparison period and the change (absolute, Pct as fraction, ctrPoints in percentage points, position difference where negative means improvement). Accepts all filters (country, device, brand, page, query). Start here for "how is site X doing". / Resumo da propriedade com comparação.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 82 lines
  • get_timeseries unknown never probed

    Clicks, impressions, CTR and position per day, week (Monday as key) or month (yyyy-mm) over the period, with filters. Use for trend, seasonality and to locate the date of a drop. Days without data are omitted. / Série temporal por dia, semana ou mês.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "granularity": {
          "enum": [
            "day",
            "week",
            "month"
          ],
          "type": "string",
          "description": "Grouping (default day)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 82 lines
  • get_query_performance unknown never probed

    Daily performance of ONE search query on the property (optionally on one page). Returns totals for the period and the comparison with change, the daily (or weekly) series and the top counterparts (pages ranking for the query). Exact match (case-insensitive for queries); when nothing matches, the error lists up to 5 candidates containing the text. / Série de uma query exata.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site",
        "query"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "page": {
          "type": "string",
          "description": "Optional exact page URL to restrict the query to one page."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "minLength": 1,
          "description": "The exact query text (case-insensitive). Required."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "granularity": {
          "enum": [
            "day",
            "week",
            "month"
          ],
          "type": "string",
          "description": "Series grouping (default day)."
        },
        "counterparts": {
          "type": "integer",
          "maximum": 50,
          "minimum": 0,
          "description": "Top pages to include (default 10)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 103 lines
  • get_longtail_clusters unknown never probed

    Splits the period's queries into head, chunky middle and long tail by word count (preset balanced: 1–2 / 3–4 / 5+ words; strict: 1 / 2–3 / 4+; loose: 1–3 / 4–5 / 6+), with queries, clicks, impressions, ctr, position, shares and top examples per tier, plus a Pareto view (share of clicks held by the top 10 % / 25 % / 50 % of queries). Use for "how dependent are we on a few head terms", "how much comes from long-tail", content-planning by intent length. / Cauda longa por nº de palavras e curva de Pareto.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "preset": {
          "enum": [
            "balanced",
            "strict",
            "loose"
          ],
          "type": "string",
          "description": "Word-count thresholds (default balanced)."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "examples": {
          "type": "integer",
          "maximum": 20,
          "minimum": 0,
          "description": "Examples per tier (default 5)."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 1,
          "description": "Minimum impressions per query (default 1)."
        }
      },
      "additionalProperties": false
    }
    arguments 93 lines
  • list_url_inspections unknown never probed

    Latest stored URL Inspection result per URL of the property: verdict, coverageState, indexingState, robotsState, pageFetchState, Google vs user canonical, lastCrawlTime, crawledAs, mobileVerdict, checkedAt and whether the URL is on the tracked list. Filter by status (indexed / not_indexed) or by URL text. hasData=false when no inspection is stored yet. Use after get_indexing_tracker to see specific URLs, or to check one URL's state. / Resultado da inspeção de cada URL (indexada?, canonical, último crawl).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "limit": {
          "type": "integer",
          "maximum": 2000,
          "minimum": 1,
          "description": "Rows (default 100)."
        },
        "status": {
          "enum": [
            "all",
            "indexed",
            "not_indexed"
          ],
          "type": "string",
          "description": "Filter (default all)."
        },
        "urlContains": {
          "type": "string",
          "description": "Only URLs containing this text."
        }
      },
      "additionalProperties": false
    }
    arguments 34 lines
  • list_ga4_properties unknown never probed

    Lists the Google Analytics 4 properties the connected Google account can see (Analytics Admin API accountSummaries.list): id (numeric, the value set_ga4_property takes), displayName and the GA4 account name, sorted by account. Needs an active Google connection in the Organiq account that granted analytics.readonly; otherwise no_data with reason scope_missing / no_connection / token_revoked and the step that fixes it. Use it before set_ga4_property to find the property id, or when the user does not know their GA4 property id. Guide: https://organiqgeo.com/connect/ga4. / Lista as propriedades GA4 da conta Google conectada, para escolher o id em set_ga4_property.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • get_capabilities unknown never probed

    Returns a factual overview of this connector: what data it holds (Google Search Console synced daily into Organiq, plus GA4 referral sessions from AI assistants), the list of tools with when to use each, units, default periods, how to connect an account (OAuth or API key), rate limits and example questions. Works without signing in. Use it first when you do not know what this server can answer. / Visão geral factual do conector, sem login: dados, ferramentas, unidades, como conectar, limites.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "language": {
          "enum": [
            "en",
            "pt"
          ],
          "type": "string",
          "description": "Language of the texts (default en)."
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • list_sites unknown never probed

    Lists the Search Console properties synced for the signed-in account: id, siteUrl (Search Console format), displayName, tags, branded_terms (used by the brand filter), whether GA4/Bing are mapped and the data coverage (dataFrom/dataTo, web search). Use it first when you do not know the exact name of a site or need the date range available. Default: visible properties only. / Propriedades da conta com cobertura de dados.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "includeHidden": {
          "type": "boolean",
          "description": "Include hidden properties (visible = false)."
        }
      },
      "additionalProperties": false
    }
    arguments 11 lines
  • query_top_queries unknown never probed

    Search queries of one property over the period, aggregated and sorted. Use for "what people search to find us", growth/decline lists and ranking changes. Each row has clicks, impressions, ctr, position for the period and, with a comparison, prevClicks/prevImpressions/prevCtr/prevPosition plus clicksChange/clicksChangePct/positionChange (keys present in only one period show zeros in the other). sort: clicks (default), impressions, ctr, position (lowest first), growth (largest click gain vs comparison first) or decline (largest loss first). For ctr/position use minImpressions >= 20 to avoid noise. / Queries da propriedade, agregadas e ordenadas.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "sort": {
          "enum": [
            "clicks",
            "impressions",
            "ctr",
            "position",
            "growth",
            "decline"
          ],
          "type": "string",
          "description": "Sort order (default clicks)."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1,
          "description": "Rows (default 50, max 1000)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 0,
          "description": "Drop keys with fewer impressions than this in both periods (default 1)."
        }
      },
      "additionalProperties": false
    }
    arguments 105 lines
  • query_top_pages unknown never probed

    Pages (URLs) of one property over the period, aggregated and sorted. Use for best/worst pages and pages that gained or lost clicks. Each row has clicks, impressions, ctr, position for the period and, with a comparison, prevClicks/prevImpressions/prevCtr/prevPosition plus clicksChange/clicksChangePct/positionChange (keys present in only one period show zeros in the other). sort: clicks (default), impressions, ctr, position (lowest first), growth (largest click gain vs comparison first) or decline (largest loss first). For ctr/position use minImpressions >= 20 to avoid noise. / Páginas da propriedade, agregadas e ordenadas.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "sort": {
          "enum": [
            "clicks",
            "impressions",
            "ctr",
            "position",
            "growth",
            "decline"
          ],
          "type": "string",
          "description": "Sort order (default clicks)."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1,
          "description": "Rows (default 50, max 1000)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 0,
          "description": "Drop keys with fewer impressions than this in both periods (default 1)."
        }
      },
      "additionalProperties": false
    }
    arguments 105 lines
  • query_countries unknown never probed

    Countries (ISO-3166-1 alpha-3, lowercase, e.g. bra) of one property over the period. Each row has clicks, impressions, ctr, position for the period and, with a comparison, prevClicks/prevImpressions/prevCtr/prevPosition plus clicksChange/clicksChangePct/positionChange (keys present in only one period show zeros in the other). sort: clicks (default), impressions, ctr, position (lowest first), growth (largest click gain vs comparison first) or decline (largest loss first). For ctr/position use minImpressions >= 20 to avoid noise. / Por país.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "sort": {
          "enum": [
            "clicks",
            "impressions",
            "ctr",
            "position",
            "growth",
            "decline"
          ],
          "type": "string",
          "description": "Sort order (default clicks)."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1,
          "description": "Rows (default 50, max 1000)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 0,
          "description": "Drop keys with fewer impressions than this in both periods (default 1)."
        }
      },
      "additionalProperties": false
    }
    arguments 105 lines
  • query_devices unknown never probed

    Devices (MOBILE, DESKTOP, TABLET) of one property over the period. Each row has clicks, impressions, ctr, position for the period and, with a comparison, prevClicks/prevImpressions/prevCtr/prevPosition plus clicksChange/clicksChangePct/positionChange (keys present in only one period show zeros in the other). sort: clicks (default), impressions, ctr, position (lowest first), growth (largest click gain vs comparison first) or decline (largest loss first). For ctr/position use minImpressions >= 20 to avoid noise. / Por dispositivo.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "sort": {
          "enum": [
            "clicks",
            "impressions",
            "ctr",
            "position",
            "growth",
            "decline"
          ],
          "type": "string",
          "description": "Sort order (default clicks)."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1,
          "description": "Rows (default 50, max 1000)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 0,
          "description": "Drop keys with fewer impressions than this in both periods (default 1)."
        }
      },
      "additionalProperties": false
    }
    arguments 105 lines
  • get_breakdown unknown never probed

    Splits the period's traffic into branded/nonBranded (by the property's branded_terms) and into position bands (1-3, 4-10, 11-20, 21+) with impressions and clicks per band, plus queryCount. Position of each query = impression-weighted average over the period. Without branded terms on the property everything counts as nonBranded and the response says where to set them. Use for "how much of our traffic is brand" and "how much sits on page 2". / Marca × sem marca e faixas de posição.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 73 lines
  • get_annotations unknown never probed

    Events annotated in the period for the property and globally: deploys, content changes, manual notes and Google algorithm updates (category "algo_update"). Use to correlate drops or gains with causes. Default: last 90 days. / Anotações e algo updates do período.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        }
      },
      "additionalProperties": false
    }
    arguments 31 lines
  • get_ai_traffic unknown never probed

    Referral sessions from AI assistants (chatgpt.com, perplexity.ai, gemini, copilot, claude…) according to GA4 (dimension ai_source): per source (sessions, activeUsers, engagedSessions, keyEvents) for the period and the comparison, totals and daily series. site also accepts "all" for the whole account. A property without GA4 returns the error no_data with the panel URL where GA4 is connected (site="all" returns hasGa4=false and a setup note instead). Limitation: Search Console does not separate clicks from AI Overviews / AI Mode; only referral traffic is measurable. / Sessões vindas de IAs segundo o GA4.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property (as in other tools) or \"all\" for the whole account."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        }
      },
      "additionalProperties": false
    }
    arguments 40 lines
  • get_ctr_curve unknown never probed

    The property's real CTR by position (bucket = round(position), 1–20, impression-weighted) compared with the generic benchmark (31.7% at position 1 … 18.6% at 3 … 2.0% at 10). deltaPoints in percentage points (negative = below expected: likely title/meta problem); reliable = bucket with enough impressions. Use to find where titles underperform. / Curva de CTR própria × benchmark.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 1,
          "description": "Minimum impressions for a bucket to be reliable (default 500)."
        }
      },
      "additionalProperties": false
    }
    arguments 78 lines
  • find_decaying_content unknown never probed

    Pages (or queries) that lost clicks between a BASELINE and the RECENT period. Recent = days/startDate/endDate; baseline = compare (previous = window before, year = one year earlier) or explicit comparisonStartDate/comparisonEndDate (for slow decay compare with 6–12 months ago). Classifies the drop: severe > 50%, moderate 20–50%, mild < 20%; sorted by absolute clicks lost; pattern hints the diagnosis (position_slipped, impressions_collapsed, ctr_dropped, disappeared, mixed). Use for "which pages are dying" and refresh candidates. / Conteúdo em decaimento.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Rows (default 50)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "dimension": {
          "enum": [
            "page",
            "query"
          ],
          "type": "string",
          "description": "page (default) or query."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "comparisonEndDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Explicit baseline end."
        },
        "minBaselineClicks": {
          "type": "integer",
          "minimum": 1,
          "description": "Ignore keys with fewer clicks than this in the baseline (default 5; small sites: 1–3)."
        },
        "comparisonStartDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Explicit baseline start (with comparisonEndDate; overrides compare)."
        }
      },
      "additionalProperties": false
    }
    arguments 111 lines
  • score_opportunities unknown never probed

    Queries between minPosition and maxPosition whose CTR is below the expected CTR for their position. expectedCtr comes from the property's own curve (ctrSource "own", when the bucket has volume) or from the benchmark; ctrGap = expected − ctr (fraction); lostClicks = impressions × gap; score 0–100 log-normalized by the largest lostClicks (level high >= 80, medium >= 60). Use for title/meta-description quick wins. / Oportunidades por CTR abaixo do esperado.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Rows (default 25)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "maxPosition": {
          "type": "number",
          "minimum": 1,
          "description": "Maximum position (default 30)."
        },
        "minPosition": {
          "type": "number",
          "minimum": 1,
          "description": "Minimum position (default 3)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 1,
          "description": "Minimum query impressions (default 20)."
        }
      },
      "additionalProperties": false
    }
    arguments 94 lines
  • find_page_poaching_opportunities unknown never probed

    Queries just outside the top (default positions 4–20) with the estimated click gain if they reached the CTR of the target position (default 3 → 18.6% benchmark, or the property's own CTR at that position when it has volume: see ctrSource). estimatedGain = max(0, round(impressions × (targetCtr − ctr))). Sorted by impressions (default) or by gain. Use for "what is close to page one / top 3". / Queries perto do topo com ganho estimado.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "sort": {
          "enum": [
            "impressions",
            "gain"
          ],
          "type": "string",
          "description": "Sort (default impressions)."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Rows (default 25)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "maxPosition": {
          "type": "number",
          "minimum": 1,
          "description": "Maximum position (default 20)."
        },
        "minPosition": {
          "type": "number",
          "minimum": 1,
          "description": "Minimum position (default 4)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 1,
          "description": "Minimum query impressions (default 20)."
        },
        "targetPosition": {
          "type": "integer",
          "maximum": 20,
          "minimum": 1,
          "description": "Target position whose CTR defines the gain (default 3)."
        }
      },
      "additionalProperties": false
    }
    arguments 108 lines
  • get_ranking_changes unknown never probed

    Classifies each query (or page) of the property by what happened between the comparison period and the current one: new (appeared), lost (disappeared), improved (position better by >= minPositionChange), declined (worse) or stable. Rows carry clicks/impressions/ctr/position for both periods, positionChange (negative = improved) and clicksChange; summary counts every status plus clicks gained from new and lost keys. Sorted by impressions then by size of the move. Use for "what did we gain or lose in rankings", "which queries fell off", "new queries this month". / Queries ou páginas novas, perdidas, que subiram ou caíram entre dois períodos.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Rows (default 50)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "status": {
          "enum": [
            "all",
            "new",
            "lost",
            "improved",
            "declined",
            "stable"
          ],
          "type": "string",
          "description": "Only this status (default all = every status except stable)."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "dimension": {
          "enum": [
            "query",
            "page"
          ],
          "type": "string",
          "description": "query (default) or page."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "minImpressions": {
          "type": "integer",
          "minimum": 1,
          "description": "Ignore keys with fewer impressions than this in both periods (default 10)."
        },
        "minPositionChange": {
          "type": "number",
          "minimum": 0.1,
          "description": "Positions a key must move to count as improved/declined (default 1)."
        }
      },
      "additionalProperties": false
    }
    arguments 118 lines
  • get_position_distribution unknown never probed

    How the property's queries spread across position bands 1-3, 4-10, 11-20 and 21+ for each day (or week) of the period: number of queries, clicks, impressions and impression share per band. Each query's position for a day is its impression-weighted average that day. Also returns the period aggregate and the share shift between the first and the last week (sharePoints, percentage points). Use for "are we moving from page 2 to page 1", "how much visibility sits beyond position 10", or to see when a band changed. / Faixas de posição por dia ou semana, com deslocamento entre a primeira e a última semana.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "granularity": {
          "enum": [
            "day",
            "week"
          ],
          "type": "string",
          "description": "day (default) or week (Monday as key)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 81 lines
  • get_branded_performance unknown never probed

    Daily series of branded and non-branded traffic (clicks, impressions, ctr, position per group, plus brandedClickShare) with totals for the period and the comparison, using the property's branded_terms. brandedTermsConfigured=0 means no terms are set and everything counts as non-branded (set them in the "Integrações" block of the property in the Organiq panel; the response carries the URL). Use to separate brand demand from SEO work, to check whether a drop was brand or non-brand, and to track brand share over time. / Marca × sem marca por dia, com totais e comparação.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "granularity": {
          "enum": [
            "day",
            "week"
          ],
          "type": "string",
          "description": "day (default) or week."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 90 lines
  • breakdown_by_path unknown never probed

    Groups the property's pages by host (subdomain) and by the first `depth` path segments (1–4), e.g. "example.com/blog/*": pages per group, clicks, impressions, ctr, position, clickShare, comparison (prevClicks, clicksChange, clicksChangePct, positionChange) and the top 3 pages of each group. Sorted by clicks. Use for "which section drives traffic", "is the blog growing", "how is the /pt/ folder doing" and to compare subdomains. / Tráfego por subdomínio e pasta (profundidade 1–4).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "depth": {
          "type": "integer",
          "maximum": 4,
          "minimum": 1,
          "description": "Path depth (default 1: first folder)."
        },
        "limit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 1,
          "description": "Groups (default 50)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "minClicks": {
          "type": "integer",
          "minimum": 0,
          "description": "Hide groups with fewer clicks than this in both periods (default 0)."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 99 lines
  • get_page_performance unknown never probed

    Daily performance of ONE page (URL) of the property. Returns totals for the period and the comparison with change, the daily (or weekly) series and the top counterparts (queries bringing the page traffic). Exact match (case-insensitive for queries); when nothing matches, the error lists up to 5 candidates containing the text. / Série de uma página exata.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site",
        "page"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "page": {
          "type": "string",
          "minLength": 1,
          "description": "The exact page URL as stored by Search Console (full URL, e.g. https://example.com/blog/post). Required."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "granularity": {
          "enum": [
            "day",
            "week",
            "month"
          ],
          "type": "string",
          "description": "Series grouping (default day)."
        },
        "counterparts": {
          "type": "integer",
          "maximum": 50,
          "minimum": 0,
          "description": "Top queries to include (default 10)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 103 lines
  • analyze_sampling_impact unknown never probed

    How much of the property's traffic Search Console hides from the query/page rows because of anonymization: exact totals per day (no dimensions) minus the sum of the query × page rows = hidden clicks/impressions, with hiddenShare (fraction), level (ok < 5 %, warn 5–15 %, high > 15 %), the worst day and an optional daily table. Only searchType applies (dimension filters do not make sense here). Use to explain why top-queries totals do not add up to the summary, and before trusting query-level shares on small sites. / Cliques escondidos pela anonimização do Search Console.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "includeDaily": {
          "type": "boolean",
          "description": "Include the per-day table (default false)."
        }
      },
      "additionalProperties": false
    }
    arguments 46 lines
  • analyze_query_shapes unknown never probed

    Classifies the period's queries into shapes and aggregates each: branded, question, comparison, transactional, local, longtail (5+ words), head (<= 2 words), other, with queries, clicks, impressions, ctr, position, shares, comparison (clicksChangePct, impressionSharePoints) and top example queries per shape. Also reports the "AI-style" split used by the Organiq dashboard (conversational marker or >= 5 words: the kind of query AI Overviews / AI Mode answer) — a proxy, since Search Console does not expose AI-feature data in the API. Shapes: branded = contains one of the property's branded terms; question = interrogative (how, what, why, como, o que, qual…); comparison = compares options (vs, best, melhor, diferença entre…); transactional = buying intent (price, buy, comprar, preço, promoção…); local = local intent (near me, perto de mim, address…); longtail = 5+ words without another marker; head = 2 words or fewer; other = 3–4 words without a marker. Use for intent mix, "how much of our demand is questions", GEO (generative engine) planning. / Formatos de query (perguntas, comparação, transacional, marca, longas "estilo IA") com shares e exemplos.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "examples": {
          "type": "integer",
          "maximum": 20,
          "minimum": 0,
          "description": "Example queries per shape (default 3)."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 88 lines
  • get_query_shape_trend unknown never probed

    Weekly share of impressions (or clicks) per query shape (branded, question, comparison, transactional, local, longtail, head, other) and of "AI-style" queries over the period (default 12 weeks), with sharePointsChange = last weeks minus first weeks in percentage points. Weeks are keyed by Monday; incomplete first/last weeks are listed in partialWeeks. Use to see whether questions / conversational queries are growing, i.e. demand shifting toward AI-style searches. / Tendência semanal da participação de cada formato de query, inclusive "estilo IA".

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "metric": {
          "enum": [
            "impressions",
            "clicks"
          ],
          "type": "string",
          "description": "Share basis (default impressions)."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 81 lines
  • detect_anomalies unknown never probed

    Flags days in the period whose clicks (or impressions, ctr, position) deviate from what the same weekday did in the previous baselineWeeks weeks (default 8): expected = median of those weekdays, scale = scaled MAD, zScore = (value − expected) / scale; anomaly when |z| >= threshold (sensitivity low 4, medium 3, high 2.5). Robust to outliers in the baseline and to the weekly cycle (weekends are compared with weekends). Each anomaly has direction (drop/spike; for position, drop = visibility loss), severity, deviationPct and the baseline size. Use for "did anything unusual happen", to date a drop before looking at causes (get_annotations), or to check a release day. / Dias anômalos comparados com o mesmo dia da semana nas semanas anteriores.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "metric": {
          "enum": [
            "clicks",
            "impressions",
            "ctr",
            "position"
          ],
          "type": "string",
          "description": "Metric (default clicks)."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "sensitivity": {
          "enum": [
            "low",
            "medium",
            "high"
          ],
          "type": "string",
          "description": "low = only extreme, medium (default), high = more alerts."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        },
        "baselineWeeks": {
          "type": "integer",
          "maximum": 16,
          "minimum": 3,
          "description": "Weeks of same-weekday history used as baseline (default 8)."
        }
      },
      "additionalProperties": false
    }
    arguments 98 lines
  • detect_change_points unknown never probed

    Finds the dates where the property's clicks (or impressions) moved to a new sustained level — a step up or down that holds for several weeks, as after a Google update, a migration or a content launch — using a robust CUSUM on the weekly (default) or daily series. Each point has date, direction, before/after averages (4 observations each), change, changePct and how many following observations stayed on the new level. Isolated spikes are not change points (see detect_anomalies). Default period 52 weeks. Use to date a lasting drop or gain and then correlate with get_annotations. / Degraus sustentados na série (semanal ou diária), com antes × depois.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1,
          "description": "Most recent change points to return (default 10)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "metric": {
          "enum": [
            "clicks",
            "impressions"
          ],
          "type": "string",
          "description": "Metric (default clicks)."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "granularity": {
          "enum": [
            "week",
            "day"
          ],
          "type": "string",
          "description": "week (default; incomplete edge weeks dropped) or day."
        },
        "sensitivity": {
          "enum": [
            "low",
            "medium",
            "high"
          ],
          "type": "string",
          "description": "low = only large steps, medium (default), high = smaller steps."
        },
        "minChangePct": {
          "type": "number",
          "maximum": 1,
          "minimum": 0,
          "description": "Minimum |after − before| / before to report (default 0.15)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 110 lines
  • forecast_traffic unknown never probed

    Projects the property's clicks (or impressions) for the next `horizon` weeks (default 12) or months (default 6) from the history in the period (default 364 days): aggregates the daily series, estimates a multiplicative seasonal index when >= 2 full cycles exist (otherwise 1.0, stated in seasonality), fits linear / logarithmic / exponential / power / polynomial trendlines and keeps the best adjusted R² (model=auto) or the one requested; forecast points carry baseline, low/high (±1.96 × residual sd, widening with the horizon), seasonalIndex and, with growthRate, a growth scenario (baseline × (1 + growthRate)); cvr + aov add revenue (= visits × cvr × aov). Returns an error when fewer than 8 full weeks / 6 full months exist. Use for "what should we expect next quarter", target setting and scenario planning; treat it as a trend extrapolation, not a promise. / Previsão semanal ou mensal com sazonalidade, trendline auto-selecionada, faixa e cenário de crescimento.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "aov": {
          "type": "number",
          "minimum": 0,
          "description": "Average order value for revenue (any currency)."
        },
        "cvr": {
          "type": "number",
          "maximum": 1,
          "minimum": 0,
          "description": "Conversion rate as a fraction (0.02 = 2 %) for revenue."
        },
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "model": {
          "enum": [
            "auto",
            "linear",
            "logarithmic",
            "exponential",
            "power",
            "polynomial"
          ],
          "type": "string",
          "description": "Trendline (default auto = best adjusted R²)."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "metric": {
          "enum": [
            "clicks",
            "impressions"
          ],
          "type": "string",
          "description": "Metric (default clicks)."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "horizon": {
          "type": "integer",
          "maximum": 52,
          "minimum": 1,
          "description": "Periods ahead (default 12 weeks / 6 months; max 52 weeks or 24 months)."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "growthRate": {
          "type": "number",
          "maximum": 5,
          "minimum": -0.9,
          "description": "Scenario multiplier as a fraction (0.1 = +10 % over baseline)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "granularity": {
          "enum": [
            "week",
            "month"
          ],
          "type": "string",
          "description": "week (default) or month."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 124 lines
  • get_core_web_vitals unknown never probed

    Field Core Web Vitals of the property's origin (or a URL) from the Chrome UX Report history, weekly, per form factor (PHONE, DESKTOP): latest p75 of LCP, INP, CLS, FCP, TTFB with rating (good / needs_improvement / poor by Google's thresholds), share of good experiences, trend vs 4 weeks earlier, passesCoreWebVitals, alerts when a metric changed rating or worsened >= 20 %, and up to 26 weeks of history. CrUX only exists for origins with enough Chrome traffic; the response lists what is available. Use for "is the site fast enough for Google", regressions after a release, mobile vs desktop. / Core Web Vitals reais (CrUX) por semana e dispositivo, com tendência e alertas.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "weeks": {
          "type": "integer",
          "maximum": 120,
          "minimum": 4,
          "description": "Weeks of history to consider (default 40)."
        },
        "formFactor": {
          "enum": [
            "PHONE",
            "DESKTOP",
            "ALL"
          ],
          "type": "string",
          "description": "Device (default: all available)."
        },
        "originOrUrl": {
          "type": "string",
          "description": "Origin or URL as stored (default: all targets of the property)."
        }
      },
      "additionalProperties": false
    }
    arguments 34 lines
  • get_indexing_tracker unknown never probed

    Indexing status of the property's inspected URLs (Search Console URL Inspection results stored by Organiq, plus the tracked_urls watch list): healthScore 0–100 (70 % indexed share + 30 % fresh-crawl share), indexed / not indexed counts, breakdown by coverageState and verdict, crawl freshness (fresh <= 30 days, aging, stale >= 120 days, never), alerts (deindexed since an earlier check, fetch errors, robots blocks, canonical mismatch, stale crawl, not indexed) and coverage over time by week of check. hasData=false means no inspection has been stored for this property yet (the inspection sync is not enabled for the account). Use for "are my pages indexed", "did Google drop a page", crawl staleness. / Saúde de indexação das URLs inspecionadas: nota 0–100, cobertura, frescor de crawl e alertas.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "alertLimit": {
          "type": "integer",
          "maximum": 500,
          "minimum": 0,
          "description": "Alerts to return (default 50)."
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
  • list_sitemaps unknown never probed

    Sitemaps known to Search Console for the property: path, lastSubmitted, lastDownloaded, isPending, errors, warnings and contents per type (web, image, video, news: submitted URL counts). Search Console no longer reports indexed counts per sitemap through the API, so `indexed` is usually 0 — use get_indexing_tracker for indexing. Use to confirm Google is fetching the sitemap, spot errors/warnings and count submitted URLs. / Sitemaps da propriedade com status de download, erros e URLs enviadas.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • get_bing_performance unknown never probed

    Organic performance on Bing (Bing Webmaster Tools, weekly data) for the property: view=traffic gives weekly clicks/impressions with totals and change vs the previous same-length window; view=queries or view=pages gives the top keys with clicks, impressions, impression-weighted position, previous-period values and growth/decline sorting. Period is in whole weeks ending on the last synced Bing week (default 12 weeks). A property without Bing returns no_data with the panel URL where Bing is connected; hasBing in list_sites tells which properties have it. Use for "how do we do on Bing", Bing vs Google query overlap, Copilot-era visibility. / Bing: tráfego semanal, queries e páginas com comparação.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "sort": {
          "enum": [
            "clicks",
            "impressions",
            "growth",
            "decline"
          ],
          "type": "string",
          "description": "queries/pages sort (default clicks)."
        },
        "view": {
          "enum": [
            "traffic",
            "queries",
            "pages"
          ],
          "type": "string",
          "description": "traffic (default), queries or pages."
        },
        "limit": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1,
          "description": "queries/pages rows (default 50)."
        },
        "weeks": {
          "type": "integer",
          "maximum": 52,
          "minimum": 1,
          "description": "Weeks in the window (default 12)."
        },
        "compare": {
          "enum": [
            "previous",
            "none"
          ],
          "type": "string",
          "description": "previous (default) = the same number of weeks before; none."
        },
        "endWeek": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Last week_start (Monday-based date as stored) to include; default = latest synced."
        },
        "contains": {
          "type": "string",
          "description": "queries/pages: only keys containing this text."
        }
      },
      "additionalProperties": false
    }
    arguments 63 lines
  • get_genai_impressions unknown never probed

    Daily impressions of the property in Google's generative AI features (AI Overviews and AI Mode) from the Search Console "Generative AI features" report, imported into Organiq (this report is not in the Search Analytics API and has no clicks). kind = all (default), text or multimodal. Returns totals for the period and the comparison with change, the daily series and the import coverage (firstDate, lastDate, importedAt). hasData=false when nothing was imported for the property. Requires the GEO add-on (error plan_limit otherwise). Use for GEO: "how visible are we inside AI Overviews", trend after content changes, share vs classic impressions (compare with get_site_summary). / Impressões na Visão geral de IA e no Modo IA (relatório importado), com série diária e comparação.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window in days ending on the last imported date (default 28)."
        },
        "kind": {
          "enum": [
            "all",
            "text",
            "multimodal"
          ],
          "type": "string",
          "description": "Search type of the report (default all)."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "compare": {
          "enum": [
            "previous",
            "year",
            "none"
          ],
          "type": "string",
          "description": "Comparison (default previous)."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Explicit range yyyy-mm-dd (default end = last imported date)."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        }
      },
      "additionalProperties": false
    }
    arguments 48 lines
  • generate_seo_report unknown never probed

    One compact report for a property over the period (default 28 days, 7–180) with the comparison period: headline KPIs with change and year-over-year, top movers (queries and pages up/down), daily anomalies and sustained level shifts, Google updates and annotations, decaying pages, cannibalized queries, CTR quick wins, brand share, Core Web Vitals, indexing health, AI search (GA4 sessions from assistants, impressions in AI Overviews / AI Mode, AI-style query share), Bing, and up to three data-derived next actions. Parts without data (no GA4, no CrUX, no imports) or outside the plan are listed in skipped instead of failing. format=markdown (default) or json (the structured parts). Use for monthly client reports or a full status check in one call. / Relatório SEO completo em markdown (ou JSON) numa chamada.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "days": {
          "type": "integer",
          "maximum": 540,
          "minimum": 1,
          "description": "Window length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias."
        },
        "rows": {
          "type": "integer",
          "maximum": 15,
          "minimum": 3,
          "description": "Rows per table (default 5)."
        },
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "format": {
          "enum": [
            "markdown",
            "json"
          ],
          "type": "string",
          "description": "markdown (default) or json."
        },
        "compare": {
          "enum": [
            "previous",
            "year"
          ],
          "type": "string",
          "description": "Comparison (default previous)."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "End yyyy-mm-dd. Default: last synced date of the property (Search Console lags ~3 days; never \"today\"). Every response states the period used. / Fim; padrão = última data sincronizada."
        },
        "startDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Start yyyy-mm-dd. Default: endDate − (days − 1)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 95 lines
  • get_weekly_digest unknown never probed

    Short weekly digest for a property: the last 7 synced days vs the 7 before (and year-over-year), top 3 queries/pages up and down, anomalies of the week, Google updates and annotations, quick wins, technical alerts (Core Web Vitals, indexing), AI search lines and three next actions. Computed live from the synced data; when the account's weekly report job has run, storedReport carries the saved report's KPIs and actions (the same the e-mail/Slack digest sent) and alerts lists the alerts raised in the week. endDate moves the week (default: last synced date). Use for "what changed this week", Monday stand-ups, a client's weekly update. / Resumo da semana com movers, anomalias, alertas e 3 ações.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "brand": {
          "enum": [
            "all",
            "branded",
            "non-branded"
          ],
          "type": "string",
          "description": "all (default); branded = only queries containing one of the property's branded_terms; non-branded = the rest. Needs branded terms set on the property in the Organiq panel, otherwise invalid_argument with the panel URL. / Marca × sem marca."
        },
        "query": {
          "type": "string",
          "description": "Only queries containing this text, or a regex as /…/ (e.g. \"/^how to/\"; no flag = case-insensitive)."
        },
        "device": {
          "enum": [
            "MOBILE",
            "DESKTOP",
            "TABLET"
          ],
          "type": "string",
          "description": "Device."
        },
        "format": {
          "enum": [
            "markdown",
            "json"
          ],
          "type": "string",
          "description": "markdown (default) or json."
        },
        "country": {
          "type": "string",
          "pattern": "^[a-zA-Z]{3}$",
          "description": "Country as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg."
        },
        "endDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Last day of the week (default: last synced date)."
        },
        "searchType": {
          "enum": [
            "web",
            "image",
            "video",
            "news",
            "discover"
          ],
          "type": "string",
          "description": "Search type (default web)."
        },
        "pageContains": {
          "type": "string",
          "description": "Only pages whose URL contains this text (case-insensitive), e.g. \"/blog/\"."
        }
      },
      "additionalProperties": false
    }
    arguments 70 lines
  • set_ga4_property unknown never probed

    Links a Google Analytics 4 property to one Search Console property in Organiq (the same setting as the panel's "Integrações" block): ga4PropertyId is the numeric id from list_ga4_properties ("123456789" or "properties/123456789"); null unlinks. Returns the property settings. When the value changes, the GA4 data already synced from the previous property is deleted and the next daily sync rebuilds the history from the new one (Search Console data is untouched); get_ai_traffic answers after that sync. Needs the write scope (mcp:write). Use it when check_connection lists no_ga4 or the user asks to connect GA4. Guide: https://organiqgeo.com/connect/ga4. / Liga a propriedade GA4 à propriedade do Search Console; trocar apaga o GA4 já sincronizado e o sync refaz.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site",
        "ga4PropertyId"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "ga4PropertyId": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 40
            },
            {
              "type": "null"
            }
          ],
          "description": "Numeric GA4 property id (\"123456789\" or \"properties/123456789\"), from list_ga4_properties; null unlinks."
        }
      },
      "additionalProperties": false
    }
    arguments 28 lines
  • set_bing_site unknown never probed

    Sets the site URL registered in Bing Webmaster Tools for one Search Console property in Organiq (same rule as the panel): https, no query/fragment, and on the property's own domain (an sc-domain property accepts the domain and its subdomains; a URL-prefix property requires the same host under its path); null clears it. Returns the property settings and whether the account's Bing API key is set (set_bing_key). When the value changes, the Bing data already synced is deleted and the next daily sync rebuilds it; get_bing_performance answers after a sync with both the site and the key in place. Needs the write scope (mcp:write). Use it when check_connection lists no_bing or the user asks to connect Bing. Guide: https://organiqgeo.com/connect/bing. / Grava a URL do site no Bing Webmaster Tools para a propriedade; precisa também da chave da conta (set_bing_key).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site",
        "bingSiteUrl"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "bingSiteUrl": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 500
            },
            {
              "type": "null"
            }
          ],
          "description": "Site URL as registered in Bing Webmaster Tools, e.g. \"https://www.example.com/\"; null clears it."
        }
      },
      "additionalProperties": false
    }
    arguments 28 lines
  • set_bing_key unknown never probed

    Stores the Bing Webmaster Tools API key of the Organiq account (one key per account; it serves every property with a Bing site set by set_bing_site). The key is generated by the user in Bing Webmaster Tools under Settings → API access ("Configurações → Acesso à API") and pasted in the chat; it is stored encrypted, never returned by any tool and not logged. Format: 16–128 letters, digits, "-" or "_". Only an owner or admin of the account can store it (insufficient_scope otherwise). Returns { set, setAt }. Needs the write scope (mcp:write). Use it after set_bing_site, or when get_bing_performance / check_connection report the key missing. Guide: https://organiqgeo.com/connect/bing. / Grava, cifrada, a chave da API do Bing gerada pelo humano no portal do Bing e colada no chat.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "key"
      ],
      "properties": {
        "key": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "API key generated in Bing Webmaster Tools (Settings → API access) and pasted by the user."
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • set_branded_terms unknown never probed

    Replaces the branded terms of one Search Console property in Organiq (the list used by the brand filter, get_breakdown, get_branded_performance and the branded shape of analyze_query_shapes): brand and product names as people type them, up to 20 terms of 2–40 characters, lower-cased and de-duplicated; a query counts as branded when it contains one of them. The whole list is replaced (send the full list; [] clears). Takes effect immediately on the next read (no sync needed). Needs the write scope (mcp:write). Use it when check_connection lists no_branded_terms or brand=branded was rejected. / Substitui os termos de marca da propriedade (até 20); vale na hora.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "site",
        "terms"
      ],
      "properties": {
        "site": {
          "type": "string",
          "minLength": 1,
          "description": "Property: displayName (\"example.com\"), Search Console siteUrl (\"sc-domain:example.com\", \"https://www.example.com/\") or numeric id. A unique substring among visible properties also works (\"exam\"). list_sites shows the options. / Propriedade por nome, siteUrl ou id."
        },
        "terms": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 60
          },
          "maxItems": 20,
          "description": "Full list of branded terms (max 20, each 2–40 characters); [] clears."
        }
      },
      "additionalProperties": false
    }
    arguments 25 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 733b1c76dafffad8.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/733b1c76dafffad8/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/733b1c76dafffad8/badge.svg)](https://brick.blue/agent/733b1c76dafffad8?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.