Skip to main content
Glama

manage_rank_competitors

Destructive

Set the domains whose positions are read from every search of a client: the client's own site (isOwn) and up to ten competitors. A competitor costs nothing extra. A domain matches itself, its www form and its subdomains, never its parent; local results are matched by Google's business id (cid), or by the linked website when there is none. Saving another domain with isOwn:true moves the own site: the previous one keeps its measured positions, stays listed as a previous own site (ownUntil) outside the ten competitors and is still read at no cost, up to 3 previous own sites; a move past that stops reading the oldest (stoppedReading). Removing a domain removes its measured positions. Requires MCP write actions; without confirm:true it returns a preview.

Input Schema

NameRequiredDescriptionDefault
cidNoFor save: Google's business id of the listing, for local results.
isOwnNoFor save: true for the client's own site (default false = competitor).
labelNoFor save: a name to show instead of the domain.
actionYessave adds a domain or updates the same domain; remove deletes it.
domainNoFor save: the domain, e.g. "example.co.nz".
confirmNoSet true to apply. Omit for a preview. With confirm:true, also pass the preview's previewToken.
clientIdYesClient id (from list_clients).
targetIdNoFor remove: the id from get_rank_tracking_setup targets.
previewTokenNoWith confirm:true: the previewToken from this tool's preview (valid 15 minutes, once, for exactly the previewed arguments).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With destructiveHint=true and readOnlyHint=false already present, the description adds substantial behavioral context: removal deletes measured positions, own-site moves create previous own sites, at most three are retained, older ones stop being read, and writes require confirmation or return a preview. This goes well 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.

Conciseness5/5

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

The response is dense but front-loaded: the first sentence defines the operation, then subsequent clauses cover matching, own-site moves, limits, removal effects, and preview requirements. Every clause carries operational value despite the compact semicolon-heavy style.

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 destructive write tool with nine parameters and no output schema, the description covers the important gaps: authorization needs, preview behavior, destructive consequences, domain matching rules, and the own-site history limit. An agent has enough context to call it correctly.

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?

Although schema coverage is 100%, the description adds real semantics beyond the schema: competitor domains cost nothing extra, matching covers www and subdomains but not parents, local results use cid or the linked website, and isOwn has move/history consequences. It also explains the previewToken and confirm behavior in practical terms.

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 gives a specific verb and resource: setting the domains whose positions are read for a client, including one own site and up to ten competitors. It is clear about the rank-tracking scope, but it never explicitly distinguishes this tool from nearby siblings such as manage_competitors or add_rank_keywords.

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 clearly explains the save/remove actions, the preview/confirm flow, and when a domain is treated as own versus competitor. It does not explicitly say when to choose this tool over sibling tools, so it lacks full alternative routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources