Skip to main content
Glama

Consultar asientos y mapa ASCII

get_seats
Read-onlyIdempotent

Retrieves seat availability maps and counters for a specific cinema showtime using provider, venue, and session IDs; supports Cinepic movie_id and optional per-seat detail.

Instructions

Mapa real sin reservar: Cinex y Cines Unidos requieren cinema_id, session_id y cuenta conectada; Cinepic requiere también movie_id, sin login. Usa IDs de get_showtimes. Devuelve contadores y el mapa ASCII completo, donde cada asiento aparece con su etiqueta y estado (O = status available); include_seats=true añade el detalle por asiento, mucho más extenso. Sin caché local. Para disponibilidad de asientos en Cinex, Cines Unidos y Cinepic, usa get_seats con los IDs verificados de sede y función; Cinepic también requiere movie_id. Muestra el mapa ascii en un bloque de texto monoespaciado con su leyenda y la hora de consulta. Usa solamente status=available de cada asiento para indicar que está libre; conserva occupied, unavailable y unknown por separado. El status=available del resultado significa que se obtuvo un mapa, no que todos sus asientos estén libres ni que la interpretación sea completa. Revisa availability_complete y los contadores: available=0 con unknown>0 NO significa agotado. Si el mapa es parcial, muestra los estados confirmados y los signos ?, explica que Cinve no pudo interpretar parte del mapa y no atribuyas ese fallo al cine ni afirmes que el MCP no soporta asientos. No inventes ubicaciones ni conviertas desconocidos o restringidos en libres. No repitas el login por estados desconocidos: solo ante auth_required. Las consultas no seleccionan ni reservan asientos; la disponibilidad puede cambiar antes de comprar.

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": {
      "provider": "<provider>",
      "cinema_id": "<cinema_id>",
      "session_id": "<session_id>"
    },
    "name": "get_seats"
  }
}

Input Schema

NameRequiredDescriptionDefault
movie_idNoID de película devuelto por list_movies del mismo proveedor; opcional en Cinex cuando se consulta una sede completa.
providerYesProveedor de cine; obtén capacidades y limitaciones con list_providers.
cinema_idYesID de sede devuelto por list_cinemas del mismo proveedor. No mezcles IDs entre proveedores. Si la sede incluye code_status, usa cinema_id solo cuando sea verified; los IDs directory-* no permiten consultas.
session_idYesID de función devuelto por get_showtimes del mismo proveedor.
include_seatsNotrue: añade seats con id, fila, coordenadas y estado del proveedor de cada asiento. Omítelo para responder sobre disponibilidad: el mapa ascii basta y ocupa una fracción del tamaño.

Output Schema

NameRequiredDescriptionDefault
asciiYes
seatsNoDetalle por asiento; solo con include_seats=true. El mapa ascii ya muestra cada etiqueta con su estado.
totalYes
statusYes
sourcesYes
unknownYes
occupiedYes
providerYes
timezoneYes
warningsYes
availableYes
cinema_idYes
queried_atYes
session_idYes
unavailableYes
availability_completeYesTrue only when a nonempty map has no unknown seat states. Does not promise purchase eligibility or a reservation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds substantial behavior the annotations cannot convey: no local cache, the possibility of a partial map, that top-level status=available only means a map was obtained, that available=0 with unknown>0 is NOT sold out, and that login should only be retried on auth_required. This is exactly the kind of interpretation guidance that prevents hallucinated seat availability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening is well front-loaded (what it returns, then ID sourcing, then interpretation caveats), but the text is long and repeats itself — Cinepic's movie_id requirement and the Cinex/Cines Unidos/Cinepic availability instruction appear twice. Rendering instructions (monospaced block, legend, query time) sit in a tool description rather than in the output contract, adding bulk.

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 read-only, open-world tool with an output schema, the description covers the risky parts: provider-specific prerequisites, partial-map handling, and auth behavior. With an output schema present it need not restate return values, so the remaining verbosity is a minor surplus rather than a gap.

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?

Schema description coverage is 100%, so the baseline is 3, but the description contributes cross-parameter conditional semantics the schema does not state: Cinepic additionally requires movie_id and needs no login, while Cinex/Cines Unidos require a connected account. It also clarifies that include_seats makes the payload much larger and is unnecessary for plain availability answers.

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 ("Mapa real sin reservar" — retrieve the real, unreserved seat map) plus exactly what comes back: counters and the full ASCII map with per-seat labels/states. It also names the source of the IDs (get_showtimes) and the per-provider requirements, so an agent can distinguish it from all listed siblings without opening any schema.

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?

Gives clear when-to-use conditions ("Para disponibilidad de asientos en Cinex, Cines Unidos y Cinepic, usa get_seats con los IDs verificados") and a when-not ("Las consultas no seleccionan ni reservan asientos"). It also steers include_seats usage by default. It stops short of naming an alternative for booking or for other providers, and the provider guidance is restated twice rather than consolidated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.