SchoolBusTrack MCP by usefulapi

Read pupils, routes, bus positions, trips, boarding lists and incidents in SchoolBusTrack.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
84%
Calidad de los nombres
75%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • LOWTool 'schoolbustrack_list_bus_locations' name length outside 3-30 rangeen schoolbustrack_list_bus_locations
  • LOWTool 'schoolbustrack_get_bus_location' name length outside 3-30 rangeen schoolbustrack_get_bus_location
  • LOWTool 'schoolbustrack_get_trip_manifest' name length outside 3-30 rangeen schoolbustrack_get_trip_manifest

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,257Tokens (definiciones de herramientas)
~1.4 KBTamaño de respuesta típico
Impacto moderado en la atención (1.76% del contexto de 128k)

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-http

Qué puede hacer

Inventario de herramientas

Herramientas (12)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada12 herramientas