Skip to main content
Glama

Get ghost duel

get_ghost_duel
Read-onlyIdempotent

Duelo fantasma: el rival contra el que compara la tarjeta en vivo, que es el propio jugador (su mejor tarjeta limpia en ese campo y barra, o su media hoyo a hoyo de las últimas), y cómo va el duelo en la vuelta en juego (golpes de ventaja o desventaja en bruto y en neto sobre los hoyos que ambos tienen, hoyos ganados y perdidos). Sin round_id toma la vuelta en juego; con course_id (y segment, tee) responde qué rival habría en ese campo. El fantasma que se ve en la tarjeta lo elige el jugador en la app al salir (y puede cambiarlo en la propia tarjeta); desde el chat se consulta y se cuenta.

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": "get_ghost_duel"
  }
}

Input Schema

NameRequiredDescriptionDefault
teeNoThe tees on that course, as the course catalogue names them.
modeNobest: their best clean card there. avg: their hole-by-hole average of recent rounds.
segmentNoWhich holes: front9, back9 or full18.
round_idNoThe round to compare. Default: the round in play.
course_idNoA course, to see which ghost they would face there instead.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / course_id / description
      Added value: +"A course, to see which ghost they would face there instead."
    • addedInput schema / properties / mode / description
      Added value: +"best: their best clean card there. avg: their hole-by-hole average of recent rounds."
    • addedInput schema / properties / round_id / description
      Added value: +"The round to compare. Default: the round in play."
    • addedInput schema / properties / segment / description
      Added value: +"Which holes: front9, back9 or full18."
    • addedInput schema / properties / tee / description
      Added value: +"The tees on that course, as the course catalogue names them."
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, closed-world, but the description adds real value on top: the two operating modes (live round vs hypothetical course), what the response reports (gross and net stroke advantage over shared holes, holes won and lost), and that ghost selection lives in the app rather than in this call. Nothing contradicts the annotations. It stops short of detailing edge cases like missing shared holes or what happens if the player has no qualifying card.

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 core concept is front-loaded in the first sentence, and each clause carries information rather than filler. The downside is density: long run-on sentences with nested parentheticals make it harder to scan than a split definition of concept, modes, and returns would be.

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 no output schema, the description must carry the return-value burden, and it does describe what the duel reports (gross/net stroke deltas, holes won and lost). For a five-parameter, all-optional tool whose domain concept is non-obvious, this is close to complete; only edge-case behavior and the exact response shape are left implicit.

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 100%, so the schema already explains tee, mode, segment, round_id and course_id individually. The description contributes the interaction between them (round_id defaults to the round in play; course_id plus segment and tee produces a hypothetical matchup) and glosses mode as best-clean-card vs. recent average, but adds no format or constraint detail beyond the schema. Baseline 3 with modest added relational meaning.

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 defines a specific resource ('el duelo fantasma') with a clear verb ('get') and unpacks what the ghost actually is: the player's own best clean card on a course/tee or their recent hole-by-hole average. It goes well beyond the title, which says nothing. It does not explicitly distinguish itself from nearby siblings such as get_round_card or get_round_insights, which keeps it at 4 rather than 5.

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?

Usage is condition-driven and explicit: without round_id it reads the round in play, with course_id (plus segment and tee) it answers which rival would exist on that course. It also clarifies that this tool only queries the ghost ('desde el chat se consulta y se cuenta') while the player chooses it in the app, which implicitly warns the agent not to expect selection here. No named alternative tools, so not a 5.

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.