Skip to main content
Glama

Server Details

Search Console and GA4 analysis (read-only Google): queries, decay, cannibalization, AI traffic.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
organiqgeo/organiq-plugin
GitHub Stars
1

TDQS

A3.9/5.0

Scored across 44 tools

Disambiguation4/5

The descriptions are unusually rich and each tool targets a distinct slice: site totals, breakdowns, query/page detail, indexing, CWV, forecasting, config writes. A few clusters are borderline confusable — get_ctr_benchmark vs get_ctr_curve vs score_opportunities vs find_page_poaching_opportunities, and get_breakdown vs get_branded_performance vs analyze_query_shapes vs get_longtail_clusters — but the tool text reliably explains the differences.

Naming Consistency4/5

All snake_case with predictable verb_noun structure (get_*, query_*, list_*, set_*, analyze_*, detect_*, find_*). Minor deviations: the query_* prefix duplicates the role of get_* for dimension listings, and breakdown_by_path lacks a verb. Readable and largely consistent overall.

Tool Count2/5

44 tools is heavy for a Search Console/GA4 connector; discovery is hard and several could collapse into parameters (ctr_benchmark/ctr_curve, analyze_query_shapes/get_query_shape_trend, site_summary/weekly_digest/report). Each tool is defensible in isolation, but the surface is oversized for the purpose.

Completeness4/5

Very broad lifecycle coverage: performance, ranking changes, anomalies, change points, forecasting, indexing, sitemaps, CWV, Bing/GA4/AI integration, GenAI impressions, plus config writes and diagnostics. Gaps are minor: annotations are read-only (no way to add one, yet tools tell you to correlate with get_annotations), no manual sync trigger, and no tool to manage the tracked_urls watch list mentioned by get_indexing_tracker.

Available Tools

44 tools
analyze_cannibalizationQuery cannibalizationA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
limitNoClusters (default 50).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
minPagesNoMinimum pages per query (default 2).
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoMinimum cluster impressions (default 10; large sites 100).

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description still adds substantive output semantics: what entropy means in bits, the direction of the scale, the 1.5/1.0 level thresholds, the winner tie-break by best position, and the sort order (entropy then impressions). That is real behavioral disclosure beyond structured fields.

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

Conciseness4/5

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

The core definition and the output contract are front-loaded, and the exclusion notes are compact. The entropy threshold parenthetical (bits; higher = more even split = worse; level high >= 1.5, medium >= 1.0) is dense but earns its place by telling the agent how to read the score.

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

Completeness4/5

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

With 13 parameters but a fully documented schema and no output schema, the description's main burden is explaining the return shape — which it does thoroughly. Only minor gaps remain, such as pagination or how cluster totals relate to the contender list, which are not critical for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so every one of the 13 parameters is already documented with defaults, enums and formats. The description adds no parameter-level guidance of its own, so the baseline of 3 applies.

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

Purpose5/5

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

Opens with a precise definition of the resource: queries where 2+ pages compete for the same search in the period. It is immediately distinguishable from neighbors like find_page_poaching_opportunities or get_query_performance, and it enumerates the exact per-cluster outputs (entropy, normalized, winner, contenders).

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

Usage Guidelines4/5

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

Gives an explicit trigger — 'Use when asked which page should rank for a keyword' — plus two exclusion rules: protocol/host/hash URL variants are hygiene not cannibalization, and brand + home + deep page is usually sitelinks. It stops short of naming a specific sibling alternative, which keeps it from a 5.

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

analyze_query_shapesQuery shapes (incl. AI-style)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
examplesNoExample queries per shape (default 3).
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, closed-world, so the safety profile is handled. The description adds genuine non-obvious context: the 'AI-style' split is an explicit proxy because Search Console does not expose AI-feature data via the API, which prevents an agent from over-claiming it as real AI Overview data.

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

Conciseness4/5

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

It is front-loaded with the purpose and almost every clause earns its place, since the shape definitions are needed to interpret the output. The weakness is structural: the first sentence is a dense multi-parenthetical run-on that mixes the return payload, shape thresholds and the AI proxy into one block, making it harder to scan than it needs to be.

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

Completeness5/5

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

With 12 parameters, no output schema and a non-obvious classification scheme, the description carries the full burden of explaining the return values, and it does: metrics, comparison fields, per-shape examples, and the exact rule for each shape. Nothing an agent needs in order to call or interpret this tool is missing.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter is already documented, including the branded-terms prerequisite on `brand` and the `examples` default. The description restates output aggregation and shape rules rather than adding parameter-level meaning, so it lands at the baseline of 3.

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

Purpose4/5

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

The opening states a specific verb and resource ('Classifies the period's queries into shapes and aggregates each') and then enumerates both the shapes and the metrics returned, so an agent knows exactly what comes back. It is not differentiated by name from its closest sibling (get_query_shape_trend for trends, get_longtail_clusters for clustering), but the shape taxonomy is detailed enough that the boundary is inferable.

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

Usage Guidelines4/5

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

It gives concrete use cases ('intent mix', 'how much of our demand is questions', GEO planning), which is real routing guidance beyond the name. It stops short of explicit exclusions or naming alternatives like get_query_shape_trend for the time dimension, so the agent must infer when another shape tool is preferable.

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

analyze_sampling_impactHidden (anonymized) clicksA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
includeDailyNoInclude the per-day table (default false).

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the read-only, idempotent annotations, the description discloses the computation formula, return fields (hiddenShare, level, worst day, optional daily table), threshold semantics, and the searchType-only scope. That is strong behavioral context for an analysis tool.

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

Conciseness4/5

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

The core computation is front-loaded, followed by outputs, thresholds, and usage guidance. It is dense and slightly run-on, but every clause carries substantive information and nothing is redundant.

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

Completeness5/5

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

For a computation-heavy analysis tool with no output schema, the description supplies the formula, output fields, level thresholds, optional table behavior, and intended diagnostic use. It gives an agent enough to call the tool correctly and interpret the result.

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

Parameters4/5

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

Schema coverage is 100%, so the parameter details are already documented, but the description adds a meaningful semantic constraint: only searchType applies and dimension filters are not appropriate here. The optional daily table note also maps usefully to includeDaily.

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

Purpose5/5

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

The description states a specific computed resource: anonymization-hidden clicks/impressions, defined as exact daily totals minus summed query × page rows. It is clearly distinct from sibling query/page and summary tools, and it explains the reconciliation purpose rather than merely restating the tool name.

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

Usage Guidelines4/5

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

It gives clear use cases: explain why top-query totals do not add up to summary totals, and check before trusting query-level shares on small sites. It also notes that only searchType applies, excluding dimension filters, but it does not name a specific alternative tool for those cases.

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

breakdown_by_pathBy subdomain and folderA
Read-onlyIdempotent
Inspect

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).

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
depthNoPath depth (default 1: first folder).
limitNoGroups (default 50).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
minClicksNoHide groups with fewer clicks than this in both periods (default 0).
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantive behavior: the exact returned metrics (clicks, impressions, ctr, position, clickShare, prevClicks/clicksChange/positionChange) and the top-3-pages-per-group cap plus clicks-based sorting. With no output schema, this is the only place an agent learns the response shape; only the deliberate omission of pagination/truncation details keeps it from 5.

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

Conciseness4/5

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

One front-loaded sentence carries the grouping rule, the output contents and the use cases, then a short example list. It is somewhat dense with a long parenthetical metric enumeration, and the bilingual Portuguese tail adds little for an English agent, but nothing is genuinely wasteful.

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

Completeness4/5

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

For a 14-parameter, output-schema-less tool, the description supplies the return-field inventory and grouping semantics that structured fields do not, and annotations handle safety. Remaining gaps are minor: no mention of how groups are truncated beyond `limit` and no note on host normalization (www vs. subdomain).

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

Parameters3/5

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

Schema description coverage is 100%, so all 14 parameters are already documented in structured fields, which sets the baseline at 3. The description only reinforces `depth` slightly by tying it to the "example.com/blog/*" example; it adds no other parameter meaning beyond the schema.

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

Purpose5/5

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

States the specific verb (groups), the resource (property's pages) and the exact grouping key (host plus first `depth` path segments), with a concrete example key like "example.com/blog/*". This is clearly distinguishable from get_breakdown and query_top_pages, which are ungrouped/other-dimension listings.

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

Usage Guidelines4/5

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

Gives concrete triggering questions ("which section drives traffic", "is the blog growing", "how is the /pt/ folder doing") and states it is for comparing subdomains, so the agent knows when to reach for it. It never explicitly names an alternative (e.g. get_breakdown) or a when-not condition, so it stops short of 5.

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

check_connectionConnection statusA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context beyond that: it degrades gracefully without credentials by explaining how to connect, and it enumerates the diagnostic payload (account, plan, auth method, per-property GA4/Bing/branded-term gaps, panel URL, remediation steps).

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

Conciseness4/5

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

The purpose is front-loaded and the usage trigger follows immediately, so an agent can stop reading early. The trailing Portuguese sentence restates the same content in another language, which is redundant for an agent parsing English and slightly dilutes an otherwise dense, waste-free description.

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

Completeness5/5

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

There is no output schema, so the description carries the full burden of describing return content, and it does so thoroughly: identity/auth state, plan, property inventory, per-property coverage gaps, remediation URLs and steps. Combined with the unauthenticated path, an agent knows exactly what it will get and what to do with it.

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

Parameters4/5

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

The tool takes no parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter-level claims are made or needed.

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

Purpose5/5

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

States a specific verb and resource: reports authentication state, the Organiq account (name, plan, auth method), available Search Console properties with data coverage, and what is missing with remediation steps. That scope is unmistakably distinct from every sibling, all of which are analysis/query tools.

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

Usage Guidelines4/5

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

Explicitly names the triggering conditions: when another tool returned unauthorized or site_not_found, or before a first analysis. It does not state when not to call it or name a competing alternative, but for a diagnostic entry-point tool the positive guidance is unusually concrete.

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

detect_anomaliesDaily anomalies (weekday-robust)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
metricNoMetric (default clicks).
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
sensitivityNolow = only extreme, medium (default), high = more alerts.
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
baselineWeeksNoWeeks of same-weekday history used as baseline (default 8).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover the read-only/idempotent safety profile; the description adds substantial behavior beyond them: the exact expected/scale/zScore computation, the sensitivity-to-threshold mapping, outlier and weekly-cycle robustness, and the direction semantics (position drop = visibility loss). It also discloses what each anomaly record contains (direction, severity, deviationPct, baseline size).

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

Conciseness4/5

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

Front-loaded with purpose and method, and dense rather than padded; the formula and threshold list earn their space because they define output semantics. It is one long paragraph, but no sentence is filler and the trailing Portuguese line is a harmless mirror.

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

Completeness5/5

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

For a 13-parameter tool with no output schema, the description still supplies the methodology, the anomaly payload fields, the baseline/direction semantics and the default window behavior, so an agent can both call it and interpret results. Nothing material is left to inference.

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

Parameters4/5

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

Schema coverage is 100%, so a 3 is the floor. The description exceeds that by translating sensitivity into concrete |z| cutoffs (4 / 3 / 2.5) and explaining that baselineWeeks supplies same-weekday history for the median/MAD, both of which are richer than the enum and int descriptions.

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

Purpose5/5

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

States a specific verb (flags) plus the resource (days in the period) and the exact statistical basis (same-weekday median / scaled MAD z-score). The weekday-robust comparison is spelled out, which separates it cleanly from siblings like detect_change_points or get_timeseries.

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

Usage Guidelines4/5

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

Gives three concrete entry scenarios ("did anything unusual happen", dating a drop, checking a release day) and routes the agent to get_annotations for causes afterwards. It never states when NOT to use this versus detect_change_points or forecast_traffic, so it stops short of full when/when-not coverage.

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

detect_change_pointsSustained level shifts (change points)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
limitNoMost recent change points to return (default 10).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
metricNoMetric (default clicks).
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
granularityNoweek (default; incomplete edge weeks dropped) or day.
sensitivityNolow = only large steps, medium (default), high = smaller steps.
minChangePctNoMinimum |after − before| / before to report (default 0.15).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/closed-world, so the safety profile is covered. The description adds real behavioral context beyond them: the algorithm used, that each point reports before/after averages from 4 observations, and how many following observations stayed on the new level. It does not mention cost, result ordering beyond `limit`, or pagination behavior, keeping it short of a 5.

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

Conciseness4/5

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

Front-loaded with the core definition, then the method, then the output shape, then usage routing — a sensible order with no filler prose. It is somewhat long and repeats the whole definition in Portuguese, which is serviceable for a bilingual product but costs density.

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

Completeness4/5

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

With 15 parameters and no output schema, the description carries the burden of explaining results, and it does so by enumerating the returned fields and the 4-observation before/after window. What it does not resolve is the window-length default discrepancy, which is the one thing an agent must get right to trust the returned dates.

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

Parameters3/5

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

Schema coverage is 100%, so the structural baseline is 3. The description does add interpretive value (weekly vs daily series, step magnitude meaning for `sensitivity`, change vs changePct in the output), but it also introduces a conflict: 'Default period 52 weeks' versus the schema's `days` default of 28. That ambiguity in the window parameter is a real gap for an agent choosing whether to set `days` explicitly.

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

Purpose5/5

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

States a specific verb and resource ('Finds the dates where clicks/impressions moved to a new sustained level'), names the underlying technique (robust CUSUM), and explicitly carves out what it is not ('Isolated spikes are not change points (see detect_anomalies)'). An agent can distinguish this from detect_anomalies or find_decaying_content without opening any schema.

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

Usage Guidelines5/5

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

Gives a concrete when-to-use case ('Use to date a lasting drop or gain and then correlate with get_annotations') and an explicit exclusion routing to a sibling. It also frames the typical causal scenarios (Google update, migration, content launch), which is exactly the selection signal an agent needs.

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

find_decaying_contentDecaying contentA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
limitNoRows (default 50).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
dimensionNopage (default) or query.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
comparisonEndDateNoExplicit baseline end.
minBaselineClicksNoIgnore keys with fewer clicks than this in the baseline (default 5; small sites: 1–3).
comparisonStartDateNoExplicit baseline start (with comparisonEndDate; overrides compare).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), so the bar is lower, and the description adds real behavioral detail beyond them: the severity thresholds (severe >50%, moderate 20–50%, mild <20%), sorting by absolute clicks lost, and the pattern hint taxonomy (position_slipped, impressions_collapsed, ctr_dropped, disappeared, mixed). It does not describe the row shape or any edge behavior when there is insufficient baseline data.

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

Conciseness4/5

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

Front-loaded with the core definition, then baseline mechanics, then output semantics, then use case — a sensible ordering with no filler sentences. The trailing bilingual gloss ("/ Conteúdo em decaimento.") adds nothing but is a consistent one-line i18n convention for this server rather than a structural defect.

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

Completeness4/5

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

For a 16-parameter analytical tool with no output schema, the description covers the two things an agent could get wrong: how the baseline period is derived and how the results are classified and ordered. Remaining gaps — the exact returned fields per row and how limit interacts with the sorting — are minor since the schema documents every parameter.

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

Parameters3/5

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

Schema coverage is 100% and enums are already documented, so the schema does the heavy lifting and the baseline is 3. The description does add interpretive value on the interaction between compare, the recent window, and explicit comparisonStartDate/comparisonEndDate, but leaves minBaselineClicks, limit, and filter parameters entirely to the schema.

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

Purpose4/5

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

The opening sentence states a specific analytic verb+resource: pages (or queries) that lost clicks between a baseline and a recent period. It goes further by naming the classification scheme and sort order, so an agent knows exactly what the tool produces. It stops short of naming a sibling (e.g., detect_anomalies, find_page_poaching_opportunities) that an agent might confuse it with.

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

Usage Guidelines4/5

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

Gives concrete use cases ("which pages are dying", refresh candidates) and a decision rule for the baseline: use compare=previous/year normally, or explicit dates when comparing against 6–12 months ago for slow decay. No explicit when-not-use or named alternative among the ~40 siblings, so it is clear context rather than full routing guidance.

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

find_page_poaching_opportunitiesStriking distance (page poaching)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
sortNoSort (default impressions).
brandNoall (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.
limitNoRows (default 25).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
maxPositionNoMaximum position (default 20).
minPositionNoMinimum position (default 4).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoMinimum query impressions (default 20).
targetPositionNoTarget position whose CTR defines the gain (default 3).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds real behavioral context beyond that: the exact gain formula, the CTR benchmark and its fallback to the property's own CTR at that position (ctrSource), the max(0, …) clamp, and the default sort. It does not describe pagination or response shape, which matters little for a bounded list.

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

Conciseness4/5

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

Front-loads what the tool returns and why, then the formula, then the use case, in two dense sentences with no filler. The trailing Portuguese translation adds noise for non-Portuguese readers but does not obscure the key content.

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

Completeness4/5

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

For a 16-parameter analytics query with no output schema, the description covers the computation, the metric's source of truth, defaults, and ordering — enough to call it correctly. Only the return shape (which fields per row) is left unstated, a minor gap since the metric is fully defined.

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

Parameters3/5

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

Schema coverage is 100%, so every parameter already carries its own description and the baseline is 3. The description does add meaning for targetPosition and sort by tying them to the CTR benchmark and gain calculation, but nothing beyond that, and it never mentions the 16 parameters as a group.

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

Purpose4/5

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

States a specific resource and scope: queries ranking just outside the top (positions 4–20 by default) with an estimated click gain. The scope and metric make it distinguishable from generic query-listing tools, but it never names a sibling such as score_opportunities or get_ctr_curve, so an agent must infer the boundary itself.

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

Usage Guidelines4/5

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

Provides a clear use case phrase ("what is close to page one / top 3") that maps intent to tool, and the position window is implied by the defaults. It does not say when NOT to use it or point at an alternative for queries already in the top 3 or with low volume.

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

forecast_trafficTraffic forecastA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
aovNoAverage order value for revenue (any currency).
cvrNoConversion rate as a fraction (0.02 = 2 %) for revenue.
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
modelNoTrendline (default auto = best adjusted R²).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
metricNoMetric (default clicks).
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
horizonNoPeriods ahead (default 12 weeks / 6 months; max 52 weeks or 24 months).
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
growthRateNoScenario multiplier as a fraction (0.1 = +10 % over baseline).
searchTypeNoSearch type (default web).
granularityNoweek (default) or month.
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the readOnly/idempotent annotations: it discloses the seasonality fallback (> = 2 full cycles else 1.0), model selection rule (best adjusted R² when model=auto), the interval formula (±1.96 × residual sd, widening with horizon), the growth-scenario math, the revenue derivation from cvr × aov, and the explicit failure thresholds. An agent knows exactly what it will compute and when it will error.

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

Conciseness3/5

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

The core purpose is front-loaded correctly, but the body is a single sprawling semicolon-chained sentence that mixes computation rules, output fields, error conditions and usage advice. The trailing Portuguese mirror adds length without adding information for most readers.

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

Completeness4/5

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

With 17 parameters and no output schema, the description does the heavy lifting by enumerating forecast point fields (baseline, low/high, seasonalIndex, growth scenario). The remaining gap is the conflicting default for the history window, which leaves the actual training period ambiguous when `days`, `startDate` and `endDate` are all omitted.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: the horizon default differs by granularity (12 weeks / 6 months), growthRate is expressed as a multiplier applied to baseline, and cvr/aov compose into revenue. One flaw: it states the history default as 364 days while the schema declares the `days` default as 28, which could mislead about the analysis window.

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

Purpose5/5

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

Opens with a specific verb and resource: 'Projects the property's clicks (or impressions) for the next horizon weeks/months'. It is unmistakably a forecasting tool, which cleanly separates it from descriptive siblings like get_timeseries or get_site_summary.

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

Usage Guidelines4/5

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

Gives concrete use cases ('what should we expect next quarter', target setting, scenario planning) and a caveat frame ('treat it as a trend extrapolation, not a promise'), plus the data-sufficiency floor (fewer than 8 weeks / 6 months returns an error). It does not name an alternative sibling for historical lookups, so it stops short of a full when/when-not routing statement.

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

generate_seo_reportSEO report (markdown)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
rowsNoRows per table (default 5).
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
formatNomarkdown (default) or json.
compareNoComparison (default previous).
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive, so the description usefully spends its space elsewhere: parts lacking data (no GA4, no CrUX, no imports) or outside the plan land in `skipped` instead of failing, and the default end date is the last synced date rather than today. That is real operational context an agent cannot infer from annotations or schema.

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

Conciseness4/5

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

Front-loaded with purpose, scope, and default window before the section catalog, and the closing sentence gives the use case. The long mid-sentence enumeration of report sections is dense but each item sets an expectation about output content, and there is no filler.

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

Completeness4/5

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

With 13 parameters, no output schema, and a fan-in over many data sources, the description covers what the report contains, how missing sources are handled, and the date-defaulting behavior. The only real gap is the ambiguous days range versus the schema's wider bounds, which an agent may hit on long windows.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description does restate two useful behaviors (default 28 days, markdown default vs json) but its stated range "7–180" conflicts with the schema's 1–540 bounds, which could mislead an agent about valid windows.

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

Purpose5/5

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

Opens with a specific verb+resource+scope: a single compact report for one property over a period versus a comparison period. The enumerated section list makes it unmistakable that this is the aggregate/orchestration tool rather than any of the single-metric siblings like get_timeseries or detect_anomalies.

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

Usage Guidelines4/5

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

"Use for monthly client reports or a full status check in one call" gives a clear selection criterion against the narrower sibling tools, and the caller learns that missing data sources degrade gracefully rather than erroring. It stops short of explicitly naming which sibling to use instead when only one section is wanted.

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

get_ai_trafficTraffic from AI assistants (GA4)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty (as in other tools) or "all" for the whole account.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds substantive behavior beyond that: the no_data error for properties without GA4, the setup-note/hasGa4=false behavior for site="all", and the shape of the return (per-source metrics, totals, daily series). No auth, rate-limit, or pagination notes, but for a read-only analytics tool that's a minor gap.

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

Conciseness4/5

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

Front-loaded with the purpose, then data shape, then error behavior, then limitation — a logical ordering with little waste. Slightly dense and the trailing Portuguese echo adds no information for an agent reading the English, but no sentence is truly superfluous.

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

Completeness5/5

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

With no output schema, the description carries the full burden of explaining return values, and it does: per-source metrics, totals, daily series, plus the two failure/setup paths. An agent can call this and interpret the response without opening anything else.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents days, site, compare, startDate and endDate. The description reinforces site="all" for the whole account and mentions the comparison window, but adds little syntax or edge-case meaning the schema doesn't already carry; baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific resource (referral sessions from AI assistants with enumerated sources) and names the exact data source and dimension (GA4, ai_source), plus the metrics returned. It implicitly separates itself from the Search Console AI-impressions sibling via the limitation note, but never names that sibling (get_genai_impressions) directly, so an agent must infer the split.

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

Usage Guidelines4/5

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

The limitation sentence gives a clear when-not-to-use signal ('Search Console does not separate clicks from AI Overviews / AI Mode; only referral traffic is measurable'), which is real guidance. However, it stops short of pointing at the alternative tool for AI Overview impressions, leaving the routing to inference.

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

get_annotationsAnnotationsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare this a read-only, idempotent, closed-world operation, so safety is covered. The description adds useful scope detail (property-level AND global events, category filtering via "algo_update") but gives no return shape and asserts a default window that conflicts with the schema, which undercuts trust in the behavioral claims.

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

Conciseness4/5

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

One tight paragraph that front-loads the resource and event types, then the usage framing, then the default window. The trailing Portuguese echo is mild redundancy but consistent with the tool's bilingual convention and does not bury the substance.

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

Completeness4/5

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

For a read-only query with three optional, fully schema-documented parameters and no output schema, the description supplies what the schema cannot: what an annotation actually is and why you would fetch it. Its one completeness defect is the incorrect default window, which should be corrected rather than the description being expanded.

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

Parameters2/5

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

Schema coverage is 100%, so the schema already documents all four parameters thoroughly (including the 28-day default). The only parameter-relevant sentence in the description, "Default: last 90 days," directly contradicts the schema's "Window length in days (default 28)," which risks an agent mis-sizing its query rather than clarifying it.

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

Purpose5/5

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

States a specific verb+resource (retrieve events annotated in a period) and enumerates the event kinds returned: deploys, content changes, manual notes, and Google algorithm updates with the category token "algo_update". No sibling tool deals with annotations, so an agent can distinguish it from detect_anomalies or detect_change_points immediately.

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

Usage Guidelines4/5

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

"Use to correlate drops or gains with causes" gives an explicit analytic context that tells the agent when this tool is the right choice rather than a metrics tool. It stops short of naming an exclusion or a paired alternative, which keeps it out of 5 territory.

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

get_bing_performanceBing Webmaster performanceA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
siteYesProperty: 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.
sortNoqueries/pages sort (default clicks).
viewNotraffic (default), queries or pages.
limitNoqueries/pages rows (default 50).
weeksNoWeeks in the window (default 12).
compareNoprevious (default) = the same number of weeks before; none.
endWeekNoLast week_start (Monday-based date as stored) to include; default = latest synced.
containsNoqueries/pages: only keys containing this text.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower; the description still adds real context beyond them — weekly granularity, whole-week windows ending on the last synced week, default 12 weeks, and the no_data + panel-URL behavior. It stops short of describing pagination or the exact shape of the traffic totals block, keeping it below a 5.

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

Conciseness4/5

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

Front-loaded with the core purpose and view modes, then behavior and use cases; nearly every clause carries information. It is dense but long, and the trailing bilingual Portuguese summary is redundant for an English-reading agent.

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

Completeness5/5

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

For an 8-parameter read tool with no output schema, the description supplies what is needed: return contents per view, default window, error state, and eligibility check via list_sites. Nothing critical to correct invocation is left implicit.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, but the description adds meaning the schema does not: it explains what each view returns, that the period is in whole weeks ending on the last synced Bing week, and that change is measured against the previous same-length window. This directly clarifies the semantics of view, weeks, and compare.

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

Purpose5/5

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

States a specific verb+resource (organic Bing Webmaster performance, weekly) and immediately disambiguates the three modes of the tool (view=traffic vs queries/pages) with what each returns. An agent can distinguish this from the Google-side siblings like get_query_performance or get_timeseries without opening the schema.

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

Usage Guidelines5/5

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

Gives concrete use cases ("how do we do on Bing", Bing vs Google query overlap, Copilot-era visibility) and a prerequisite/absent-data path: a property without Bing returns no_data with the connection panel URL, and hasBing in list_sites tells which properties are eligible. That is explicit when-to-use plus how to check eligibility before calling.

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

get_branded_performanceBranded vs non-branded, dailyA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
granularityNoday (default) or week.
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds non-obvious behavior: brandedTermsConfigured=0 degrades to all-non-branded, the response carries the panel URL, and an unset-terms state produces invalid_argument. That is genuine added context; return-shape detail is only partially covered.

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

Conciseness4/5

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

The core behavior is front-loaded in the first clause, and the use cases follow in one sentence. It is slightly heavy, with a trailing bilingual restatement that adds no information for an English-reading agent and a parenthetical configuration detour.

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

Completeness4/5

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

For a 12-parameter, read-only analytics tool with no output schema, the description covers what is returned (per-group daily metrics plus totals and comparison) and the failure mode for unset branded terms. Any remaining gaps — pagination, row limits, response envelope — are minor and consistent with sibling tools.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema for the `brand` parameter — what 'branded' actually means (queries containing the property's branded_terms), the fallback when terms are unset, and the resulting error. It does not add much for the date-window or filter parameters, which the schema already handles.

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

Purpose5/5

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

The description names a specific verb+resource: a daily series split into branded and non-branded traffic, with the exact metric set (clicks, impressions, ctr, position, brandedClickShare) and period/comparison totals. The brand/non-brand split distinguishes it from generic siblings such as get_timeseries, get_breakdown and get_query_performance without the agent needing to open a schema.

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

Usage Guidelines4/5

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

It gives three concrete use cases (separating brand demand from SEO work, diagnosing whether a drop was brand or non-brand, tracking brand share over time), which is real routing guidance. It does not explicitly exclude alternatives or say when to prefer get_timeseries instead, so it stops short of a 5.

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

get_breakdownBrand split and position bandsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/no-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: position is an impression-weighted average over the period, missing branded terms collapses everything into nonBranded, and the response tells you where to set them.

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

Conciseness4/5

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

It is a single dense paragraph that front-loads the output shape, then position semantics, then edge-case behavior, then use cases. Every sentence is informative, though the trailing bilingual tagline is decorative for an English-reading agent.

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

Completeness5/5

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

There is no output schema, but the description enumerates the return structure (brand split, four position bands, impressions/clicks per band, queryCount) and the edge case when branded terms are unset. An agent has enough to call it correctly and interpret the result.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by defining how position is computed and what the brand split depends on. It doesn't restate the parameter defaults (days=28) which the schema already covers.

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

Purpose5/5

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

The description states a specific verb and resource: it splits traffic into branded/nonBranded and position bands with impressions, clicks and queryCount. It is specific enough to distinguish it from neighbors like get_position_distribution and get_branded_performance, since it produces the combined brand × position breakdown.

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

Usage Guidelines4/5

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

The description gives concrete use cases ("how much of our traffic is brand", "how much sits on page 2") and explains what happens with no branded terms set. It doesn't explicitly name the alternative tools (e.g. use get_position_distribution for position-only) or state when not to use this one.

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

get_capabilitiesWhat Organiq providesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
languageNoLanguage of the texts (default en).

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuine unannotated context: it can be called without an account/OAuth, and it self-documents rate limits and connection flow rather than requiring another call. It stops short of describing output shape or size, which for a large meta payload would have been useful.

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

Conciseness4/5

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

Front-loaded with the core statement, then the contents list, then the usage directive — good ordering. The space-separated bilingual block appended after '/' adds length an English-only agent must skip, slightly diluting density.

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

Completeness5/5

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

There is no output schema, so the description must carry the return-value burden, and it does: it enumerates the response sections (data, tools, units, defaults, auth, rate limits, examples). Combined with the no-auth caveat, an agent has everything needed to decide to call it and what to expect.

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

Parameters3/5

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

Single optional `language` enum with 100% schema coverage, so the schema does the work and baseline 3 applies. The description's bilingual EN/PT text implicitly signals language support but never names the parameter or its default explicitly — a small missed opportunity.

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

Purpose5/5

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

Opens with a specific verb+resource ('Returns a factual overview of this connector') and enumerates exactly what the payload contains: data sources, tool list with usage, units, defaults, auth method, rate limits, example questions. This clearly distinguishes it from the ~40 analytical siblings, which all answer specific SEO questions rather than describing the server itself.

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

Usage Guidelines5/5

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

Explicit routing instruction: 'Use it first when you do not know what this server can answer.' It also states the pre-condition that matters most for a discovery tool — 'Works without signing in' — so an unauthenticated agent knows it is still callable.

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

get_core_web_vitalsCore Web Vitals (CrUX)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
siteYesProperty: 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.
weeksNoWeeks of history to consider (default 40).
formFactorNoDevice (default: all available).
originOrUrlNoOrigin or URL as stored (default: all targets of the property).

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds substantial context beyond that: weekly granularity, p75 values for five metrics, Google rating thresholds, share of good experiences, 4-week trend, rating-change/worsening alerts, passesCoreWebVitals flag, and up to 26 weeks of history. It also discloses the key limitation (CrUX traffic threshold) that affects whether calls return useful data.

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

Conciseness4/5

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

The main English sentence is dense but front-loaded with the core resource and scope, followed by availability caveat, usage contexts, and a concise bilingual restatement. The bilingual duplication adds length without new information for an English-reading agent, keeping it just short of a 5.

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

Completeness5/5

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

Given there is no output schema, the description does an unusually thorough job of specifying the return shape (p75 of LCP/INP/CLS/FCP/TTFB, ratings, good-experience share, trend, alerts, passesCoreWebVitals, history weeks) and the main data-availability constraint. Nothing an agent needs to call it correctly appears to be missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains site, weeks, formFactor, and originOrUrl. The description adds only marginal meaning (e.g., form factors PHONE and DESKTOP, and a history horizon), and its 'up to 26 weeks of history' phrasing refers to returned history rather than the weeks parameter (schema allows up to 120), which does not sharpen parameter semantics. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource ('Field Core Web Vitals of the property's origin') with precise scope: CrUX history, weekly, per form factor, with named metrics and derived signals. An agent can distinguish it from siblings like get_page_performance or get_timeseries, which cover traffic/rank data rather than CrUX field vitals.

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

Usage Guidelines4/5

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

Explicit usage contexts are given ('is the site fast enough for Google', regressions after a release, mobile vs desktop) plus a crucial availability caveat that CrUX only exists for origins with sufficient Chrome traffic and the response lists what is available. Lacks explicit when-not or named alternative tools, so 4 rather than 5.

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

get_ctr_benchmarkGeneric CTR-by-position benchmarkA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
positionNoOptional fractional position (e.g. 4.6) to get the interpolated expected CTR.
impressionsNoOptional impressions to convert the expected CTR into expected clicks.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish it as read-only, idempotent, closed-world, and non-destructive. The description adds useful context beyond annotations: no account is needed, no property data is involved, and fractional positions are interpolated against a generic benchmark curve.

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

Conciseness4/5

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

The description is front-loaded, with the core return value and fallback role stated first, followed by use cases. The appended Spanish translation is slightly redundant for an English description but does not obscure the main content.

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

Completeness5/5

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

For a simple two-optional-parameter tool with no output schema, the description supplies enough context: return range, fallback semantics, no-auth behavior, and example uses. Nothing critical for correct invocation is missing.

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

Parameters3/5

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

Schema coverage is 100%, so both optional parameters are already fully documented. The description mentions fractional position interpolation and expected-click conversion, but does not add syntax or constraints beyond what the schema already provides.

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

Purpose5/5

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

The description states a specific resource and scope: a generic organic CTR curve by Google position 1–20, with values as fractions 0–1. It distinguishes itself from a property-specific CTR curve by saying it is the fallback when a property lacks its own volume.

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

Usage Guidelines4/5

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

It gives clear usage contexts: use it to estimate expected clicks for a position or to explain a CTR gap, and it is the fallback when no property-specific volume exists. It does not explicitly name get_ctr_curve as the alternative for property-specific curves, leaving that inference to the agent.

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

get_ctr_curveOwn CTR curve vs benchmarkA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoMinimum impressions for a bucket to be reliable (default 500).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive), and the description adds real value beyond them: how buckets are formed, that the comparison is impression-weighted, that negative deltaPoints signals a title/meta issue, and that `reliable` marks buckets with sufficient impressions. It stops short of describing the response shape or how sparse buckets are handled.

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

Conciseness4/5

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

The core computation and interpretation are front-loaded in a single dense sentence, followed by a short usage cue. The trailing bilingual echo ("/ Curva de CTR própria × benchmark.") duplicates the title and is the only wasted text.

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

Completeness4/5

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

With 11 parameters, no output schema, and an interpretive metric, the description does the essential work: it defines deltaPoints and `reliable`, names the benchmark reference, and gives the analytical intent. What is missing is only the shape of the returned curve rows.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description's mention of impression-weighted bucketing and the `reliable` threshold loosely restates what the `minImpressions` schema field already documents, adding little new parameter-level meaning.

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

Purpose4/5

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

States a specific resource and computation: the property's real CTR by position bucket (round(position), 1–20, impression-weighted) compared against a generic benchmark. An agent knows exactly what it gets. It does not, however, differentiate itself from the sibling get_ctr_benchmark, which sounds closely related.

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

Usage Guidelines4/5

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

"Use to find where titles underperform" gives a concrete diagnostic context, and the deltaPoints explanation (negative = below expected: likely title/meta problem) reinforces when this tool is the right pick. No explicit when-not guidance or named alternative (e.g. get_ctr_benchmark) is offered.

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

get_genai_impressionsImpressions in AI Overviews / AI ModeA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow in days ending on the last imported date (default 28).
kindNoSearch type of the report (default all).
siteYesProperty: 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.
compareNoComparison (default previous).
endDateNoExplicit range yyyy-mm-dd (default end = last imported date).
startDateNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent safety profile, and the description adds genuinely new behavior: the data must be imported (not live API), hasData=false when nothing is imported, plan_limit error without the GEO add-on, and no click metric. Only import lag/refresh timing is left unstated, which keeps it short of a 5.

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

Conciseness4/5

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

Front-loaded with what the tool returns and the hasData caveat before usage guidance, with no filler sentences. It is dense and the trailing Portuguese translation plus the mixed data-source/usage content makes it slightly harder to scan than it could be.

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

Completeness5/5

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

With no output schema, the description takes on the return-value burden and does it: totals plus comparison with change, daily series, import coverage fields (firstDate, lastDate, importedAt). Combined with the error and empty-state notes, an agent has everything needed to call and interpret it.

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

Parameters4/5

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

Schema coverage is already 83%, so baseline is 3; the description still adds meaning by explaining the kind dimension (all/text/multimodal) and that the window ends on the last imported date rather than today, which reframes days and endDate. startDate remains undocumented in both places.

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

Purpose5/5

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

States a specific verb and resource (daily impressions of the property in AI Overviews / AI Mode from the Search Console 'Generative AI features' report imported into Organiq) and explicitly names a sibling (get_site_summary) for the comparison case. An agent can distinguish it from get_ai_traffic, get_site_summary and get_timeseries without opening any schema.

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

Usage Guidelines5/5

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

Gives concrete use cases (GEO visibility questions, trend after content changes, share vs classic impressions) and names the sibling to pair with. It also states the exclusion: this report is not in the Search Analytics API and has no clicks, and that the GEO add-on is required.

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

get_indexing_trackerIndexing health (URL inspections)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
siteYesProperty: 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.
alertLimitNoAlerts to return (default 50).

TDQS

A4.1/5.0
Behavior5/5

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

The annotations already cover safety and idempotency, but the description adds substantial behavioral context: the healthScore formula, freshness thresholds, alert categories, coverage-over-time semantics, and the meaning of hasData=false as a signal that URL Inspection sync is not enabled. These details go well beyond the structured annotations and help an agent interpret results correctly.

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

Conciseness4/5

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

The description is front-loaded with the resource and return details, and most of its density is justified because there is no output schema to explain the response shape. It is somewhat long and includes a bilingual Portuguese summary that duplicates content, which slightly reduces conciseness.

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

Completeness5/5

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

Given the absence of an output schema, the description does an excellent job explaining the key return values, the healthScore calculation, alert types, freshness categories, and the important hasData=false edge case. It is complete enough for an agent to call and interpret the tool without needing additional structured output documentation.

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

Parameters3/5

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

Schema description coverage is 100%, so both the site and alertLimit parameters are already documented in the schema. The description reinforces that the tool operates on a property's inspected URLs but does not add parameter-specific meaning beyond what the schema provides, so a baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly identifies the resource as the property's indexing status, including healthScore, counts, breakdowns, freshness, alerts, and coverage over time. It is specific enough to distinguish this as an aggregate health view rather than raw inspection retrieval, but it does not explicitly name or differentiate itself from the sibling list_url_inspections tool.

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

Usage Guidelines4/5

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

It gives clear usage contexts such as 'are my pages indexed', 'did Google drop a page', and crawl staleness, which helps an agent know when to select this tool. It does not explicitly state when not to use it or name alternative tools like list_url_inspections for raw inspection data.

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

get_longtail_clustersHead / chunky middle / long tailA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
presetNoWord-count thresholds (default balanced).
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
examplesNoExamples per tier (default 5).
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoMinimum impressions per query (default 1).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds behavioral context by listing the returned metrics (queries, clicks, impressions, ctr, position, shares, top examples per tier) and the Pareto view, which helps set expectations for output. No contradiction with annotations.

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

Conciseness4/5

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

The description is two sentences, front-loaded with the core behavior and then use cases, with no wasted words. The bilingual repetition (Portuguese) is the only minor addition, but overall it is tight and well-structured.

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

Completeness4/5

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

Given 13 parameters, no output schema, and the complexity of the tool, the description adequately covers what the tool does, how it segments queries, what metrics are returned, and when to use it. It does not detail every parameter, but the schema handles those, and the return-value description compensates for the missing output schema.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it explains the exact word-count thresholds for the 'preset' enum (balanced: 1–2 / 3–4 / 5+; strict: 1 / 2–3 / 4+; loose: 1–3 / 4–5 / 6+), which the schema only labels generically. This extra detail is useful for choosing the right preset.

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

Purpose5/5

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

The description uses a specific verb ('Splits') and resource ('the period's queries'), and clearly defines the segmentation into head, chunky middle, and long tail by word count, plus a Pareto view. This distinct purpose (query-length segmentation + Pareto) sets it apart from siblings like get_query_performance or analyze_query_shapes without needing to name them.

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

Usage Guidelines4/5

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

It provides explicit use cases in quotes: 'how dependent are we on a few head terms', 'how much comes from long-tail', and 'content-planning by intent length'. However, it does not state when not to use it or name alternative sibling tools, leaving some inference to the agent.

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

get_page_performanceOne page over timeA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
pageYesThe exact page URL as stored by Search Console (full URL, e.g. https://example.com/blog/post). Required.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
granularityNoSeries grouping (default day).
counterpartsNoTop queries to include (default 10).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's contribution is return-shape and failure behavior: totals, comparison delta, series, counterparts, and the candidate-listing error. It does not mention pagination or result caps, but it adds real context beyond the annotations.

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

Conciseness4/5

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

Front-loaded and efficient: purpose first, then outputs, then the exact-match rule. The trailing Portuguese echo ('/ Série de uma página exata.') adds no information for an English-reading agent and is mild noise.

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

Completeness4/5

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

With 14 parameters and no output schema, the description carries the burden of describing return values, and it does so at a high level (totals, comparison, series, counterparts). Date defaults and branded-terms error conditions live in the schema, so nothing critical is missing, though the output shape is only sketched.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description goes slightly beyond by clarifying that 'counterparts' means the queries bringing traffic to the page and that the series can be daily or weekly (granularity). Remaining parameters (device, country, brand, searchType) are covered only by the schema.

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

Purpose5/5

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

States a specific verb and resource ('Daily performance of ONE page (URL) of the property') and spells out exactly what comes back — totals with comparison change, daily/weekly series, and top counterpart queries. The capitalized 'ONE page

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

Usage Guidelines3/5

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

The description establishes the context (single exact page) and warns that matching is exact, with an error that lists up to 5 candidate URLs containing the text — useful for recovery. However, it never says when to prefer a sibling such as get_query_performance, get_timeseries, or breakdown_by_path instead, so routing is left to inference.

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

get_position_distributionPosition bands per dayA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
granularityNoday (default) or week (Monday as key).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/no-destructive, so the safety profile is covered; the description adds real methodological context beyond that — positions are impression-weighted daily averages, the response includes a period aggregate and a first-vs-last-week share shift in percentage points. It omits performance/cost traits, so not a 5.

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

Conciseness4/5

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

Well front-loaded: the band definitions and metrics come first, then interpretation guidance, then the aggregate/share-shift note. The Portuguese mirror of the first sentence adds bulk without new information for an English-reading agent, costing it a point.

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

Completeness4/5

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

With 11 parameters and no output schema, the description carries the return-shape burden and does so — it names the per-band metrics, the period aggregate, and the sharePoints shift. What remains unexplained (pagination, response envelope, default ordering) is minor for this read-only tool.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (days, site, brand, query, device, country, dates, searchType, granularity, pageContains) is already documented in the schema. The description adds only the day/week framing, which is already in the granularity enum. Baseline 3 applies.

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

Purpose5/5

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

States a specific analytical operation on a specific resource, and enumerates the exact band boundaries (1-3, 4-10, 11-20, 21+) plus the metrics returned. An agent can distinguish this from get_timeseries or get_query_performance without opening the schema.

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

Usage Guidelines4/5

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

Provides three concrete use cases in quotes ('are we moving from page 2 to page 1', 'how much visibility sits beyond position 10', 'when a band changed'), which gives the agent clear situational triggers. It stops short of naming an alternative sibling or stating when not to use it.

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

get_query_performanceOne query over timeA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
pageNoOptional exact page URL to restrict the query to one page.
siteYesProperty: 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.
brandNoall (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.
queryYesThe exact query text (case-insensitive). Required.
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
granularityNoSeries grouping (default day).
counterpartsNoTop pages to include (default 10).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), yet the description still adds real behavioral value: exact case-insensitive matching and the failure mode where an unresolved query returns up to 5 candidate suggestions. It could go further on how empty/no-data periods behave, but the error-path disclosure is genuinely useful.

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

Conciseness4/5

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

Front-loaded with the core purpose, then return shape, then matching semantics in three tight sentences. The trailing Portuguese fragment ("/ Série de uma query exata.") adds nothing for an English-reading agent and is the only wasted text.

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

Completeness4/5

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

For a 14-parameter analytics tool with no output schema, the description covers what comes back (totals, comparison, series, counterparts) and the error path, which is the main ambiguity an agent would hit. Missing only a note on pagination/response size for high-cardinality counterparts, a minor gap given full schema coverage.

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

Parameters3/5

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

Schema description coverage is 100%, so all 14 parameters are already documented in detail (defaults, enums, date fallbacks, brand semantics). The description only restates the query-matching rule and the optional single-page restriction, which the schema largely covers already. Baseline 3 applies.

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

Purpose5/5

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

States a concrete verb+resource with explicit scope ("Daily performance of ONE search query on the property, optionally on one page") and describes the returned shape (totals, comparison deltas, series, top counterparts). That scope alone distinguishes it from list-style siblings such as query_top_queries and get_page_performance.

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

Usage Guidelines3/5

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

The "ONE query" emphasis implicitly tells the agent this is not a listing tool, and the exact-match/fuzzy-fallback rule explains what to expect on a miss. However, no sibling is named and there is no explicit when-to-use / when-not guidance (e.g. use query_top_queries to discover which queries exist first).

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

get_query_shape_trendQuery shape share over timeA
Read-onlyIdempotent
Inspect

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".

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
metricNoShare basis (default impressions).
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so credit goes to what the description adds: weeks keyed by Monday, incomplete first/last weeks surfaced in partialWeeks, and the exact arithmetic behind sharePointsChange. That is genuine output/edge-case disclosure. Nothing is said about row limits, cost, or pagination for an 11-parameter aggregation.

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

Conciseness3/5

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

The first sentence front-loads the core definition well and the analytical hook follows logically. But the definition sentence is overloaded with parenthetical lists and field names, and the trailing Portuguese restatement duplicates the content without adding information for an English-querying agent.

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

Completeness4/5

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

For an 11-param tool with no output schema, the description usefully sketches the return shape (weekly keys, sharePointsChange, partialWeeks) and the analytical intent. The one real gap is the unresolved default-window disagreement between description (12 weeks) and the days parameter (28), which the agent cannot settle without guessing.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all 11 parameters well; baseline is 3. The description adds only the choice between impressions and clicks as share basis. Worse, it says the default period is 12 weeks while the schema declares days default 28 — that discrepancy is left unresolved and could mislead on the effective window.

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

Purpose4/5

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

Opening clause names the specific resource and grain: weekly share of impressions/clicks per query shape, over the period. It even enumerates the shape buckets and defines the delta field (sharePointsChange), so the agent knows exactly what it gets. It stops short of an explicit contrast with the sibling analyze_query_shapes (snapshot vs. trend), which would have lifted this to a 5.

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

Usage Guidelines4/5

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

"Use to see whether questions / conversational queries are growing, i.e. demand shifting toward AI-style searches" gives a concrete analytical trigger. There is no when-not-to-use and no pointer to the nearest alternative (analyze_query_shapes, get_ai_traffic, get_timeseries), so the agent must infer which of these overlapping tools to pick.

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

get_ranking_changesRanking changes between periodsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
limitNoRows (default 50).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
statusNoOnly this status (default all = every status except stable).
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
dimensionNoquery (default) or page.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoIgnore keys with fewer impressions than this in both periods (default 10).
minPositionChangeNoPositions a key must move to count as improved/declined (default 1).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive), yet the description still adds substantial behavior: row payload fields, summary aggregation, default sort order (impressions then move size), the minImpressions filter, and the sign convention (negative positionChange = improved).

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

Conciseness4/5

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

Purpose and status definitions are front-loaded and every clause carries information, but the fully duplicated Portuguese translation roughly doubles length without adding new meaning for most readers.

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

Completeness5/5

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

For a 16-parameter analytical tool with no output schema, the description still conveys the shape of the return (per-row metrics for both periods, changes, summary counts) and the sorting, which is everything an agent needs to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so 3 is the baseline, but the description adds real semantics: minPositionChange defines the improved/declined threshold and status=all excludes stable by default. It doesn't elaborate on the date-window interaction (days vs startDate/endDate) beyond what the schema already says.

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

Purpose5/5

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

Opens with a specific verb+resource: classifies each query (or page) of a property into new/lost/improved/declined/stable between two periods. The status taxonomy makes it clearly distinct from siblings like get_query_performance or detect_change_points.

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

Usage Guidelines4/5

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

Provides concrete triggering questions ("what did we gain or lose in rankings", "which queries fell off", "new queries this month"), which is strong context for selection. It stops short of naming alternatives or stating when not to use it (e.g. versus detect_change_points or get_query_performance).

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

get_site_summaryProperty summaryA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent and non-destructive, so the safety bar is covered. The description adds real behavioural detail beyond that: how comparison values are expressed (absolute, Pct as fraction, ctrPoints in percentage points) and that negative position difference means improvement, which an agent could easily misread otherwise.

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

Conciseness4/5

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

Front-loads the metric set and scope, then the comparison semantics, then the routing hint. Dense but each clause carries information; the trailing Portuguese summary line is mild redundancy but appears to be a convention.

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

Completeness4/5

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

With 11 parameters and no output schema, the description carries the burden of explaining return shape and does so for the comparison fields, plus notes the default period behaviour via schema. A little more on the shape of the totals payload would close the remaining gap.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3; the description adds an explicit statement that all filter dimensions are accepted (country, device, brand, page, query) and clarifies comparison-output semantics tied to the `compare` parameter. It still does not add syntax detail beyond the schema, so it does not reach 5.

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

Purpose5/5

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

States a specific verb+resource: totals of clicks, impressions, CTR and average position for one property over a period. The scope word 'Totals' plus 'one property' clearly separates it from sibling aggregate tools like get_breakdown, get_timeseries and get_query_performance.

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

Usage Guidelines4/5

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

Gives a clear entry-point rule: 'Start here for "how is site X doing"'. It does not name alternatives or state when another tool should be preferred (e.g. get_breakdown for dimensional splits), so it stops short of full when/when-not routing.

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

get_timeseriesTime seriesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
granularityNoGrouping (default day).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds useful behavioral context that days without data are omitted, but does not describe response shape or pagination.

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

Conciseness4/5

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

The description is short and front-loads the metrics, grouping, and main use cases. The bilingual Portuguese sentence is a duplicate rather than added information, so it is not perfectly concise.

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

Completeness4/5

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

For an 11-parameter tool with no output schema, it adequately states the returned metrics, grouping behavior, omission of empty days, and primary analysis scenarios. It could say more about response structure, but the core calling context is present.

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

Parameters4/5

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

Schema coverage is 100%, so the schema carries most parameter meaning. The description still adds useful semantics for granularity by specifying Monday as the week key and yyyy-mm as the month format.

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

Purpose4/5

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

States specific metrics (clicks, impressions, CTR, position) and grouping options (day/week/month) over a period with filters. It is clearly distinguishable in function, though it does not explicitly name sibling tools it replaces.

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

Usage Guidelines4/5

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

Gives clear use cases — trend, seasonality, locating a drop date — which help an agent decide when to call it. It does not state when to prefer alternatives or when not to use it.

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

get_weekly_digestWeekly digestA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
siteYesProperty: 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.
brandNoall (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.
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
formatNomarkdown (default) or json.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoLast day of the week (default: last synced date).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world behavior, so the description must add beyond that and does: it explains the data is computed live from synced data, that storedReport carries the saved KPIs/actions from the email/Slack digest when the weekly job ran, that alerts lists the week's alerts, and that endDate shifts the week with the last synced date as default. This is meaningful behavioral context not available in annotations. It does not detail failure modes or the exact response shape, keeping it at a 4.

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

Conciseness4/5

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

The description is one dense but front-loaded paragraph: it opens with what the digest contains, then live-vs-stored behavior, then usage contexts. Every clause adds information, though the trailing Portuguese tagline is redundant for an English-context description and the sentence is quite long.

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

Completeness4/5

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

For a 9-parameter read-only digest with no output schema, the description adequately enumerates the returned sections (movers, anomalies, alerts, quick wins, AI lines, actions) and explains the live-vs-storedReport duality. The main remaining gap is the absence of return format details (e.g., what the markdown vs json structure looks like), which the schema does not cover either.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 9 parameters thoroughly, including enums, patterns and defaults. The description adds only a restatement of endDate's default/week-shifting meaning, which the schema also says. With the schema doing the heavy lifting, baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb+resource with full scope: a week-over-week digest listing movers, top queries/pages, anomalies, Google updates, quick wins, technical alerts, AI search and next actions. It is instantly distinguishable from siblings like get_site_summary or generate_seo_report because it names its unique weekly-comparison contents.

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

Usage Guidelines4/5

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

It gives explicit usage contexts: "what changed this week", "Monday stand-ups", "a client's weekly update", which tells an agent when to reach for it. It also notes the storedReport behavior when the weekly job has run, adding a condition for interpretation. It does not state an explicit exclusion against other reporting siblings, so it falls short of a 5.

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

list_ga4_propertiesGA4 properties of the Google accountA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the read-only/idempotent annotations, it discloses authentication prerequisites, the analytics.readonly scope requirement, sorting behavior, and concrete failure modes with no_data reasons such as scope_missing, no_connection, and token_revoked. This is materially useful behavioral context that annotations alone do not provide.

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

Conciseness4/5

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

The description is front-loaded and mostly efficient, covering purpose, prerequisites, error modes, and usage in a compact paragraph. The bilingual repetition and guide URL add some length without much new information, but the core content remains focused.

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

Completeness5/5

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

There is no output schema, but the description compensates by naming the returned fields: numeric id, displayName, GA4 account name, and sort order. It also covers connection prerequisites and failure reasons, making the definition sufficiently complete for correct invocation.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description appropriately does not invent parameter semantics, though it does explain the returned property id that feeds into set_ga4_property.

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

Purpose5/5

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

The description states a specific verb and resource: 'Lists the Google Analytics 4 properties the connected Google account can see.' It also names the underlying API call and explicitly ties the output to set_ga4_property, so the agent can distinguish it from sibling tools.

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

Usage Guidelines5/5

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

It gives explicit usage conditions: use before set_ga4_property to find the property id, or when the user does not know their GA4 property id. It also states the required connection and scope, leaving little ambiguity about when this tool applies.

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

list_sitemapsSitemapsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
siteYesProperty: 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.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the bar is lower. The description still adds real behavioral context beyond them: the API discontinuity that makes `indexed` usually 0, and which fields the response actually carries. It doesn't discuss auth or property-visibility failure modes, which keeps it at 4.

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

Conciseness4/5

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

Front-loaded with purpose and return fields, then the important `indexed`=0 caveat, then usage guidance — a sensible order with little waste. The trailing Portuguese restatement adds length without new information, though it appears to be a deliberate localization pattern.

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

Completeness4/5

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

With no output schema, the description carries the return-value burden and does so by enumerating the fields and per-type contents. Combined with the API-limitation caveat and usage guidance, an agent has enough to call and interpret it correctly; only ordering/pagination behavior is unaddressed, which is minor for a per-site sitemap list.

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

Parameters3/5

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

Schema description coverage is 100% and the single `site` parameter already documents accepted formats (displayName, siteUrl, numeric id, substring) plus a pointer to list_sites. The description adds nothing about the parameter beyond the word 'property', so baseline 3 applies.

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

Purpose5/5

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

Specific verb (list) plus resource (sitemaps) scoped to a property, and the description enumerates the returned fields (path, lastSubmitted, lastDownloaded, isPending, errors, warnings, contents per type). It also names the sibling tool to use instead for indexing data, so an agent can distinguish it from get_indexing_tracker without opening either schema.

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

Usage Guidelines4/5

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

Explicitly states the when-to-use cases: confirm Google is fetching the sitemap, spot errors/warnings, count submitted URLs. It also routes the indexing use case to get_indexing_tracker. It stops short of stating when this tool is the wrong choice beyond that one exclusion, so a 4 rather than 5.

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

list_sitesProperties in the accountA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
includeHiddenNoInclude hidden properties (visible = false).

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior. The description adds useful context beyond that: scope is the signed-in account, default output is visible properties only, and coverage fields are included. It does not discuss pagination or output limits, which keeps it from a 5.

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

Conciseness4/5

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

The description is front-loaded with purpose and usage and lists return fields efficiently. The closing bilingual fragment "/ Propriedades da conta com cobertura de dados." does not add actionable information for an English-speaking agent and slightly dilutes conciseness.

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

Completeness5/5

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

There is no output schema, so the description appropriately explains what the tool returns: property identifiers, URLs, names, tags, branded terms, mapping status, and data coverage. Combined with annotations and the fully described single parameter, an agent has enough information to call it correctly.

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

Parameters4/5

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

Schema description coverage is 100%, and the single parameter includeHidden is documented in the schema. The description adds meaning by clarifying the default: "Default: visible properties only." That is useful beyond the schema, though only one parameter is involved.

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

Purpose5/5

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

The description uses a specific verb and resource: it lists Search Console properties synced for the signed-in account. It also enumerates the returned fields (id, siteUrl, displayName, tags, branded_terms, GA4/Bing mapping, coverage), making the tool easily distinguishable from siblings like list_ga4_properties and list_sitemaps.

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

Usage Guidelines4/5

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

It gives clear usage context: "Use it first when you do not know the exact name of a site or need the date range available." It also states the default behavior (visible properties only). It does not explicitly name alternative tools or when-not-to-use cases, so it falls short of a 5.

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

list_url_inspectionsURL inspection resultsA
Read-onlyIdempotent
Inspect

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).

NameRequiredDescriptionDefault
siteYesProperty: 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.
limitNoRows (default 100).
statusNoFilter (default all).
urlContainsNoOnly URLs containing this text.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive, and the description adds real behavioral context: results are *stored* (not live fetches) and "hasData=false when no inspection is stored yet," which tells the agent how to interpret an empty response. It also discloses the return payload in the absence of an output schema. Minor gap: no mention of freshness or rate/API-call cost.

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

Conciseness4/5

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

Front-loaded with the resource and scope, then filters, then usage routing; every clause is informative. The duplicated Portuguese sentence at the end is redundant for an English-reading agent and slightly dilutes density.

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

Completeness4/5

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

With no output schema, the field enumeration and the hasData=false note do the work of describing the return shape, and the sibling relationship to get_indexing_tracker is stated. An agent could invoke this correctly without opening the schema.

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

Parameters3/5

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

Schema coverage is 100%, so all four parameters (including the site lookup rules and limit default) are already documented in the schema. The description restates the status and URL-text filtering but adds no syntax or edge-case detail beyond it. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb+resource: the latest stored URL Inspection result per URL of the property, and enumerates the returned dimensions (verdict, coverageState, indexingState, canonical comparison, lastCrawlTime, etc.). It is clearly distinguishable from get_indexing_tracker, which is named as the related aggregate view.

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

Usage Guidelines4/5

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

Explicitly routes the agent: "Use after get_indexing_tracker to see specific URLs, or to check one URL's state," and names the two filter modes (status or URL text). It stops short of stating when not to use it, but the sequencing and alternative are clear.

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

query_countriesBy countryA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
sortNoSort order (default clicks).
brandNoall (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.
limitNoRows (default 50, max 1000).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoDrop keys with fewer impressions than this in both periods (default 1).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, and the description still adds real behavior: keys present in only one comparison period show zeros in the other, the default period ends at the last synced date because Search Console lags ~3 days, and every response states the period used. It omits how rows are capped/paged beyond the schema's limit field.

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

Conciseness4/5

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

Front-loaded with the resource definition, then output fields, then sort semantics, then the noise-avoidance tip — a sensible order with little waste. It is dense with parentheticals and the trailing bilingual 'Por país.' earns nothing, keeping it just below a 5.

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

Completeness4/5

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

For a 14-parameter tool with no output schema, the description carries the important load: it enumerates the returned row fields and the comparison-derived fields, and explains default date behavior. Filtering parameters (brand, device, query, pageContains, country) are covered only by the schema, which is adequate given 100% coverage, but the description does not tie them into the country-breakdown use case.

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

Parameters4/5

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

Schema coverage is 100%, so a 3 would be defensible, but the description genuinely adds meaning the schema lacks: it spells out what 'position (lowest first)', 'growth (largest click gain)' and 'decline (largest loss)' actually sort by, and explains the prev*/change field family that the comparison parameter produces. It adds nothing about limit, query, device, brand, or pageContains beyond what the schema already says.

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

Purpose4/5

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

States a specific resource (countries, ISO-3166-1 alpha-3, lowercase) scoped to 'one property over the period', which is a concrete verb+resource+scope statement. It implicitly occupies the country-dimension slot next to query_devices and query_top_queries but never names or contrasts them, so sibling differentiation is left to inference.

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

Usage Guidelines3/5

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

There is no explicit when-to-use / when-not-to-use statement or routing to alternatives among the many sibling query tools. The only usage advice is embedded in the sort discussion ('For ctr/position use minImpressions >= 20 to avoid noise'), which is parameter guidance rather than tool-selection guidance.

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

query_devicesBy deviceA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
sortNoSort order (default clicks).
brandNoall (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.
limitNoRows (default 50, max 1000).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoDrop keys with fewer impressions than this in both periods (default 1).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already flag read-only, idempotent, non-destructive, so the safety profile is covered. The description adds real context beyond that: comparison fields emitted, the rule that keys present in only one period show zeros, the Search Console ~3-day lag and that the period is echoed in every response, and that branded sorting throws invalid_argument unless branded terms are configured. It does not mention pagination or row ordering stability, but this is well above the annotation baseline.

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

Conciseness4/5

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

It is front-loaded with the resource and the returned metrics before the sort rules, and the bilingual tail is brief. The dense enumeration of prev*/change keys is long but earns its place because there is no output schema; a slightly tighter phrasing would help.

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

Completeness4/5

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

For a 14-parameter read tool with no output schema, the description covers the return shape, comparison modes, default date window behavior and sort semantics. Remaining gaps are minor — no guidance on limit relative to result cardinality, and no mention of how device rows interact with other filters.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema does not: sort values growth and decline are defined as largest click gain/loss vs comparison, position sorts lowest-first, and minImpressions is tied to a noise-reduction recommendation for ctr/position. That is real semantic value on top of the schema.

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

Purpose4/5

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

The description opens with a specific resource and scope: device breakdown (MOBILE, DESKTOP, TABLET) for one property over a period, and enumerates the returned metrics. It is clear what the tool does, though it never names the sibling breakdown tools (query_countries, breakdown_by_path, get_breakdown) that an agent would need to distinguish it from.

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

Usage Guidelines3/5

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

There is one concrete usage rule — 'For ctr/position use minImpressions >= 20 to avoid noise' — which is genuinely actionable. However there is no guidance on when to pick this tool over the many sibling breakdown tools (query_countries, breakdown_by_path, query_top_pages); usage is only implied by the resource named.

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

query_top_pagesTop pagesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
sortNoSort order (default clicks).
brandNoall (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.
limitNoRows (default 50, max 1000).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoDrop keys with fewer impressions than this in both periods (default 1).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the description spends its words well: it discloses the exact row payload (clicks, impressions, ctr, position), the comparison fields (prev*, *Change), and a non-obvious edge case — keys present in only one period show zeros. It also explains sort semantics for growth/decline. Missing only pagination/performance notes.

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

Conciseness4/5

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

Front-loaded with purpose, then row shape, then sort meanings, then a practical tip — a logical order with no filler in the English text. The trailing Portuguese mirror is duplicative but consistent with the toolset's convention, keeping it just short of a 5.

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

Completeness4/5

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

For a 14-param, no-output-schema tool, the description carries the necessary burden by explaining the returned row fields and comparison behavior. Date/default semantics are already in the 100%-covered schema and safety is in the annotations, so nothing critical is missing, though the precise relationship to overlapping siblings remains implicit.

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

Parameters4/5

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

With 100% schema coverage the baseline is 3, but the description adds real meaning beyond the schema: it explains what each sort enum does (position lowest-first, growth/decline based on click change vs comparison) and recommends minImpressions >= 20 for ctr/position to avoid noise. The other params are left to the already-complete schema.

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

Purpose4/5

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

States a specific resource and scope: pages (URLs) of one property over a period, aggregated and sorted, with a concrete use case ('best/worst pages and pages that gained or lost clicks'). It implicitly distinguishes itself from query_top_queries (pages vs queries) but never contrasts with close siblings like get_page_performance or breakdown_by_path, so an agent still has to infer the boundary.

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

Usage Guidelines4/5

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

Gives a clear situational context ('Use for best/worst pages and pages that gained or lost clicks') and practical guidance on sort choice and minImpressions >= 20 for ctr/position. It does not name any alternative tool or state when-not to use this one, which is a gap given several overlapping page-level siblings.

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

query_top_queriesTop queriesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
sortNoSort order (default clicks).
brandNoall (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.
limitNoRows (default 50, max 1000).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
compareNoComparison: previous (default) = same-length window immediately before; year = same dates one year earlier; none. / Comparação.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoDrop keys with fewer impressions than this in both periods (default 1).

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent safety, and the description adds substantial return-shape detail: per-row clicks/impressions/ctr/position plus comparison keys (prevClicks, clicksChange, etc.) and the zeros-for-missing-period behavior. That is meaningful context beyond the annotations, though it doesn't discuss rate limits or auth.

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

Conciseness4/5

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

Front-loaded with purpose, then use cases, then sort semantics, then practical tips. Dense but nearly every sentence carries actionable information; the bilingual tail is consistent with house style.

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

Completeness4/5

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

For a 14-param tool with no output schema, the description explains the return row structure and comparison behavior, which is the key missing piece. Combined with 100% schema coverage, an agent has what it needs to call it correctly.

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

Parameters4/5

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

Schema coverage is 100% (baseline 3), and the description adds value: it explains each sort mode's semantics (growth = largest click gain, position = lowest first) and the minImpressions noise-reduction advice. This goes beyond the schema's own wording for sort.

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

Purpose4/5

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

States a specific verb+resource: 'Search queries of one property over the period, aggregated and sorted.' This clearly separates it from page-oriented siblings like query_top_pages or breakdown_by_path by naming 'queries'. It stops short of explicitly naming an alternative sibling, keeping it at 4 rather than 5.

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

Usage Guidelines4/5

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

Gives concrete use cases: 'what people search to find us', growth/decline lists, ranking changes. It also advises sort choice and minImpressions >= 20 for ctr/position. There is no explicit when-not or named-alternative routing, so 4 rather than 5.

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

score_opportunitiesOpportunity score (CTR gap)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
daysNoWindow length in days (default 28). Ignored when startDate and endDate are both given. / Janela em dias.
siteYesProperty: 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.
brandNoall (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.
limitNoRows (default 25).
queryNoOnly queries containing this text, or a regex as /…/ (e.g. "/^how to/"; no flag = case-insensitive).
deviceNoDevice.
countryNoCountry as ISO-3166-1 alpha-3, as in Search Console: bra, usa, prt, arg.
endDateNoEnd 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.
startDateNoStart yyyy-mm-dd. Default: endDate − (days − 1).
searchTypeNoSearch type (default web).
maxPositionNoMaximum position (default 30).
minPositionNoMinimum position (default 3).
pageContainsNoOnly pages whose URL contains this text (case-insensitive), e.g. "/blog/".
minImpressionsNoMinimum query impressions (default 20).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare the tool is read-only, idempotent, non-destructive, and closed-world. The description adds substantial behavioral detail beyond that: how expectedCtr is sourced, how ctrGap and lostClicks are computed, how scores are normalized, and what the high/medium thresholds mean. Return fields are not exhaustively described, but the scoring behavior is unusually transparent.

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

Conciseness4/5

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

The description is dense but front-loaded: it states what is queried, then defines the metrics and score scale, then gives the use case. The formula details are justified because they determine how results are interpreted. It could be slightly tighter, but every sentence carries signal.

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

Completeness4/5

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

For a complex 14-parameter analytic tool with no output schema, the description covers the essential computation, defaults, threshold levels, and intended use. It does not enumerate the exact response shape, but it names the key derived fields (ctrGap, lostClicks, score, level). Combined with 100% schema coverage and strong annotations, this is close to complete.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline would be 3. The description nevertheless adds meaning beyond the schema by explaining that minPosition and maxPosition define which queries qualify and by describing how expected CTR and score are derived. It does not explain every parameter's interaction, but the core analytic parameters are clarified.

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

Purpose4/5

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

The description states a specific operation: querying rows between position bounds whose CTR is below the expected CTR for their position, with the scoring formula made explicit. It also gives the intended use case (title/meta-description quick wins), so an agent can tell what the tool produces. It does not explicitly name sibling tools such as get_ctr_benchmark or get_ctr_curve to distinguish cases where raw CTR data is wanted instead.

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

Usage Guidelines4/5

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

It gives a clear use context: 'Use for title/meta-description quick wins.' This is enough to select the tool for opportunity-finding rather than raw reporting. It does not state when not to use it or explicitly route to alternatives like get_ctr_benchmark or query_top_queries.

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

set_bing_keyStore the Bing Webmaster API keyA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
keyYesAPI key generated in Bing Webmaster Tools (Settings → API access) and pasted by the user.

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=true): it discloses that the key is stored encrypted, never returned by any tool, and not logged, states the one-key-per-account cardinality, the authorization requirement, and the return shape { set, setAt }. This is exactly the behavioural context annotations cannot express.

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

Conciseness4/5

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

Front-loaded with the core statement and the key operational facts packed efficiently. The trailing Portuguese translation sentence is redundant for an English-reading agent, costing a little tightness without harming comprehension.

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

Completeness5/5

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

For a single-parameter mutation with no output schema, the description covers purpose, prerequisites, permissions, format, storage guarantees, ordering relative to siblings, and the return value. Nothing an agent needs in order to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is already 100%, but the description still adds value: the input format (16–128 letters, digits, '-', '_'), its provenance (generated under Settings → API access), and that it is 'pasted in the chat'. That supplements rather than repeats the schema.

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

Purpose5/5

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

States a precise verb+resource ('Stores the Bing Webmaster Tools API key of the Organiq account') and immediately distinguishes it from the sibling set_bing_site by noting the key 'serves every property with a Bing site set by set_bing_site'. An agent can tell exactly what this tool does versus its neighbours.

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

Usage Guidelines5/5

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

Gives explicit trigger conditions: 'Use it after set_bing_site, or when get_bing_performance / check_connection report the key missing', and names the sibling tools involved. It also specifies the precondition (owner/admin, mcp:write scope) and the failure mode (insufficient_scope).

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

set_bing_siteSet the Bing Webmaster siteA
Idempotent
Inspect

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).

NameRequiredDescriptionDefault
siteYesProperty: 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.
bingSiteUrlYesSite URL as registered in Bing Webmaster Tools, e.g. "https://www.example.com/"; null clears it.

TDQS

A4/5.0
Behavior1/5

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

The description discloses a significant side effect: when the value changes, already-synced Bing data is deleted and rebuilt on the next daily sync. That conflicts with the annotation destructiveHint=false, because deleting synced data is a destructive side effect.

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

Conciseness4/5

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

The definition is dense but front-loaded, moving from purpose to validation, side effects, prerequisites, and when to use it. The Portuguese sentence repeats part of the first sentence and slightly lengthens the definition without adding new meaning.

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

Completeness5/5

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

For a write tool with no output schema, the description covers the important context: auth requirements, URL validation rules, null clearing, cache deletion and rebuild behavior, return information, and the related tools set_bing_key and get_bing_performance.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaningful validation beyond the schema for bingSiteUrl: it must be https, have no query or fragment, stay on the property's own domain, and follow different rules for sc-domain versus URL-prefix properties.

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

Purpose5/5

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

The description states a specific verb and resource: it sets the Bing Webmaster site URL for one Search Console property in Organiq. It also distinguishes the operation from the sibling set_bing_key by referring to the account's Bing API key separately.

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

Usage Guidelines5/5

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

It gives explicit triggers: use it when check_connection lists no_bing or when the user asks to connect Bing. It also names prerequisites such as the mcp:write scope and points to set_bing_key for the API key and get_bing_performance for post-sync data.

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

set_branded_termsSet the branded termsA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
siteYesProperty: 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.
termsYesFull list of branded terms (max 20, each 2–40 characters); [] clears.

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, the description discloses replacement semantics (whole list overwritten, [] wipes it), immediate effect with no sync required, and the write-scope auth requirement (mcp:write). These are consistent with readOnlyHint=false and idempotentHint=true: repeating the same list yields the same state. The full-list overwrite is mildly in tension with destructiveHint=false, but the description explicitly warns about it, so the agent is not misled.

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

Conciseness4/5

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

Front-loaded with the action and the constraints, and every clause carries real information (limits, normalization, replacement rule, auth, trigger). It is dense to the point of being a single run-on sentence, and the appended Portuguese sentence duplicates content with essentially no added signal.

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

Completeness5/5

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

For a two-parameter config setter with no output schema, the definition covers limits, normalization, replacement behavior, timing, auth scope and when to invoke it. Nothing an agent needs in order to call it correctly is missing.

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

Parameters4/5

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

At 100% schema coverage the baseline is 3; the description adds genuine semantics — terms are lower-cased and de-duplicated, must be 2–40 characters (clarifying the schema's looser items maxLength of 60), and a query counts as branded when it contains one of them. Only the 'site' parameter gets no added meaning beyond the schema, keeping it from a 5.

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

Purpose5/5

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

Names a specific verb (replaces) and resource (branded terms of one Search Console property) and explains the downstream effect: the brand filter, get_breakdown, get_branded_performance and the branded shape of analyze_query_shapes. That lets an agent distinguish it from set_bing_key/set_ga4_property and from the read-only branded siblings without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit triggers — 'use it when check_connection lists no_branded_terms or brand=branded was rejected' — and states the calling convention (send the full list, [] clears) so the agent knows not to send a partial patch. It also names the exact precondition check_connection that precedes it, which is unusually actionable.

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

set_ga4_propertyLink a GA4 propertyA
Idempotent
Inspect

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.

NameRequiredDescriptionDefault
siteYesProperty: 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.
ga4PropertyIdYesNumeric GA4 property id ("123456789" or "properties/123456789"), from list_ga4_properties; null unlinks.

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that changing the value deletes previously synced GA4 data, that the next daily sync rebuilds history, that Search Console data is untouched, that get_ai_traffic answers only after sync, and that mcp:write scope is required. These are exactly the side effects and preconditions an agent needs before mutating state.

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

Conciseness4/5

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

Front-loads the action and the critical side-effect warning, and every English sentence earns its place. The trailing Portuguese restatement and the panel-UI parenthetical are mildly redundant, but they serve localization rather than padding the core guidance.

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

Completeness5/5

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

Complete for a two-param mutation with no output schema: it covers prereqs (write scope, ID source), effects on other tools (get_ai_traffic), data-loss semantics, and what is returned ('property settings'). Nothing material is left to inference.

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

Parameters4/5

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

Schema coverage is 100%, so both params are already documented; the description adds value by restating the accepted formats ('123456789' or 'properties/123456789'), pinning the source tool (list_ga4_properties), and clarifying that null unlinks. Minor redundancy against the schema keeps it at 4 rather than 5.

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

Purpose5/5

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

States a concrete verb+resource: links a GA4 property to one Search Console property, mapping exactly to the tool name. It also disambiguates from siblings by naming list_ga4_properties as the ID source and check_connection as the trigger, so an agent can tell it apart without opening a schema.

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

Usage Guidelines5/5

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

Explicit trigger conditions: 'Use it when check_connection lists no_ga4 or the user asks to connect GA4,' plus the null-unlinks case. It also names the alternative for obtaining the ID (list_ga4_properties), so the routing decision is fully specified.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 44 tool updates
    • First observedanalyze_cannibalization
    • First observedanalyze_query_shapes
    • First observedanalyze_sampling_impact
    • First observedbreakdown_by_path
    • First observedcheck_connection
    • First observeddetect_anomalies
    • First observeddetect_change_points
    • First observedfind_decaying_content
    • First observedfind_page_poaching_opportunities
    • First observedforecast_traffic
    • First observedgenerate_seo_report
    • First observedget_ai_traffic
    • First observedget_annotations
    • First observedget_bing_performance
    • First observedget_branded_performance
    • First observedget_breakdown
    • First observedget_capabilities
    • First observedget_core_web_vitals
    • First observedget_ctr_benchmark
    • First observedget_ctr_curve
    • First observedget_genai_impressions
    • First observedget_indexing_tracker
    • First observedget_longtail_clusters
    • First observedget_page_performance
    • First observedget_position_distribution
    • First observedget_query_performance
    • First observedget_query_shape_trend
    • First observedget_ranking_changes
    • First observedget_site_summary
    • First observedget_timeseries
    • First observedget_weekly_digest
    • First observedlist_ga4_properties
    • First observedlist_sitemaps
    • First observedlist_sites
    • First observedlist_url_inspections
    • First observedquery_countries
    • First observedquery_devices
    • First observedquery_top_pages
    • First observedquery_top_queries
    • First observedscore_opportunities
    • First observedset_bing_key
    • First observedset_bing_site
    • First observedset_branded_terms
    • First observedset_ga4_property

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides analytics and SEO insights from Google Analytics 4 and Google Search Console. Supports querying traffic, engagement, conversions, search performance, URL inspection, and sitemap management.
    2 npm
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    An SEO analysis MCP server integrating Google Search Console, Bing Webmaster Tools, and GA4 with custom grain analysis tools for content decay, traffic drops, CTR benchmarking, and actionable recommendations.
    100
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables querying Google Search Console and Google Analytics 4 through natural language, with tools for SEO analysis like anomaly detection, cannibalization detection, and opportunity scoring.
    11 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language analysis of Google Search Console data through Claude, with pre-built tools for quick wins, cannibalization detection, content decay, and more.
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.