Skip to main content
Glama

Keyword targeting

check_keyword
Read-onlyIdempotent

How pages target a keyword. Pick with mode: focus = One page against one keyword: 8 checks. Needs url, keyword. cannibalization = Your pages competing for one keyword, side by side on every signal, with the plan. Needs keyword, target_url.

Input Schema

NameRequiredDescriptionDefault
urlNoFull address of the page, for example https://example.com/pricing.
modeNoDefault focus.
rowsNoOptional Search Console rows for the keyword, to find the competing pages and their positions.
detailNobrief = short summary.
keywordNoThe search term the page should rank for, for example 'running shoes'.
memory_keyNosite_memory key, records this call.
target_urlNoThe page that should rank for it.
competing_urlsNoOther pages of the same site that compete for the keyword.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / description
      Removed value: -"The result as structured data; fields depend on mode."
  2. Changed2 schema fields changed
    • changedInput schema / properties / detail / description
      Previous value: -"brief returns a short summary, default full."New value: +"brief = short summary."
    • changedInput schema / properties / memory_key / description
      Previous value: -"Optional site_memory key, to record this call in the site memory."New value: +"site_memory key, records this call."
  3. Changed1 schema field changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "brief returns a short summary, default full.",
      +  "enum": [
      +    "full",
      +    "brief"
      +  ],
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / memory_key
      Added value: +{
      +  "description": "Optional site_memory key, to record this call in the site memory.",
      +  "maxLength": 80,
      +  "type": "string"
      +}
  5. Added

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the description's added value is in behavior: it discloses that focus performs '8 checks' and that cannibalization lays competing pages 'side by side on every signal, with the plan.' That is meaningful procedural context beyond the annotations, though return shape is left to the output 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?

Dense and front-loaded: the core purpose leads, then each mode with its own inputs. The phrasing is compressed to the point of being slightly telegraphic ('with the plan'), but nothing is padding.

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 an output schema present, the description need not describe returns, and it covers the two decision points an agent must resolve: which mode and which inputs. The remaining parameters (rows, competing_urls, detail, memory_key) are fully documented in the schema, so the definition is adequate 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?

Schema coverage is 100%, so 3 is the baseline, but the description adds real meaning the schema does not carry: the schema lists zero required parameters, while the description states which inputs each mode actually needs (url+keyword for focus, keyword+target_url for cannibalization). That per-mode parameter requirement is genuinely additive.

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 names the subject (how pages target a keyword) and splits it into two concrete modes with distinct outputs: 'focus = One page against one keyword: 8 checks' and 'cannibalization = Your pages competing for one keyword.' This is more specific than the title alone, though it never differentiates itself from adjacent siblings like track_rankings or content, so it falls just short of 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?

The 'Pick with mode:' phrasing gives explicit selection criteria between the two modes and states the required inputs for each ('Needs url, keyword' vs 'Needs keyword, target_url'). It stops short of naming when to prefer this over a sibling tool, so it is clear context without exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.