Install
$ agentstack add mcp-markmusic27-stanford-atlas ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Stanford Atlas
✶ AI Course Planning & Academic Advising Platform ✶
Try it out »
Stanford Atlas is an intelligent planning interface built on Stanford’s sole MCP server (also developed for Atlas), designed to make course exploration and degree mapping effortless for every student. It aggregates 128k course records alongside professor reviews, grade distributions, scheduling data, and major requirements to create a unified academic knowledge base of Stanford.
Motivation
At its core, Stanford Atlas takes what has always been a word-of-mouth process, figuring out which classes are actually worth taking, and makes it accessible to everyone.
Like most Stanford students, I found the process of deciding which courses to take, and how to balance what I wanted to study with what I had to, almost incomprehensible. As a sophomore still deciding between EE and CS, I felt the advising resources fell short of helping students make truly informed decisions. Many classes turned out to be very different from what their descriptions suggested—sometimes harder, less engaging, or packed with unexpected prerequisites.
By combining all the scattered pieces—course data, historical grade distributions, professor ratings, schedules, and requirements—Atlas builds a complete picture of what a course is actually like. It also extends beyond static search: Atlas leverages LLMs to work for you, programmatically fetching, synthesizing, and reasoning over Stanford’s entire academic dataset to surface what matters most. In doing so, it turns course discovery and degree planning from a manual, fragmented process into an intelligent, conversational experience.
Technical Overview
Atlas combines a modern web stack with LLM-based orchestration to create an interactive, data-driven advising platform.
- Remote MCP Server — Python + FastAPI service deployed via Docker on Cloud Run. Exposes structured course search and retrieval tools built on Stanford’s ExploreCourses dataset. [link to GitHub]
- LLM Tool-Calling Agent — Powered by Claude Sonnet 4.6 (
@ai-sdk/anthropic), the agent dynamically calls MCP tools to search, reason, and synthesize results. Runs server-side via SSR in Next.js for consistent, low-latency responses. - React + Next.js 15 Frontend — TypeScript/Tailwind app deployed on Vercel, using
zodfor type validation andzustandfor global state management. - Typed Streaming Protocol — Streams partial assistant responses as structured UI blocks, progressively rendering course cards, grids, and recommendations as results are generated.
- Supabase Integration — Manages authentication, session hydration, and user preference–based personalization.
File structure
atlas/
api/ # Python FastAPI service (ExploreCourses wrapper)
Dockerfile
pyproject.toml
src/
app.py # /course endpoint
auth.py # Bearer auth guard
handlers.py # explorecourses integration
src/ # Next.js 15 app
app/
api/
stream-content/ # Streaming LLM + MCP
route.ts
prompt.ts
parser.ts
schemas.ts
course/
route.ts # Proxy → FastAPI course service
layout.tsx
page.tsx
components/ # UI components (Tailwind CSS)
hooks/ # e.g., useStreamContent, useCourseServer
lib/ # schemas, utils, formatting
stores/ # Zustand stores (chat, user)
utils/
supabase/ # client, server, middleware
public/ # static assets (logos, images)
package.json # scripts, deps
next.config.js
README.md
Inference and Streaming API
POST /api/stream-content
- File:
src/app/api/stream-content/route.ts - Uses
@ai-sdk/anthropicwithanthropic("claude-sonnet-4-6")to stream text and tool calls. - Initializes an MCP client to
https://stanfordmcp.com/mcp/and registers tools (course search, course detail fetch, etc.). - Emits NDJSON lines shaped as
PayloadSchema(seeschemas.ts) to the browser, ensuring each line is valid and only sending incremental changes.
API
- POST
/api/stream-content - Streams NDJSON lines matching
PayloadSchema. - Uses Claude Sonnet 4.6 and remote MCP tools.
- Requires header
Authorization: Bearer.
- GET
/api/course - Proxy to the FastAPI service (ExploreCourses wrapper).
- Query params:
id,class_id(both required), returns JSON course payload.
The FastAPI course service is located under api/ and exposes typed responses (CourseResponse).
Conventions
- Conventional Commits for history clarity (e.g.,
feat(ui): add course-card hover state). - Tailwind CSS 4 for styling; utility-first classes across all components.
- Zustand for global state:
src/stores/chat.store.ts,src/stores/user.store.ts.
License
Apache-2.0. See LICENSE for details.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: markmusic27
- Source: markmusic27/stanford-atlas
- License: Apache-2.0
- Homepage: https://stanfordatlas.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.