SchoolBusTrack MCP by usefulapi
Read pupils, routes, bus positions, trips, boarding lists and incidents in SchoolBusTrack.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- LOWen schoolbustrack_list_bus_locations
- LOWen schoolbustrack_get_bus_location
- LOWen schoolbustrack_get_trip_manifest
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"schoolbustrack": {
"url": "https://schoolbustrack.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://schoolbustrack.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (12)
🟢schoolbustrack_ping
Show which school this key acts for, its name, its scopes and its rate limit. Good first call. SchoolBusTrack API: GET /v1/ping.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_list_students(limit, cursor, updatedSince, campusId, classId, ...)
List pupils with their class, campus, route assignment and active flag. Guardian and emergency contact details are never returned. Needs students:read. SchoolBusTrack API: GET /v1/students.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Page size, 1–200 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"cursor": {
"description": "The nextCursor from the previous page.",
"type": "string"
},
"updatedSince": {
"description": "ISO 8601 instant. Returns records changed at or after it, oldest change first (for syncs).",
"type": "string"
},
"campusId": {
"description": "Only records of this campus id.",
"type": "string"
},
"classId": {
"description": "Only pupils in this class id.",
"type": "string"
},
"routeId": {
"description": "Only pupils assigned to this route id.",
"type": "string"
},
"enrollmentNumber": {
"description": "Only the pupil with this enrollment number.",
"type": "string"
},
"includeInactive": {
"description": "Include inactive records (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_get_student(studentId)
Get one pupil by id: class, campus, route assignment and status. Guardian and emergency contact details are never returned. Needs students:read. SchoolBusTrack API: GET /v1/students/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"studentId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The pupil id (from schoolbustrack_list_students)."
}
},
"required": [
"studentId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_list_routes(limit, cursor, updatedSince, campusId, type, ...)
List bus routes with their type, schedule, stop count, bus and driver. Needs routes:read. SchoolBusTrack API: GET /v1/routes.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Page size, 1–200 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"cursor": {
"description": "The nextCursor from the previous page.",
"type": "string"
},
"updatedSince": {
"description": "ISO 8601 instant. Returns records changed at or after it, oldest change first (for syncs).",
"type": "string"
},
"campusId": {
"description": "Only records of this campus id.",
"type": "string"
},
"type": {
"description": "Only routes of this type.",
"type": "string",
"enum": [
"pickup",
"dropoff",
"bidirectional"
]
},
"code": {
"description": "Only the route with this code.",
"type": "string"
},
"includeInactive": {
"description": "Include inactive records (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_get_route(routeId)
Get one route by id, with its ordered stops. Needs routes:read. SchoolBusTrack API: GET /v1/routes/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"routeId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The route id (from schoolbustrack_list_routes)."
}
},
"required": [
"routeId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_list_buses(limit, cursor, updatedSince, campusId, status, ...)
List buses with registration, seats, status, tracker state and last known location. Needs buses:read. SchoolBusTrack API: GET /v1/buses.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Page size, 1–200 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"cursor": {
"description": "The nextCursor from the previous page.",
"type": "string"
},
"updatedSince": {
"description": "ISO 8601 instant. Returns records changed at or after it, oldest change first (for syncs).",
"type": "string"
},
"campusId": {
"description": "Only records of this campus id.",
"type": "string"
},
"status": {
"description": "Only buses with this status.",
"type": "string",
"enum": [
"active",
"maintenance",
"inactive"
]
},
"registrationNumber": {
"description": "Only the bus with this registration number.",
"type": "string"
},
"includeInactive": {
"description": "Include inactive records (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_list_bus_locations
Get the latest position of every bus, with speed, heading and whether the fix is stale. Needs locations:read. SchoolBusTrack API: GET /v1/buses/locations.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_get_bus_location(busId)
Get the latest position of one bus by id. Needs locations:read. SchoolBusTrack API: GET /v1/buses/{id}/location.
Esquema de entrada
{
"type": "object",
"properties": {
"busId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The bus id (from schoolbustrack_list_buses)."
}
},
"required": [
"busId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_list_trips(limit, cursor, updatedSince, date, from, ...)
List scheduled, running and completed trips. Filter by school day or time range, status, route, bus, driver or campus. Needs trips:read. SchoolBusTrack API: GET /v1/trips.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Page size, 1–200 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"cursor": {
"description": "The nextCursor from the previous page.",
"type": "string"
},
"updatedSince": {
"description": "ISO 8601 instant. Returns records changed at or after it, oldest change first (for syncs).",
"type": "string"
},
"date": {
"description": "A school-local day: yyyy-mm-dd or today.",
"type": "string",
"pattern": "^(today|\\d{4}-\\d{2}-\\d{2})$"
},
"from": {
"description": "ISO 8601 instant, UTC with Z.",
"type": "string"
},
"to": {
"description": "ISO 8601 instant, UTC with Z.",
"type": "string"
},
"status": {
"description": "Only trips with this status.",
"type": "string",
"enum": [
"scheduled",
"in_progress",
"completed",
"cancelled"
]
},
"routeId": {
"description": "Only trips on this route id.",
"type": "string"
},
"busId": {
"description": "Only trips of this bus id.",
"type": "string"
},
"driverId": {
"description": "Only trips of this driver id.",
"type": "string"
},
"campusId": {
"description": "Only records of this campus id.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_get_trip(tripId)
Get one trip by id: status, times, distance, duration, its stops and student count. Needs trips:read. SchoolBusTrack API: GET /v1/trips/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"tripId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The trip id (from schoolbustrack_list_trips)."
}
},
"required": [
"tripId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_get_trip_manifest(tripId)
Get the boarding list of one trip: each pupil with status and last event, grouped by stop, plus unlisted pupils and counts. Needs trips:read. SchoolBusTrack API: GET /v1/trips/{id}/manifest.
Esquema de entrada
{
"type": "object",
"properties": {
"tripId": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The trip id (from schoolbustrack_list_trips)."
}
},
"required": [
"tripId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢schoolbustrack_list_incidents(limit, cursor, updatedSince, status, severity, ...)
List incidents and SOS alerts, newest first, with status, severity, bus, trip and driver. Needs incidents:read. SchoolBusTrack API: GET /v1/incidents.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"description": "Page size, 1–200 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"cursor": {
"description": "The nextCursor from the previous page.",
"type": "string"
},
"updatedSince": {
"description": "ISO 8601 instant. Returns records changed at or after it, oldest change first (for syncs).",
"type": "string"
},
"status": {
"description": "Only incidents with this status.",
"type": "string"
},
"severity": {
"description": "Only incidents with this severity.",
"type": "string"
},
"type": {
"description": "Only incidents of this type.",
"type": "string"
},
"isSos": {
"description": "true for SOS alerts only, false for the rest.",
"type": "boolean"
},
"busId": {
"description": "Only incidents on this bus id.",
"type": "string"
},
"tripId": {
"description": "Only incidents on this trip id.",
"type": "string"
},
"driverId": {
"description": "Only incidents of this driver id.",
"type": "string"
},
"from": {
"description": "ISO 8601 instant, UTC with Z.",
"type": "string"
},
"to": {
"description": "ISO 8601 instant, UTC with Z.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia