Skip to main content
Glama

Get Stop Realtime

get_stop_realtime
Read-onlyIdempotent

Returns live arrivals at a stop: route, destination, vehicle type, minutes until arrival, and each vehicle's position. Use this as the default tool when the user asks about arrivals, departures, or the next bus/tram at a specific stop. Requires a numeric stop ID (shown on stop signage); use search_stops when you have a stop name, or get_stops_around_location when you have coordinates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stop_idYesMunicipal stop code shown on stop signage (e.g. 707). Accepts a positive integer or an equivalent digit-only string.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
viewYes
ui_blocksYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / ui_blocks / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "center": {
      -            "additionalItems": false,
      -            "items": [
      -              {
      -                "type": [
      -                  "number",
      -                  "null"
      -                ]
      -              },
      -              {
      -                "type": [
      -                  "number",
      -                  "null"
      -                ]
      -              }
      -            ],
      -            "maxItems": 2,
      -            "minItems": 2,
      -            "type": "array"
      -          },
      -          "stop": {
      -            "anyOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "id": {
      -                    "type": "string"
      -                  },
      -                  "lat": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "lng": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "name": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "id",
      -                  "name",
      -                  "lat",
      -                  "lng"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "vehicles": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bearing": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "eta_minutes": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 9007199254740991,
      -                      "minimum": -9007199254740991,
      -                      "type": "integer"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "eta_status": {
      -                  "enum": [
      -                    "assigned",
      -                    "unassigned"
      -                  ],
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "type": "string"
      -                },
      -                "lat": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "lng": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "next_stop_id": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "route": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "route",
      -                "lat",
      -                "lng",
      -                "bearing",
      -                "next_stop_id",
      -                "eta_minutes",
      -                "eta_status"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "zoom": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "center",
      -          "zoom",
      -          "stop",
      -          "vehicles"
      -        ],
      -        "type": "object"
      -      },
      -      "type": {
      -        "const": "map",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "arrivals": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "arrival_minutes": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 9007199254740991,
      -                      "minimum": -9007199254740991,
      -                      "type": "integer"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "bearing": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "direction": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "lat": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "lng": {
      -                  "type": [
      -                    "number",
      -                    "null"
      -                  ]
      -                },
      -                "route": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "vehicle_id": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "vehicle_type": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "route",
      -                "direction",
      -                "vehicle_type",
      -                "arrival_minutes",
      -                "vehicle_id",
      -                "lat",
      -                "lng",
      -                "bearing"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "stop": {
      -            "anyOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "id": {
      -                    "type": "string"
      -                  },
      -                  "lat": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "lng": {
      -                    "type": [
      -                      "number",
      -                      "null"
      -                    ]
      -                  },
      -                  "name": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "id",
      -                  "name",
      -                  "lat",
      -                  "lng"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          }
      -        },
      -        "required": [
      -          "stop",
      -          "arrivals"
      -        ],
      -        "type": "object"
      -      },
      -      "type": {
      -        "const": "arrival_list",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "center": {
      +            "additionalItems": false,
      +            "items": [
      +              {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            ],
      +            "maxItems": 2,
      +            "minItems": 2,
      +            "type": "array"
      +          },
      +          "layers": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "polylines": {
      +                "type": "string"
      +              },
      +              "stops": {
      +                "type": "string"
      +              },
      +              "vehicles": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "zoom": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "center",
      +          "zoom",
      +          "layers"
      +        ],
      +        "type": "object"
      +      },
      +      "type": {
      +        "const": "map",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "source": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "source"
      +        ],
      +        "type": "object"
      +      },
      +      "type": {
      +        "const": "arrival_list",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed21 schema fields changed
    • removedOutput schema / properties / data / properties / arrivals / items / properties / bearing / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / arrivals / items / properties / bearing / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / arrivals / items / properties / direction / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / arrivals / items / properties / direction / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / arrivals / items / properties / lat / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / arrivals / items / properties / lat / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / arrivals / items / properties / lng / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / arrivals / items / properties / lng / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / arrivals / items / properties / route / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / arrivals / items / properties / route / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / arrivals / items / properties / vehicle_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / arrivals / items / properties / vehicle_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / arrivals / items / properties / vehicle_type / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / arrivals / items / properties / vehicle_type / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / stop / properties / lat / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / stop / properties / lat / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / stop / properties / lng / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / stop / properties / lng / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / stop / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / stop / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / ui_blocks / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "center": {
      -            "items": [
      -              {
      -                "anyOf": [
      -                  {
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              {
      -                "anyOf": [
      -                  {
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            ],
      -            "type": "array"
      -          },
      -          "stop": {
      -            "anyOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "id": {
      -                    "type": "string"
      -                  },
      -                  "lat": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "lng": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "name": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "id",
      -                  "name",
      -                  "lat",
      -                  "lng"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "vehicles": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bearing": {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "eta_minutes": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 9007199254740991,
      -                      "minimum": -9007199254740991,
      -                      "type": "integer"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "eta_status": {
      -                  "enum": [
      -                    "assigned",
      -                    "unassigned"
      -                  ],
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "type": "string"
      -                },
      -                "lat": {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "lng": {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "next_stop_id": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "route": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "id",
      -                "route",
      -                "lat",
      -                "lng",
      -                "bearing",
      -                "next_stop_id",
      -                "eta_minutes",
      -                "eta_status"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "zoom": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "center",
      -          "zoom",
      -          "stop",
      -          "vehicles"
      -        ],
      -        "type": "object"
      -      },
      -      "type": {
      -        "const": "map",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "arrivals": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "arrival_minutes": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 9007199254740991,
      -                      "minimum": -9007199254740991,
      -                      "type": "integer"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "bearing": {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "direction": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "lat": {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "lng": {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "route": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "vehicle_id": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "vehicle_type": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "route",
      -                "direction",
      -                "vehicle_type",
      -                "arrival_minutes",
      -                "vehicle_id",
      -                "lat",
      -                "lng",
      -                "bearing"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "stop": {
      -            "anyOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "id": {
      -                    "type": "string"
      -                  },
      -                  "lat": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "lng": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "name": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "id",
      -                  "name",
      -                  "lat",
      -                  "lng"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          }
      -        },
      -        "required": [
      -          "stop",
      -          "arrivals"
      -        ],
      -        "type": "object"
      -      },
      -      "type": {
      -        "const": "arrival_list",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "data"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "center": {
      +            "additionalItems": false,
      +            "items": [
      +              {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            ],
      +            "maxItems": 2,
      +            "minItems": 2,
      +            "type": "array"
      +          },
      +          "stop": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "id": {
      +                    "type": "string"
      +                  },
      +                  "lat": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "lng": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "name": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "id",
      +                  "name",
      +                  "lat",
      +                  "lng"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "vehicles": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "bearing": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "eta_minutes": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 9007199254740991,
      +                      "minimum": -9007199254740991,
      +                      "type": "integer"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "eta_status": {
      +                  "enum": [
      +                    "assigned",
      +                    "unassigned"
      +                  ],
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "type": "string"
      +                },
      +                "lat": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "lng": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "next_stop_id": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "route": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "route",
      +                "lat",
      +                "lng",
      +                "bearing",
      +                "next_stop_id",
      +                "eta_minutes",
      +                "eta_status"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "zoom": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "center",
      +          "zoom",
      +          "stop",
      +          "vehicles"
      +        ],
      +        "type": "object"
      +      },
      +      "type": {
      +        "const": "map",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "arrivals": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "arrival_minutes": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 9007199254740991,
      +                      "minimum": -9007199254740991,
      +                      "type": "integer"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "bearing": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "direction": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "lat": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "lng": {
      +                  "type": [
      +                    "number",
      +                    "null"
      +                  ]
      +                },
      +                "route": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "vehicle_id": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "vehicle_type": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "route",
      +                "direction",
      +                "vehicle_type",
      +                "arrival_minutes",
      +                "vehicle_id",
      +                "lat",
      +                "lng",
      +                "bearing"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "stop": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "id": {
      +                    "type": "string"
      +                  },
      +                  "lat": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "lng": {
      +                    "type": [
      +                      "number",
      +                      "null"
      +                    ]
      +                  },
      +                  "name": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "id",
      +                  "name",
      +                  "lat",
      +                  "lng"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "stop",
      +          "arrivals"
      +        ],
      +        "type": "object"
      +      },
      +      "type": {
      +        "const": "arrival_list",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed4 schema fields changed
    • removedInput schema / properties / stop_id / anyOf
      Removed value: -[
      -  {
      -    "description": "Positive integer stop code (e.g. 707).",
      -    "exclusiveMinimum": 0,
      -    "maximum": 9007199254740991,
      -    "type": "integer"
      -  },
      -  {
      -    "description": "Stop code as a digits-only string (e.g. \"707\").",
      -    "pattern": "^\\d+$",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / stop_id / exclusiveMinimum
      Added value: +0
    • addedInput schema / properties / stop_id / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / stop_id / type
      Added value: +"integer"
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "arrivals": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "arrival_minutes": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "bearing": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "direction": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "lat": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "lng": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "route": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "vehicle_id": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "vehicle_type": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "route",
      +              "direction",
      +              "vehicle_type",
      +              "arrival_minutes",
      +              "vehicle_id",
      +              "lat",
      +              "lng",
      +              "bearing"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "stop": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "id": {
      +              "type": "string"
      +            },
      +            "lat": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "lng": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "name",
      +            "lat",
      +            "lng"
      +          ],
      +          "type": "object"
      +        },
      +        "updated_at": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "stop",
      +        "arrivals",
      +        "updated_at"
      +      ],
      +      "type": "object"
      +    },
      +    "ui_blocks": {
      +      "items": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "data": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "center": {
      +                    "items": [
      +                      {
      +                        "anyOf": [
      +                          {
      +                            "type": "number"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ]
      +                      },
      +                      {
      +                        "anyOf": [
      +                          {
      +                            "type": "number"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ]
      +                      }
      +                    ],
      +                    "type": "array"
      +                  },
      +                  "stop": {
      +                    "anyOf": [
      +                      {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "id": {
      +                            "type": "string"
      +                          },
      +                          "lat": {
      +                            "anyOf": [
      +                              {
      +                                "type": "number"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ]
      +                          },
      +                          "lng": {
      +                            "anyOf": [
      +                              {
      +                                "type": "number"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ]
      +                          },
      +                          "name": {
      +                            "anyOf": [
      +                              {
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ]
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "name",
      +                          "lat",
      +                          "lng"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  },
      +                  "vehicles": {
      +                    "items": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "bearing": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "eta_minutes": {
      +                          "anyOf": [
      +                            {
      +                              "maximum": 9007199254740991,
      +                              "minimum": -9007199254740991,
      +                              "type": "integer"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "eta_status": {
      +                          "enum": [
      +                            "assigned",
      +                            "unassigned"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "id": {
      +                          "type": "string"
      +                        },
      +                        "lat": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "lng": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "next_stop_id": {
      +                          "anyOf": [
      +                            {
      +                              "type": "string"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "route": {
      +                          "anyOf": [
      +                            {
      +                              "type": "string"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        }
      +                      },
      +                      "required": [
      +                        "id",
      +                        "route",
      +                        "lat",
      +                        "lng",
      +                        "bearing",
      +                        "next_stop_id",
      +                        "eta_minutes",
      +                        "eta_status"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "zoom": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "center",
      +                  "zoom",
      +                  "stop",
      +                  "vehicles"
      +                ],
      +                "type": "object"
      +              },
      +              "type": {
      +                "const": "map",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type",
      +              "data"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "data": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "arrivals": {
      +                    "items": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "arrival_minutes": {
      +                          "anyOf": [
      +                            {
      +                              "maximum": 9007199254740991,
      +                              "minimum": -9007199254740991,
      +                              "type": "integer"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "bearing": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "direction": {
      +                          "anyOf": [
      +                            {
      +                              "type": "string"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "lat": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "lng": {
      +                          "anyOf": [
      +                            {
      +                              "type": "number"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "route": {
      +                          "anyOf": [
      +                            {
      +                              "type": "string"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "vehicle_id": {
      +                          "anyOf": [
      +                            {
      +                              "type": "string"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        },
      +                        "vehicle_type": {
      +                          "anyOf": [
      +                            {
      +                              "type": "string"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ]
      +                        }
      +                      },
      +                      "required": [
      +                        "route",
      +                        "direction",
      +                        "vehicle_type",
      +                        "arrival_minutes",
      +                        "vehicle_id",
      +                        "lat",
      +                        "lng",
      +                        "bearing"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "stop": {
      +                    "anyOf": [
      +                      {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "id": {
      +                            "type": "string"
      +                          },
      +                          "lat": {
      +                            "anyOf": [
      +                              {
      +                                "type": "number"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ]
      +                          },
      +                          "lng": {
      +                            "anyOf": [
      +                              {
      +                                "type": "number"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ]
      +                          },
      +                          "name": {
      +                            "anyOf": [
      +                              {
      +                                "type": "string"
      +                              },
      +                              {
      +                                "type": "null"
      +                              }
      +                            ]
      +                          }
      +                        },
      +                        "required": [
      +                          "id",
      +                          "name",
      +                          "lat",
      +                          "lng"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "stop",
      +                  "arrivals"
      +                ],
      +                "type": "object"
      +              },
      +              "type": {
      +                "const": "arrival_list",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type",
      +              "data"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "type": "array"
      +    },
      +    "view": {
      +      "const": "transit_realtime",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "view",
      +    "data",
      +    "ui_blocks"
      +  ],
      +  "type": "object"
      +}
  5. Changed2 schema fields changed
    • changedInput schema / properties / stop_id / anyOf
      Previous value: -[
      -  {
      -    "description": "Numeric municipal stop code (e.g. 707).",
      -    "exclusiveMinimum": 0,
      -    "maximum": 9007199254740991,
      -    "type": "integer"
      -  },
      -  {
      -    "description": "Municipal stop code as digits-only string (e.g. \"707\").",
      -    "pattern": "^\\d+$",
      -    "type": "string"
      -  }
      -]New value: +[
      +  {
      +    "description": "Positive integer stop code (e.g. 707).",
      +    "exclusiveMinimum": 0,
      +    "maximum": 9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "description": "Stop code as a digits-only string (e.g. \"707\").",
      +    "pattern": "^\\d+$",
      +    "type": "string"
      +  }
      +]
    • addedInput schema / properties / stop_id / description
      Added value: +"Municipal stop code shown on stop signage (e.g. 707). Accepts a positive integer or an equivalent digit-only string."
  6. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds the 'live' nature of the data and the inclusion of vehicle positions, which goes beyond the annotations. It does not contradict them. The bar is lowered by annotations, and the description provides relevant extra context without redundancy.

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 sentences: the first front-loads the core purpose and return contents, the second gives usage routing and input requirement. No fluff, every sentence earns its place. Structure is optimal.

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?

For a single-parameter tool with an output schema and annotations covering safety, the description covers purpose, when to use, alternatives, and required input. Nothing an agent needs to call it correctly is missing; the output schema handles return details.

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%, with a detailed description of stop_id (type, example, and accepted string form). The description only repeats that it is numeric and shown on signage, which is already in the schema. No additional meaning is added, so the 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?

The description states a specific verb ('Returns live arrivals') with a clear resource (stop) and enumerates the returned fields (route, destination, vehicle type, minutes, position). It explicitly distinguishes itself from siblings by positioning itself as the default for arrivals at a specific stop and naming alternatives, so an agent can select it without confusion.

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?

The description gives explicit when-to-use guidance ('default tool when the user asks about arrivals, departures, or the next bus/tram at a specific stop') and when-not-to-use guidance (use search_stops for names, get_stops_around_location for coordinates). This leaves no ambiguity about selection.

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.