AlphaPortal (AlphaRoute) school-bus transportation MCP server for Claude — students, stops, live bus location, notifications. AI-maintained.
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
- !No standard license detected
git clone https://github.com/chrischall/alphaportal-mcp{
"mcpServers": {
"alphaportal-mcp": {
"command": "node",
"args": ["/path/to/alphaportal-mcp/dist/index.js"],
"env": {
"ALPHAPORTAL_REFRESH_TOKEN": "<alphaportal_refresh_token>"
}
}
}
}ALPHAPORTAL_REFRESH_TOKENMCP Servers overview
# alphaportal-mcp An MCP server for **AlphaPortal** (AlphaRoute), the parent/guardian school-bus transportation portal used by districts such as Charlotte-Mecklenburg Schools (`cmsnc.alphaportal.app`). Ask Claude where your child's bus is, what stops they have, and what arrival notifications came in — and (confirm-gated) adjust notification preferences and walk-zone radius. > Developed and maintained by AI. Use at your own discretion. ## What it can do **Reads** (all live-verified against the real API): - `alphaportal_list_students` — your children, with grade, school, and transport flags - `alphaportal_get_student` — a child's school plus morning/afternoon stops - `alphaportal_get_student_stops` — assigned stops with times and locations - `alphaportal_get_bus_location` — **live GPS of the bus** for the AM or PM run - `alphaportal_list_notifications` — arrival/departure alerts - `alphaportal_list_requests` — submitted transportation requests + tracking numbers - `alphaportal_get_report_link` — a PDF report download link - `alphaportal_list_schools`, `alphaportal_list_grades` — district reference data - `alphaportal_get_profile`, `alphaportal_get_account`, `alphaportal_get_settings` - `alphaportal_session_status` — is a working session configured (no secrets returned) **Writes** (confirm-gated — a dry-run of the exact payload unless `confirm: true`): - `alphaportal_edit_walk_radius` — set a student's walk-zone radius (meters) - `alphaportal_set_notification` — set per-student push/email notification preferences ## Authentication — the refresh token AlphaPortal's login is reCAPTCHA-gated and can't be automated with a username/password. Instead this server uses the **refresh token** the web app stores in your signed-in browser (an 8-day credential); from it, it mints the short-lived access tokens it needs entirely server-side — **no browser bridge in the request hot path**. There are two ways it gets that token, tried in order: 1. **Automatic (fetchproxy bootstrap).** If `ALPHAPORTAL_REFRESH_TOKEN` is not set, the server reads it once from your signed-in AlphaPortal tab via the **Transporter** browser extension (the fetchproxy bridge) — a one-shot read that snapshots only the token (a JSON-pointer extraction, so your name/email/ phone never leave the browser), then closes. Requires the extension installed and a signed-in `*.alphaportal.app` tab. Set `ALPHAPORTAL_DISABLE_FETCHPROXY=1` to turn this off. 2. **Manual (env var).** Set `ALPHAPORTAL_REFRESH_TOKEN` yourself. Capture it in a signed-in tab's DevTools console: ```js JSON.parse(localStorage.user).User.RefreshToken ``` This is the right path for a headless/hosted deployment with no browser. Either way, the server persists each rotated refresh token, so the 8-day window rolls forward as long as you use it at least once every 8 days. If it expires, sign back in (path 1) or re-capture (path 2). The `alphaportal-fpx` skill under `skills/` documents the same capture from a shell via the `fpx` CLI. ## Setup ```sh 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` is gitignored. For an MCP host, set `ALPHAPORTAL_REFRESH_TOKEN` in its env block (`.mcp.json` / mcpb user config both reference it). ### Optional environment variables | Variable | Purpose | | --- | --- | | `ALPHAPORTAL_REFRESH_TOKEN` | The refresh token. Optional if the fetchproxy bridge can read it from a signed-in tab; required for a headless/hosted deployment. | | `ALPHAPORTAL_DISABLE_FETCHPROXY` | Set to `1` to disable the browser-bridge fallback and require the env var. | | `ALPHAPORTAL_SESSION_FILE` | Override the store path (default `~/.alphaportal-mcp/session.json`). | ### Hosting on mcp-host `mint.yaml` describes how to host this server. Note the **egress allowlist**: the only host the server contacts is `api.alpharoute.app` (every read/write and the token refresh). On the isolated tier an egress policy is required — allow `api.alpharoute.app`, or tools report "could not reach the API". A plain hosted registration has no browser bridge, so set `ALPHAPORTAL_REFRESH_TOKEN` as a secret there. ## Development ```sh npm test # vitest (mocked network) npm run typecheck # tsc --noEmit (a green vitest run is not a green typecheck) npm run build # tsc + esbuild bundle ``` API shapes are pinned in [`docs/ALPHAPORTAL-API.md`](docs/ALPHAPORTAL-API.md). ## Notes & limitations - The transportation-**request** submission flow (`requests/transportation/add`, `.../alternative/add`) is intentionally not exposed yet — its nested request body was not fully captured, and shipping a guessed write payload that submits a real request to the district would be irresponsible. See the docs. - Every request rides your own AlphaPortal session (the refresh token you captured); the server only ever reads your account's data.
What people ask about alphaportal-mcp
What is chrischall/alphaportal-mcp?
+
chrischall/alphaportal-mcp is mcp servers for the Claude AI ecosystem. AlphaPortal (AlphaRoute) school-bus transportation MCP server for Claude — students, stops, live bus location, notifications. AI-maintained. It has 0 GitHub stars and its last recorded update is dated 2026-09-11.
How do I install alphaportal-mcp?
+
You can install alphaportal-mcp by cloning the repository (https://github.com/chrischall/alphaportal-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is chrischall/alphaportal-mcp safe to use?
+
Our security agent has analyzed chrischall/alphaportal-mcp and assigned a Trust Score of 62/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains chrischall/alphaportal-mcp?
+
chrischall/alphaportal-mcp is maintained by chrischall. The last recorded GitHub activity is dated 2026-09-11, with 0 open issues.
Are there alternatives to alphaportal-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy alphaportal-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/chrischall-alphaportal-mcp)<a href="https://claudewave.com/repo/chrischall-alphaportal-mcp"><img src="https://claudewave.com/api/badge/chrischall-alphaportal-mcp" alt="Featured on ClaudeWave: chrischall/alphaportal-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!