Traffalyzer
Server Details
SEO & UX audits for your websites: findings, Search Console data, growth plan and site scans.
- Status
- Healthy
- Uptime
- 13.4% over 46 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 15 tools
Most tools target distinct resources (domains, scans, timelines, keyword history, page reports, search-console data), but three related 'what should I do' surfaces — next_actions, quests_and_issues and growth_plan — overlap conceptually, as do page_report and the search_console_* tools. The descriptions do explicit work to steer selection (next_actions is cross-domain and 'start here', the others are domain-scoped), so an agent can resolve the boundaries, but it takes careful reading rather than being self-evident.
All names are snake_case and follow a readable convention: mutation tools use verb_noun (complete_plan_step, complete_quest, run_scan, log_measure, list_domains, get_scan_status) while read/retrieval tools use noun resources (growth_plan, quests_and_issues, keyword_history, page_report, traffic_trend). A few noun names like next_actions and timeline_events are less self-describing but still predictable within the pattern.
15 tools sit at the top of the well-scoped range, and each one maps to a real job in an SEO analytics workflow: project listing, scanning, status, issues/quests, plans, keyword and page performance, timeline, measures and prioritisation. Nothing looks redundant or vestigial.
The surface covers the full analysis loop — discover domain, scan, read scores/issues/quests, inspect plan steps, drill into keywords, pages, traffic and timeline, and log self-made changes. The notable gap is issue lifecycle: issues are surfaced via quests_and_issues and referenced as 'fixed' in timeline_events, but there is no tool to mark or dismiss an issue as resolved, and no way to add or manage domains.
Available Tools
15 toolscomplete_plan_stepComplete plan stepAIdempotentInspect
Tick off (or un-tick with done=false) a step of the domain's growth plan after the work has actually been done. Awards XP on first completion and starts result verification. Step keys come from the growth_plan tool. Only available on paid domains — the free preview is read-only. Never call this without an explicit user request.
| Name | Required | Description | Default |
|---|---|---|---|
| done | No | false un-ticks the step. Defaults to true. | |
| stepKey | Yes | Step key from the growth_plan structure. | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, but the description adds real context beyond them: XP is awarded on first completion, result verification is triggered, and the tool is gated to paid domains. The 'awards XP on first completion' line is consistent with idempotentHint=true. It doesn't say what verification entails or how to observe its outcome, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler: capability first, side effects second, preconditions and the safety constraint last. Every clause carries actionable information for an agent deciding whether to call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter mutation tool with no output schema, the description covers the mutation, its side effects, the paid-plan gate, and the consent requirement. An agent has enough to decide correctly whether and when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are already documented in the schema, including done=false un-ticking and the growth_plan origin of stepKey. The description reinforces the stepKey provenance but adds no new format or constraint details, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (tick off / un-tick) and resource (a step of the domain's growth plan), and immediately distinguishes the operation from sibling complete_quest by naming the plan step. It also names where step keys originate (growth_plan), so an agent can locate the correct input without guessing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly covers when to use it (only after the work has actually been done), when not to use it (never without an explicit user request; not on free domains, which are read-only), and points at growth_plan for key discovery. That is a full when/when-not/alternative triad.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_questComplete questAInspect
Mark one of the user's quests as implemented after the recommended change has actually been made. Awards the quest's XP and starts result verification. Only quests with status OPEN can be completed; get quest ids from quests_and_issues with kind=quest. Never call this without an explicit user request.
| Name | Required | Description | Default |
|---|---|---|---|
| questId | Yes | Quest id from quests_and_issues (kind=quest). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a non-read-only, non-idempotent, non-destructive mutation. The description adds useful behavioral context beyond annotations: XP is awarded, result verification starts, only OPEN quests qualify, and an explicit user request is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the action, then effects, prerequisites, ID source, and the safety warning. Every sentence carries operational value, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation tool with no output schema and existing annotations, the description covers purpose, effects, preconditions, parameter source, and call restriction. An agent has everything needed to decide when and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, and schema description coverage is 100%, so the schema already documents that questId comes from quests_and_issues with kind=quest. The description repeats that source but does not add further syntax or format detail, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Mark one of the user's quests as implemented') and immediately adds the key outcome ('Awards the quest's XP and starts result verification'). It clearly distinguishes quest completion from sibling tools like complete_plan_step by focusing on quests and referencing quests_and_issues for IDs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit preconditions ('Only quests with status OPEN can be completed'), tells the agent where to obtain the required ID ('get quest ids from quests_and_issues with kind=quest'), and adds a strong usage restriction ('Never call this without an explicit user request'). This leaves little room for incorrect invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_statusScan statusARead-onlyInspect
Status and results of the most recent scan of a domain: whether it is pending, running, completed or failed, the overall score and its sub-scores (technical, on-page, engagement, AI visibility), pages crawled and the number of issues found.
| Name | Required | Description | Default |
|---|---|---|---|
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already declares this is a safe read. The description adds useful substance by listing the scan lifecycle states and the score breakdown, which annotations cannot express. However, it says nothing about the case where no scan exists yet (empty result vs error) or about staleness of the 'most recent' scan.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence, front-loaded with the core purpose and then the return contents. The long parenthetical list of sub-scores is dense but each item is informative, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully substitutes by enumerating statuses, scores, pages crawled, and issue count. Combined with a fully documented single parameter, only the no-scan-yet edge case is missing for a complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter with 100% schema description coverage ('Domain id of one of the user's projects, as returned by list_domains'), so the schema already carries full semantics. The description adds nothing about domainId; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource (status and results of the most recent scan of a domain) and enumerates the returned fields, so the agent knows exactly what it gets. It implicitly separates itself from run_scan (this reads, it does not trigger), but never names that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'most recent scan' suggests 'poll after starting a scan', but the description never says when to call this versus run_scan, nor what to do while a scan is pending. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
growth_planGrowth planARead-onlyInspect
The domain's current growth plan: diagnosis, bottleneck, phases and steps. Without a stepKey the structure with all step keys is returned; with a stepKey the full step including rationale, implementation guidance and verification status. On free domains some step details are locked. Responses follow the account language (German by default).
| Name | Required | Description | Default |
|---|---|---|---|
| stepKey | No | Key of a single step from the plan structure. | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safe-read profile, and the description adds genuinely non-obvious behavior: free domains have some step details locked, and responses follow the account language (German default). It stops short of saying what 'locked' actually looks like in the response (omitted vs. redacted vs. error).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the resource definition, then the mode behavior, then the caveats. No wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of describing returns, and it does so for both modes. Minor gaps remain around locked-detail behavior and pagination/size of the structure for large plans.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explicitly maps the presence/absence of stepKey to different return shapes and points to list_domains via the schema for domainId. That adds real semantics beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the domain's current growth plan) and enumerates its components (diagnosis, bottleneck, phases, steps), plus the two retrieval modes. An agent can distinguish this from siblings like quests_and_issues or next_actions immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly explains the conditional use of stepKey (structure vs. single step detail), which tells the agent when to call it in which mode. It does not, however, mention the natural alternative of complete_plan_step for acting on steps or any exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
keyword_historyKeyword historyARead-onlyInspect
Month-by-month history of a single keyword from Google Search Console (clicks, impressions, impression-weighted position) plus the pages ranking for it. Use it to see how a query developed, whether it is seasonal, or which page Google shows for it. Pass the query exactly as Search Console lists it. 16 months for paid domains, 3 months otherwise. Requires the user to have connected Search Console. Responses follow the account language (German by default).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The exact search query, e.g. 'seo tool kostenlos'. | |
| months | No | History length in months, defaults to 16 (paid domains only; free gets 3). | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint already declared, the description adds genuinely new behavioral context: the history window (16 months for paid domains, 3 months otherwise), the auth precondition of a connected Search Console account, and the localization behavior (responses follow the account language, German by default). These are things an agent could not learn from annotations or schema and would otherwise guess wrong about.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence carries information: purpose first, then use cases, then the exact-match constraint, then the tier limits, then the auth requirement, then localization. No restatement of the name or filler, and the highest-value detail (what the data is) leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by naming exactly what comes back (clicks, impressions, impression-weighted position, plus ranking pages). Combined with the tier-based lookback limits and auth prerequisite, an agent has everything needed 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.
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 improves on it by stressing that the query must be passed exactly as Search Console lists it, which constrains how an agent should populate that string. It also reinforces the months semantics (16 paid / 3 free) that the schema only partly conveys. It adds meaning beyond the schema without fully documenting it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: month-by-month history of a single keyword from Google Search Console, including metrics and the pages ranking for it. This is clearly distinguishable from sibling tools like search_console_queries (which covers many queries) or search_console_pages, because it is the per-keyword deep-dive tool. An agent can tell what it returns 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to reach for it: to see how a query developed, whether it is seasonal, or which page Google shows for it. It also states the gating prerequisite (the user must have connected Search Console). It does not name an alternative sibling for the broad-listing case, which keeps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_domainsList domainsARead-onlyInspect
List all website projects (domains) in the user's Traffalyzer account, including their domain id, URL, plan status (free or paid) and the latest scan result with its overall score. Call this first — every domain-scoped tool needs a domain id from this list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares the safety profile, and the description adds real value by specifying the shape of the payload (domain id, URL, plan status, latest scan with overall score) and its role as the prerequisite entry point for the domain-scoped tool family. It stops short of stating pagination or behavior for an account with zero domains, which is why it lands at 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste: the first establishes what comes back, the second front-loads the imperative 'Call this first'. Nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the return-value burden itself and does so by naming the useful fields, plus it supplies the sequencing constraint that makes the tool usable in a multi-step flow. 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the schema to document and no semantic burden on the description; baseline 4 applies. The description correctly signals that no arguments are needed by describing the call as an unfiltered account-wide listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (List) plus resource (website projects / domains) scoped to the user's Traffalyzer account, and it enumerates the returned fields (domain id, URL, plan status, latest scan + score). This is clearly distinguishable from the sibling analysis tools (traffic_trend, run_scan, page_report), none of which enumerate domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call this first — every domain-scoped tool needs a domain id from this list' gives an explicit ordering rule and the reason for it, which is exactly the routing information an agent needs across the sibling set. There is no competing alternative to exclude, so the absence of a 'when not to use' clause is not a gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
log_measureLog measureAInspect
Log a change the user made to their website themselves (e.g. 'added internal links to /blog/x', 'new images in the guide') on the history timeline. Traffalyzer then measures its effect automatically: 28 days before vs. 28 days after, adjusted for the rest of the site. Backdating is allowed up to 16 months; old enough entries are measured right away. Free domains can have 3 active measures. Never call this without an explicit user request.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | YYYY-MM-DD, defaults to today. Not in the future. | |
| note | No | ||
| pages | No | Affected paths; omit for the whole site. | |
| title | Yes | What was done, short, in the user's language. | |
| category | No | ||
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only state it's a non-read, non-destructive, non-idempotent write. The description adds substantial value beyond that: the automatic measurement model (28 days before vs after, site-adjusted), the 16-month backdating window, immediate measurement for old entries, and the 3-active-measures cap on free domains. This is exactly the behavioral context an agent needs before a mutating call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then measurement behavior, then constraints and the safety warning. Sentences are dense but each carries actionable information; the only minor bloat is the parenthetical examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 6 params, the description covers the mutation's consequences, timing rules, and quota well. The main gap is no guidance on the category enum's intended usage, but overall an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the schema already documents date, title, pages, and domainId. The description's examples illustrate the title field but add no new meaning for the category enum or note parameter, so it only marginally exceeds the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Log a change the user made to their website themselves ... on the history timeline') and immediately explains the downstream effect (28-day before/after measurement adjusted for the rest of the site). This clearly distinguishes it from siblings like timeline_events (read) or run_scan (scanning).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear condition for use (recording a change the user made themselves) and an explicit exclusion ('Never call this without an explicit user request'), plus backdating limits and free-tier quota. It doesn't name a specific alternative sibling for viewing existing events, but the when/when-not guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
next_actionsWhat to work on nextARead-onlyInspect
The prioritised to-do list across ALL of the user's domains in a single call: critical and high-severity issues, open quests, the next unfinished growth-plan step, projects with a missing or stale scan, and missing integrations. Start here when the user asks what to improve, what to do next, or to 'optimise the site' without naming a specific domain — it saves querying every project separately. Each entry names the domain, an id or key to work with, and which tool to call next.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum entries, defaults to 15. | |
| domainId | No | Restrict to a single project. Omit to cover all of them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered, and the description adds genuinely new behavioral context: the result is aggregated across all domains in a single call and each entry carries a domain, an id/key, and the next tool to invoke. It stops short of noting ordering guarantees, truncation/limit behavior, or cost of the fan-out, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then the routing rule, then the return shape — a sensible order with no filler. The middle list of item types is long but each element earns its place by telling the agent what to expect back.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 burden of return-value disclosure and does so (entries name domain, id/key, and next tool). An agent could call it correctly from this. Missing only edge-case detail on ranking and limit interaction with the all-domains default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented; baseline 3 applies. The description reinforces domain scoping ('across ALL of the user's domains', 'without naming a specific domain') but adds nothing about what limit does or how it ranks entries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('prioritised to-do list') and enumerates exactly what it aggregates (critical/high issues, open quests, next growth-plan step, stale scans, missing integrations), which cleanly separates it from siblings like quests_and_issues or growth_plan that cover only one domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Start here when the user asks what to improve, what to do next, or to "optimise the site" without naming a specific domain' and gives the reason — it saves querying every project separately. That is an unambiguous when-to-use rule plus the condition that selects it over per-domain siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_reportPage reportARead-onlyInspect
A full report for a single page of the domain: search performance, analytics behavior (sessions, bounce rate, engagement time where connected), page classification and its top search queries. Responses follow the account language (German by default).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path of the page, e.g. '/pricing'. | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only safety profile, and the description adds genuinely new behavioral context: analytics fields appear only "where connected," and responses follow the account language (German by default). It stops short of describing response size, pagination, or what happens if the path is unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that establishes the resource first, then enumerates contents and finally the language caveat. Dense but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing what the report contains and noting the language of the response, which is what an agent needs to interpret results. Minor gaps remain around failure behavior for unknown paths and data freshness, but the call can be made correctly from this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — the path parameter carries an example and domainId points to list_domains — so the schema does the heavy lifting. The description adds only the notion that path identifies a single page, which is baseline credit for a fully documented two-parameter schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"A full report for a single page of the domain" gives a specific verb+resource and enumerates the report's sections (search performance, analytics behavior, classification, top queries). It clearly delimits scope to one page, though it never names the closest sibling (search_console_pages) so an agent must still 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: "for a single page" suggests using this when per-page detail is needed rather than list-level data. There is no explicit when-to-use, no exclusion, and no mention of search_console_pages or search_console_queries as alternatives, so routing between similar siblings 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.
quests_and_issuesQuests and issuesARead-onlyInspect
The domain's task list: quests (concrete recommendations with implementation guidance and XP rewards) and issues (technical findings from the latest crawl with affected URLs). Use kind=quest or kind=issue; pass an id for full details of a single entry. Responses follow the account language (German by default).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Id of a single entry for full details. | |
| kind | Yes | Which list to query. | |
| limit | No | Entry count, defaults to 10. | |
| status | No | Only for kind=quest: OPEN, IMPLEMENTED, VERIFIED_SUCCESS, VERIFIED_PARTIAL, VERIFIED_NO_CHANGE, DISMISSED. | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint already declares it safe, and the description adds a genuinely non-obvious behavior: responses follow the account language, German by default. It also discloses what each entry carries (implementation guidance, XP rewards, affected URLs). It doesn't mention pagination or ordering, but annotations carry the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no waste, front-loaded with what the resource is, then how to select kind, then the behavioral note about language. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still conveys what comes back (recommendations with guidance and XP; findings with URLs) and the language behavior, which is the main surprise an agent could hit. Nothing needed 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.
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: it explains what a quest versus an issue actually contains, and that id switches from list to full-detail mode. The schema's description of id ('Id of a single entry for full details') is less informative than the description's framing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource precisely: the domain's task list, split into quests (recommendations with XP) and issues (technical findings with URLs). An agent immediately knows it retrieves entries, not mutates them. It doesn't explicitly contrast with nearby siblings like next_actions or complete_quest, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use kind=quest or kind=issue; pass an id for full details' is guidance on how to call, not when to choose this tool over alternatives such as next_actions or complete_quest. The usage context (list vs single-entry detail) is implied by the id parameter but never stated as an either/or rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_scanRun scanAIdempotentInspect
Start a new SEO/UX scan (crawl) for one of the user's domains. Scans run asynchronously and usually take a few minutes; poll get_scan_status for progress and the resulting scores. If a scan is already in progress, its id is returned instead of starting a duplicate.
| Name | Required | Description | Default |
|---|---|---|---|
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations: discloses asynchronous execution, expected duration ('a few minutes'), and deduplication behavior (returns the in-progress scan id instead of starting a duplicate), which concretely explains the idempotentHint. Also clarifies the mutation is non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences, front-loaded with the action, then async behavior, then the dedupe caveat. Every sentence carries actionable information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does well by directing the agent to get_scan_status for results and describing the duplicate-id return case. It stops just short of explicitly stating that a successful new scan returns an id, which is a minor omission for an async starter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and the schema already fully documents it, including how to obtain it via list_domains. The description adds only 'one of the user's domains', which is consistent with but not substantially beyond the schema; baseline 3 applies at 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Start a new SEO/UX scan (crawl)') plus scope ('for one of the user's domains'). It clearly distinguishes itself from the sibling get_scan_status, which is named as the follow-up tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the async nature and explicitly routes progress-checking to get_scan_status, and covers the duplicate-scan case. It lacks explicit 'when not to use this' guidance (e.g., domain must already exist via list_domains), though that is partly implied by the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_console_pagesSearch Console pagesARead-onlyInspect
Page-level Search Console performance for one domain: which pages get clicks and impressions, at which average position. Useful to find the pages that carry the organic traffic and the ones that underperform. Responses follow the account language (German by default).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Row count, defaults to 15. | |
| window | No | Reporting window, defaults to 28d. | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read. The description adds a genuinely non-obvious behavioral detail — responses follow the account language, German by default — which affects how results are interpreted. It does not mention data freshness, row limits, or pagination beyond what the schema already states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose and metrics, followed by use case and then the locale caveat. No filler, though the middle sentence is more motivational than operational.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the necessary work of naming the returned fields (pages, clicks, impressions, average position) plus the response-language caveat. Missing only secondary details like staleness of the data or how many pages are returned given the limit cap of 25.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so domainId, window, and limit are all documented in the schema, including the enum and defaults. The description only reinforces the single-domain scoping ("one domain"); baseline 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combination — page-level Search Console performance for one domain — and names the concrete metrics returned (clicks, impressions, average position). It is clear what the tool does, but it never distinguishes itself from the sibling search_console_queries, which an agent could easily confuse for page-level data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Useful to find the pages that carry the organic traffic and the ones that underperform" implies usage but gives no explicit when-to-use or when-not-to-use rules. The nearest alternative, search_console_queries, is never mentioned, so the agent must infer from sibling names which one to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_console_queriesSearch Console keywordsARead-onlyInspect
Keyword data from Google Search Console for one domain. intent=top returns the strongest keywords, intent=opportunities keywords ranking on positions 5-20 with potential, intent=movers the biggest winners and losers versus the previous period of equal length. Requires the user to have connected Search Console. Responses follow the account language (German by default).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Row count, defaults to 15. | |
| intent | No | Which report. Defaults to top. | |
| window | No | Reporting window, defaults to 28d. | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint already marks this as a safe read; the description adds genuinely non-obvious context: the user must have connected Search Console, and responses come back in the account language (German by default). It does not mention the 25-row cap, pagination, or freshness of the underlying data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the resource and scope, then the intent semantics, then the prerequisite and language caveat. Nothing is repeated from the schema and nothing feels like padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does enough: it defines the report shapes per intent, the precondition, and the language of results. A brief note on what a row contains (keyword, position, clicks) and the row cap would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 by defining what each intent value returns rather than restating the enum. window and limit are left to the schema, which already documents them adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (keyword data from Google Search Console) scoped to one domain, and the three intent modes give the agent a precise picture of what comes back. It never names search_console_pages or keyword_history, so differentiation from siblings is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intent definitions effectively say which report to pick for which goal (strongest keywords vs. positions 5-20 vs. winners/losers), and the Search Console connection prerequisite is stated. But there is no guidance on when to choose this tool over search_console_pages or keyword_history, which are the closest alternatives in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
timeline_eventsTimeline eventsARead-onlyInspect
Dated events on the site's history timeline: measures the user logged themselves, completed quests, fixed issues, ticked plan steps, CMS edits, detected wins, scans and Google ranking updates (core, spam …) with their rollout dates. Use it to explain why a curve moved, what was changed when, or whether a measure worked; pair it with traffic_trend. Free domains only get the last 28 days. Responses follow the account language (German by default).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Only events of this page (plus site-wide ones). | |
| kinds | No | Only these kinds. Omit for all except scans. | |
| window | No | Window, defaults to 90d. | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes safety, but the description adds meaningful behavioral context: free domains only receive the last 28 days of events, and responses follow the account language (German by default). It does not describe ordering or pagination, but for a read-only timeline tool the added constraints are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with what the tool returns, followed by when to use it, then concise constraints. The event-type list is dense but each item clarifies scope, and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does a good job explaining the returned event types, rollout dates, account language, and free-domain retention limit. It does not state ordering, pagination, or result size behavior, which would be useful for an event-timeline retrieval tool, but the core semantics are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents domainId, path, kinds, and window with descriptions and an enum. The description's mention of event types and the free-domain 28-day limit is helpful but does not add syntax or filtering semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: dated events on the site's history timeline, with an enumerated list of event types including manual measures, quests, issues, CMS edits, wins, scans, and Google updates. It also distinguishes itself from traffic_trend by positioning itself as the explanatory companion, so an agent can tell what it retrieves 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage contexts: explain why a curve moved, what changed when, or whether a measure worked, and pair it with traffic_trend. It does not explicitly state when not to use it or name an alternative to use instead, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
traffic_trendTraffic trendARead-onlyInspect
Search performance over time for the whole site or a single page — is it getting better or worse, did a change have an effect. Weekly by default, daily with granularity=day when an exact date matters. Includes Plausible visitor data for the same buckets where the integration is connected. Responses follow the account language (German by default).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path of a single page. Omit for the whole site. | |
| window | No | Reporting window, defaults to 90d. | |
| domainId | Yes | Domain id of one of the user's projects, as returned by list_domains. | |
| granularity | No | Resolution of the series, defaults to week. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes safety, and the description adds useful behavioral context: weekly is the default, daily is chosen via granularity=day, Plausible data is included where connected, and responses use the account language. It does not describe response shape or edge cases, but the annotation lowers that burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the tool's purpose and followed by operational defaults and a useful response-language note. There is no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only trend tool with a fully documented schema and no output schema, the description covers the core purpose, defaults, and notable data-source context. It could be slightly stronger with explicit sibling routing or response-structure notes, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already defines all four parameters and their defaults. The description reinforces the path scope, granularity choice, and default weekly behavior, but adds only modest meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search performance over time' for the whole site or a single page, framed as trend detection. It is clear enough to distinguish from list-style tools like search_console_pages or search_console_queries, though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: use it to see whether performance is improving or worsening or whether a change had an effect. It also explains when to choose daily granularity. It stops short of naming alternative tools or explicit exclusions.
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 tool update
- Changed
log_measure1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "INTERNAL_LINKS", - "CONTENT_UPDATE", - "NEW_CONTENT", - "TITLE_META", - "MEDIA", - "TECHNICAL", - "STRUCTURED_DATA", - "REDIRECT", - "OFFPAGE", - "OTHER" -]New value: +[ + "INTERNAL_LINKS", + "CONTENT_UPDATE", + "NEW_CONTENT", + "TITLE_META", + "MEDIA", + "TECHNICAL", + "STRUCTURED_DATA", + "REDIRECT", + "OFFPAGE", + "RELAUNCH", + "OTHER" +]
15 tool updates
- First observed
complete_plan_step - First observed
complete_quest - First observed
get_scan_status - First observed
growth_plan - First observed
keyword_history - First observed
list_domains - First observed
log_measure - First observed
next_actions - First observed
page_report - First observed
quests_and_issues - First observed
run_scan - First observed
search_console_pages - First observed
search_console_queries - First observed
timeline_events - First observed
traffic_trend
Related MCP Connectors
SEO analysis for sites you own: Google Search Console, GA4, PageSpeed, and full site audits.
SEO audits and AI crawler checks. Honest findings only; no invented scores.
SEO audit and AI visibility check for your website, plus Search Console keyword opportunities.
Full SEO audits, content analysis, and domain overviews - on-page, technical, and authority metrics
Related MCP Servers
- AlicenseBqualityBmaintenanceSEO audit and Google Search Console MCP server with 23 tools. Search analytics, URL inspection, Indexing API, Core Web Vitals (CrUX), striking distance keywords, keyword cannibalization detection, branded query analysis, and automated site audits.4318 PyPI2MIT

SEO Score APIofficial
AlicenseNot gradedqualityCmaintenanceAutomated SEO, AEO, ADA auditing for your website or project.76 npmMIT- FlicenseNot gradedqualityCmaintenanceAudits any website for SEO issues, providing scored health checks, schema validation, and performance analysis through AI assistants.-

SiteVerdictofficial
AlicenseAqualityBmaintenanceWebsite audits for AI agents: cookie consent and tracking, Core Web Vitals and lost revenue, WCAG 2.2, email/DNS security (SPF, DMARC) and AI-search readiness, merged into one prioritised fix plan.1135 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.