alphaportal-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| alphaportal_list_studentsA | List the students (children) on the signed-in account, with grade, school, and transportation flags. Start here to get each studentId. |
| alphaportal_get_studentA | Get a student's full transportation detail: assigned school plus morning and afternoon stops with times and calendars. |
| alphaportal_get_student_stopsA | Get a student's assigned bus stops — stop name, scheduled time, days of the week, and stop location (lat/lng) for each. |
| alphaportal_get_bus_locationA | Get the live GPS location of a student's bus for the selected run (AM or PM): latitude, longitude, speed, and the vehicle id. Returns the last known position; empty when the bus is not currently running. |
| alphaportal_get_report_linkA | Get a one-time PDF download link for a student's transportation report (stops, schedule). Returns a URL to open in a browser. |
| alphaportal_list_notificationsA | List the account's transportation notifications — arrival/departure alerts (e.g. "arrived at school") with title, body, the student, and timestamp. |
| alphaportal_get_profileA | Get the signed-in user profile (name, email, role, account). |
| alphaportal_get_accountA | Get the account (school district) info — name, timezone, date/phone formats — and the current server date. |
| alphaportal_get_settingsA | Get the portal feature/visibility settings (which notification types and features are enabled for this district). |
| alphaportal_list_schoolsA | List all schools in the district with names and coordinates (lat/lng). Useful for resolving a school by name. |
| alphaportal_list_gradesA | List the district grade levels (id + name). |
| alphaportal_list_requestsA | List the transportation requests submitted on this account, with tracking numbers and status. |
| alphaportal_edit_walk_radiusA | Set a student's walk-zone radius, in meters. This can affect transportation eligibility, so it is confirm-gated: without confirm:true it returns a dry-run of the exact payload. Verified required fields: studentId, radius. |
| alphaportal_set_notificationA | Set a student's transportation notification preferences (push/email, per AM/PM run) across the categories the district enables: stopRadiusEntry, studentScan, backupBus, schoolArrival, stopServiced. Confirm-gated: without confirm:true it returns a dry-run of the exact payload. NOTE: the portal sends the whole preference set at once; categories you omit may be left unchanged or reset by the server — review the dry-run first. |
| alphaportal_session_statusA | Check whether the server can authenticate to AlphaPortal: it resolves the refresh token (from ALPHAPORTAL_REFRESH_TOKEN, the saved session, or a signed-in browser tab via the bridge) and tries to mint an access token. Returns no credentials. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Most tools target distinct resources (students, schools, notifications, requests, bus location) with clear separation. The main overlap is get_student and get_student_stops, since the former already includes stops, but the descriptions clarify that get_student_stops is the focused stop-level detail.
The alphaportal_ prefix and snake_case verb_noun pattern are used consistently across nearly all tools, with clear verbs like list, get, set, and edit. The one deviation is alphaportal_session_status, which uses a noun phrase instead of a verb_noun form, though it remains recognizable.
At 15 tools, the count is at the upper end of the well-scoped range, but each tool serves a distinct and legitimate purpose for the AlphaPortal domain. There is no redundancy, and the set covers account context, students, schools, notifications, bus tracking, reports, and settings without feeling bloated.
The tool surface covers the core read-heavy workflows well: student transportation details, stops, bus location, notifications, and account context. Minor gaps exist, such as no way to retrieve a student's current notification preferences before setting them and no individual request detail endpoint, but agents can work around these using dry-runs and list endpoints.