Skip to main content
Glama

Bus seat map

al_bus_seats
Read-onlyIdempotent

Shows free seats and seat status counts for a single bus, including seat numbers and row/column layout so users can see where they can sit and how full it is.

Instructions

Show which seats are free on one bus: counts per status and the free seat numbers (no booking).

Use after al_buses when the user cares where they sit or asks how full a bus is. Pick the bus by its departure time (and company). layout gives each seat's row and column (columns 1-2 left of the aisle, 4-5 right) so pairs can be found; statuses mean Available, booked for a male or female passenger, or Blocked (not for sale).

Input Schema

NameRequiredDescriptionDefault
dateYesTravel date, Gregorian 2026-11-11 or Jalali 1405-08-20 (the year tells which).
originYesCity name in Persian or English (تهران, Mashhad) or its code (THR, MHD); al_cities lists them.
companyNoPart of the company name, to pick one when several buses leave at that time.
destinationYesCity name in Persian or English (تهران, Mashhad) or its code (THR, MHD); al_cities lists them.
departure_timeYesDeparture time of the bus from al_buses, HH:MM.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (read-only, idempotent, non-destructive, open-world), so the description's job is to add the rest — and it does: the tool does not book, statuses mean available/male-booked/female-booked/blocked, and blocked seats are not for sale. It stops short of describing response shape or edge cases like a bus with no seat data, but adds solid behavior beyond annotations.

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?

Front-loaded with the return content, then usage, then the layout/status decoding — no filler sentences. The layout explanation is dense and could be slightly crisper, but every clause carries operational meaning.

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

Completeness5/5

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

There is no output schema, yet the description explains what comes back (counts per status, free seat numbers, per-seat row/column layout), what the statuses mean, and how the aisle splits columns. For a single-object lookup tool with fully documented params, nothing essential to correct invocation is missing.

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 every parameter is already documented with format, patterns and examples. The description corroborates that departure_time and company disambiguate the bus, but repeats what the schema already states rather than adding new semantics; baseline 3 applies.

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: show free seats on one bus, returning counts per status and free seat numbers, and explicitly says no booking occurs. This clearly separates it from al_buses, which finds/list buses rather than inspecting a single bus's seat map.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Gives an explicit trigger ('Use after al_buses when the user cares where they sit or asks how full a bus is') plus the sequencing prerequisite and how to pick the bus among several (departure time plus company). The agent knows both when to call it and what data it needs first.

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