Skip to main content
Glama

Keyword battleground (head-to-head)

get_keyword_battleground
Read-only

A strictly pairwise head-to-head between your domain and one rival: keyword intersection with both positions, plus the gap list.

The gap list is keywords the rival ranks for that you don't — your publish/target list. Provide domain_a, or project_id to use your project domain. May use lookups; this is strictly pairwise, so call it once per rival. Legacy KR add-on accounts are charged a daily research credit per call even on cache hits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domain_aNoYour domain; defaults to the project domain when project_id is given
domain_bYesThe rival domain to compare against, e.g. rival.com
project_idNoYour ranking id from list_projects — used to resolve your domain (provide domain_a OR project_id).
language_codeNoen
location_codeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsYes
notesYes
verdictYes
domain_aYes
domain_bYes
gap_listYes
overlap_countYes
lookups_remainingYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds meaningful non-obvious behavior: legacy KR add-on accounts are charged a daily research credit per call even on cache hits. It also explains what the gap list represents, giving the agent useful output semantics beyond the 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?

The description is front-loaded with the core purpose, then explains the gap list, usage pattern, and cost caveat. All sentences earn their place, though 'May use lookups' is cryptic and slightly weakens clarity.

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 and read-only annotations, the description covers the main decision points: what the tool does, how to provide your domain, the pairwise limitation, and a cost caveat. It does not explicitly explain the optional language/location parameters, but the schema supplies defaults and the tone is enough for a competent agent.

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?

The schema covers domain_a, domain_b, and project_id, and the description reinforces the domain_a/project_id relationship. However, language_code and location_code are only partially addressed via the vague phrase 'May use lookups,' leaving their meaning and usage underspecified.

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 clearly states a specific operation: a strictly pairwise head-to-head between your domain and one rival, producing keyword intersection with both positions plus a gap list. It emphasizes 'one rival' and 'strictly pairwise,' which distinguishes it from broader competitor-analysis 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 Guidelines4/5

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

The description gives clear usage context: 'call it once per rival' and 'Provide domain_a, or project_id to use your project domain.' It does not explicitly name alternatives or state when not to use the tool, but the pairwise constraint is strong enough guidance for an agent to select it correctly.

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.

TDQS

A3.7/5.0
Disambiguation3/5

Most tools are distinct get_* analytics, but several overlap in purpose: get_ai_visibility vs get_share_of_voice are easy to confuse, and get_project_overview/get_content_action_plan/get_audit_summary all offer prioritized fixes. Descriptions help, but an agent could easily misselect for a generic 'what should I fix?' query.

Naming Consistency5/5

All names follow a consistent snake_case verb_noun pattern (add_, get_, generate_, list_, analyze_, research_), and the get_* prefix dominates read operations. Even win_prompt is a verb_noun and fits the style.

Tool Count2/5

27 tools is past the 25+ threshold and creates a heavy selection surface for an agent. While the SEO/AI-visibility domain is broad, many tools return overlapping 'health/fix/visibility' data and the set would benefit from consolidation.

Completeness3/5

Core workflows (projects, keywords, content briefs, audits, backlinks, AI visibility) are covered, but lifecycle gaps exist: keywords and AI prompts can be added but not removed, there is no list-AI-prompts tool, and no project creation/update is exposed. These are workable but notable missing operations.

Resources