Skip to main content
Glama

Add a competitor

add_competitor

Add a competitor app to one of your applications, identified by the competitor's store bundle ID. The competitor metadata is fetched from the store and ranking entries are backfilled for every keyword tracked on the main app.

Input Schema

NameRequiredDescriptionDefault
langYesBCP-47 language-region code of the listing language (e.g., en-US, fr-FR, de-DE). The country picks the market, not the region of the language: Arabic is ar-SA in every country, so Arabic in Morocco is country MA with lang ar-SA
storeYesApp store: GPLAY (Google Play) or ITUNES (App Store)
app_idYesThe main application internal ID (from list_applications results)
countryYesISO country code (e.g., US, FR, DE)
competitor_app_idYesStore bundle ID of the competitor (e.g. "com.spotify.music" for GPLAY, "284882215" or a bundle ID for ITUNES)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / lang / description
      Previous value: -"BCP-47 language-region code (e.g., en-US, fr-FR, de-DE)"New value: +"BCP-47 language-region code of the listing language (e.g., en-US, fr-FR, de-DE). The country picks the market, not the region of the language: Arabic is ar-SA in every country, so Arabic in Morocco is country MA with lang ar-SA"
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare it is a non-read-only, open-world, non-idempotent, non-destructive write. The description goes beyond that by disclosing the real side effects: store metadata is fetched and ranking entries are backfilled for every keyword tracked on the main app, which signals a potentially heavy write. It stops short of saying what happens on a duplicate add or on failure.

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 tight sentences: the action and its identifier come first, then the consequential side effects. No filler, nothing buried.

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 mutation tool with no output schema and annotations covering the safety profile, the description supplies the essential behavioral picture (external fetch + ranking backfill). Minor gaps remain around duplicate handling, required preconditions, and error outcomes.

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?

Schema coverage is 100%, so all five parameters are already documented in the schema, including the lang/country nuance and the store enum. The description only reiterates that the competitor is identified by store bundle ID, adding no format or validation detail beyond the schema.

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?

Specific verb+resource with scope: it adds a competitor app to an existing main application and states the identifier (store bundle ID). It implicitly separates itself from add_application (main app vs competitor), but never names a sibling such as list_competitors or remove_competitor to sharpen the boundary.

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 use case is implied (you add a competitor so its rankings get tracked), but there is no explicit when-to-use, no prerequisite stated (e.g., the main app must already exist/track keywords), and no guidance on checking for duplicates via list_competitors first.

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