alphaportal-mcp
alphaportal-mcp
Un servidor MCP para AlphaPortal (AlphaRoute), el portal de transporte escolar en autobús para padres/tutores utilizado por distritos como Charlotte-Mecklenburg Schools (cmsnc.alphaportal.app). Pregúntale a Claude dónde está el autobús de tu hijo, qué paradas tiene y qué notificaciones de llegada han llegado — y (con confirmación) ajusta las preferencias de notificación y el radio de la zona de caminata.
Desarrollado y mantenido por IA. Úsalo bajo tu propia responsabilidad.
Lo que puede hacer
Lecturas (todas verificadas en vivo contra la API real):
alphaportal_list_students— tus hijos, con grado, escuela e indicadores de transportealphaportal_get_student— la escuela de un hijo más las paradas de mañana/tardealphaportal_get_student_stops— paradas asignadas con horas y ubicacionesalphaportal_get_bus_location— GPS en vivo del autobús para la ruta de la mañana o de la tardealphaportal_list_notifications— alertas de llegada/salidaalphaportal_list_requests— solicitudes de transporte presentadas + números de seguimientoalphaportal_get_report_link— un enlace de descarga de informe PDFalphaportal_list_schools,alphaportal_list_grades— datos de referencia del distritoalphaportal_get_profile,alphaportal_get_account,alphaportal_get_settingsalphaportal_session_status— indica si hay una sesión de trabajo configurada (no devuelve secretos)
Escrituras (requieren confirmación — se hace una prueba en seco de la carga exacta salvo que confirm: true):
alphaportal_edit_walk_radius— define el radio de la zona de caminata de un estudiante (metros)alphaportal_set_notification— define las preferencias de notificación push/correo por estudiante
Related MCP server: io.github.thehesiod/psquare
Autenticación — el token de actualización
El inicio de sesión de AlphaPortal está protegido por reCAPTCHA y no se puede automatizar con un nombre de usuario/contraseña. En su lugar, este servidor utiliza el token de actualización que la aplicación web guarda en tu navegador con la sesión iniciada (una credencial de 8 días); a partir de él genera los tokens de acceso de corta duración que necesita, todo ello en el servidor — sin puente de navegador en la ruta crítica de las solicitudes. Hay dos formas de obtener ese token, que se prueban en orden:
Automática (arranque fetchproxy). Si
ALPHAPORTAL_REFRESH_TOKENno está definida, el servidor lo lee una vez desde tu pestaña de AlphaPortal con sesión iniciada mediante la extensión de navegador Transporter (el puente fetchproxy) — una lectura única que captura solo el token (una extracción por puntero JSON, por lo que tu nombre/correo/teléfono nunca salen del navegador) y luego se cierra. Requiere la extensión instalada y una pestaña de*.alphaportal.appcon sesión iniciada. EstableceALPHAPORTAL_DISABLE_FETCHPROXY=1para desactivarlo.Manual (variable de entorno). Define
ALPHAPORTAL_REFRESH_TOKENtú mismo. Captúralo en la consola de DevTools de una pestaña con sesión iniciada:
JSON.parse(localStorage.user).User.RefreshTokenEsta es la vía correcta para un despliegue headless/alojado sin navegador.
En cualquier caso, el servidor conserva cada token de actualización rotado, de modo que la ventana de 8 días se renueva mientras lo uses al menos una vez cada 8 días. Si caduca, vuelve a iniciar sesión (opción 1) o vuelve a capturarlo (opción 2). La skill alphaportal-fpx en skills/ documenta la misma captura desde una shell mediante la CLI fpx.
Configuración
npm install
npm run build
echo 'ALPHAPORTAL_REFRESH_TOKEN=<paste the token>' > .env
node dist/index.js # or wire it into your MCP host.env está en gitignore. Para un host MCP, establece ALPHAPORTAL_REFRESH_TOKEN en su bloque de entorno (.mcp.json y la configuración de usuario de mcpb hacen referencia a él).
Variables de entorno opcionales
Variable | Propósito |
| El token de actualización. Opcional si el puente fetchproxy puede leerlo desde una pestaña con sesión iniciada; obligatorio para un despliegue headless/alojado. |
| Establécelo en |
| Sobrescribe la ruta de almacenamiento (por defecto |
Alojamiento en mcp-host
mint.yaml describe cómo alojar este servidor. Ten en cuenta la lista de permitidos de salida: el único host con el que se comunica el servidor es api.alpharoute.app (cada lectura/escritura y la renovación del token). En el nivel aislado se requiere una política de salida — permite api.alpharoute.app; de lo contrario, las herramientas informarán de «no se pudo conectar con la API». Una instalación alojada normal no tiene puente de navegador, así que establece ALPHAPORTAL_REFRESH_TOKEN como secreto allí.
Desarrollo
npm test # vitest (mocked network)
npm run typecheck # tsc --noEmit (a green vitest run is not a green typecheck)
npm run build # tsc + esbuild bundleLas estructuras de la API están fijadas en docs/ALPHAPORTAL-API.md.
Notas y limitaciones
El flujo de envío de solicitudes de transporte (
requests/transportation/add,.../alternative/add) no se expone a propósito todavía: su cuerpo de solicitud anidado no se capturó por completo, y lanzar una carga de escritura adivinada que envíe una solicitud real al distrito sería irresponsable. Consulta la documentación.Cada solicitud usa tu propia sesión de AlphaPortal (el token de actualización que capturaste); el servidor únicamente lee los datos de tu cuenta.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides real-time and scheduled bus data for the Centre Area Transportation Authority (CATA) in State College, PA. Enables users to track live bus positions, get arrival predictions, search stops, view routes, and receive service alerts through natural language queries.7MIT
- AlicenseAqualityDmaintenanceEnables Claude to access ParentSquare school-parent communication platform, including feeds, calendar, conversations, and media files.234MIT
- FlicenseAqualityCmaintenanceWraps the CTA Bus Tracker API to provide live access to bus routes, stops, predictions, vehicle locations, patterns, and detours via MCP clients.11
- FlicenseNot gradedqualityCmaintenanceProvides tools for querying student academic data such as subjects, marks, performance reports, timetable, exams, fees, events, holidays, and assignments via natural language.
Related MCP Connectors
Real-time transit stops, routes, arrivals, vehicle positions, and schedules via OneBusAway APIs.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP adapter for the Paxaver school community platform. Streamable HTTP, OAuth 2.1, capability auth.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/alphaportal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server