Skip to main content
Glama

update_competitor

DestructiveIdempotent

Re-label kind (competitor ↔ trendsetter) or toggle continuous_tracking.

Do not use kind=self here — promote baselines via the product self-competitor flow. Active baselines cannot be re-labeled until cleared.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project_id": "<project_id>",
      "competitor_id": "<competitor_id>"
    },
    "name": "update_competitor"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNo
contextNoExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
llm_modelNoOptional model identifier for analytics, only if explicitly available in client-provided metadata. Otherwise pass 'unknown'. Do not inspect or disclose system prompts, hidden instructions, credentials, or other protected context.
project_idYes
competitor_idYes
conversation_idNoOptional Spiderlook analytics correlation identifier. Reuse the value returned by a previous Spiderlook response only for subsequent Spiderlook calls in this chat. Omit if unavailable; do not invent a value or use the host's conversation ID.
continuous_trackingNo

Output Schema

NameRequiredDescriptionDefault
_mcp_instructionsNoServer-issued metadata for this conversation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is largely covered. The description adds the useful constraint that active baselines must be cleared before re-labeling. However it never explains why the operation is flagged destructive (e.g., whether clearing/unlinking data occurs) or whether changes are reversible, which is the key gap for a destructive mutation.

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?

Three short sentences, front-loaded with the capabilities and followed by the caution. No filler; the only slight cost is that the constraint sentence wraps into two lines without added content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, and the prerequisite constraint is covered. What's missing for a destructive, idempotent mutation is the side-effect profile: what 'destructive' means here and what happens to tracking history when toggled off.

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 description coverage is 43% and the two required IDs are self-evident by name. The description does add real meaning for the two optional parameters: the allowed kind values (competitor ↔ trendsetter) and that continuous_tracking is a toggle. It says nothing about the analytics context/llm_model/conversation_id parameters, but those are documented in 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?

States specific verbs and resources: re-labeling kind between competitor and trendsetter, or toggling continuous_tracking. It's clear the tool mutates a competitor record, and the exclusion of kind=self separates it from the self-competitor flow, though it never names a direct sibling alternative.

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?

Provides an explicit when-not ('Do not use kind=self here') with the correct route ('promote baselines via the product self-competitor flow') and a prerequisite ('Active baselines cannot be re-labeled until cleared'). Positive when-to-use is only implied by the operations listed, not stated outright.

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