Skip to main content
Glama

List Competitors

list_competitors
Read-onlyIdempotent

Lists the competitors this workspace tracks (up to 50), with ids, names, aliases (other names AI answers count as naming them) and domains. Each one's comparisonPages gives, per kind (vs, pricing), the live post's postId and status, or null when it has none. Pass includeUntracked to also see ones that were unstarred. Related: track_competitor, rename_competitor, set_competitor_aliases, get_competitor_scorecard, draft_competitor_page.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_competitors"
  }
}

Input Schema

NameRequiredDescriptionDefault
includeUntrackedNoAlso list competitors that are no longer tracked.

Output Schema

NameRequiredDescriptionDefault
appUrlYes
competitorsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/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 met and the description adds real context on top: a hard cap of 50 results, the default exclusion of untracked competitors, and the meaning of the comparisonPages payload (per-kind postId and status, or null). It does not discuss ordering of the 50 results or what happens past the cap, which is the main remaining gap.

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?

Two sentences plus a one-line Related pointer; the identity and scope come first, then the comparisonPages detail, then the flag, then siblings. No filler, and every clause carries information an agent would otherwise have to guess.

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 one-flag, read-only list tool with an output schema present, this is nearly complete: scope, result cap, filtering behavior, and relationship to sibling tools are all covered, and return values are backed by the output schema. The only thing an agent might still want is result ordering, which the description leaves unstated.

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 a single parameter at 100% schema coverage the baseline is 3, but the description goes beyond the schema's "no longer tracked" by explaining the underlying mechanic ("ones that were unstarred"), which helps an agent predict what an untracked competitor is. It also implies the default is tracked-only, information the boolean schema does not convey.

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 ("Lists the competitors this workspace tracks") and immediately enumerates the returned identity fields (ids, names, aliases, domains), so the agent knows exactly what this returns. The trailing Related list names the adjacent tools (get_competitor_scorecard, get_competitor_ai_detail, track_competitor), which separates it from its 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 Guidelines3/5

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

The Related line names alternatives but never states conditions for choosing them (e.g., when to call get_competitor_scorecard instead of reading comparisonPages here). The only explicit usage instruction is "Pass includeUntracked to also see ones that were unstarred," which is a parameter hint rather than when-to-use guidance. Usage is implied by the tool's scope rather than spelled out.

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