Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
MCP server exposing University of Maryland data
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"umd": {
"command": "npx",
"args": [
"-y",
"umd-mcp"
]
}
}
}Run this in your terminal
claude mcp add umd -- npx -y umd-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"umd": {
"command": "npx",
"args": [
"-y",
"umd-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"umd": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"umd-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The publisher (avivkeller) is not the repo owner (Open-Sourcery-UMD); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.0.1) reached the registry 37 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, SwarmMemo
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server exposing University of Maryland data: courses and grades (PlanetTerp, Jupiterp, the Schedule of Classes, the Testudo student portal, ELMS), dining menus and news, Shuttle-UM routes and timetables, athletics, the campus calendar, TerpLink organizations and events, RecWell facilities and the ActiveTerp recreation portal, the University Senate, and the campus directory.
pnpm install
pnpm dev # run the server on stdio with hot reload pnpm inspect # open the MCP Inspector against the dev server pnpm test # run tests pnpm check # typecheck + lint + format check + knip (dead code) + tests pnpm build # emit dist/
Add to your MCP client config (e.g. Claude Desktop, Claude Code):
{
"mcpServers": { "umd": { "command": "node", "args": ["/path/to/umd-mcp/dist/index.js"] } } }
Some UMD services need a signed-in user. The login tool opens a browser window that umd-mcp controls (Chrome or Edge, on its own profile under ~/.umd-mcp/browser-profile) at the UMD Shibboleth IdP, with a CAS service URL pointing at a one-shot listener on 127.0.0.1. Once the user finishes signing in (including Duo) the IdP redirects back with a service ticket, which the server validates against serviceValidate to learn who signed in.
While that single sign-on session is fresh, login then visits every connected service (see below) in the same window so each app can set its own session cookie, and copies those cookies into a per-service Session. The window closes by itself. The profile persists, so later logins are usually silent. logout forgets everything and clears the profile's cookies.
Why a browser: CAS only issues a ticket for the service named in the login URL, and each app turns its ticket into a cookie for its own origin. The only way for the server to hold those cookies is to be the browser that receives them.
The callback host is localtest.dev.umd.edu, a public DNS name UMD IT publishes that resolves to 127.0.0.1. It is used instead of localhost because the IdP sits behind an AWS WAF that rejects any service URL containing localhost with a 403.
Environment variables:
UMD_MCP_BROWSER: path to a Chromium executable, if Chrome or Edge are not installed.UMD_MCP_PROFILE_DIR: where to keep the browser profile.CANVAS_TOKEN: a Canvas personal access token (from ELMS profile settings). When set, the ELMS tools use it as a bearer token and need no browser sign-in.Tool names are _ , except the sign-in tools. Integrations marked "(login)" need the login tool first, those marked "(optional login)" return more after it, and the rest work anonymously.
| Tool | Description |
|---|---|
login | Sign in with a UMD Directory ID. |
logout | Forget the signed-in user and every service session, and clear the sign-in browser so the next login prompts again. |
whoami | Report the currently signed-in UMD user, or that nobody is signed in, and which services have a live session. |
| Tool | Description |
|---|---|
activeterp_list_program_filters | The classifications (e.g. Fitness, Aquatics, Esports) and tags (e.g. Adventure Trips) that activeterp.umd.edu programs are filed under. |
activeterp_list_programs | Programs on activeterp.umd.edu (group fitness classes, swim lessons, adventure trips, clinics, camps, esports bookings) with their price, optionally within classifications or tags. |
activeterp_search_programs | Search activeterp.umd.edu programs by name, as the site search bar does. |
activeterp_get_program | One activeterp.umd.edu program: description, classification, price, whether a waiver is required, and how it is scheduled. |
activeterp_list_program_offerings | An activeterp.umd.edu program's offerings in a semester: each dated session or series with its price, open spots, meeting pattern and cancelled dates. |
activeterp_list_program_instances | An activeterp.umd.edu program's bookable time slots over the coming days: start and end, location, instructor, class size and open spots. |
activeterp_list_facilities | Bookable facilities on activeterp.umd.edu (currently the Terps Esports Center stations) with their parent facility and blurb. |
activeterp_get_facility | One activeterp.umd.edu facility: description, type, area, maximum occupancy and regular hours per weekday. |
activeterp_get_facility_schedule | Bookings on the activeterp.umd.edu facility calendar in a date window, for one facility or all, with recurrence rules. |
activeterp_list_calendars | The calendars the activeterp.umd.edu home page can show (e.g. Group Fitness Classes, Adventure Program). |
activeterp_list_calendar_events | The activeterp.umd.edu home page calendar: every scheduled class, reservation slot and event over the next several days. |
| Tool | Description |
|---|---|
activeterp_member_get_profile | The signed-in member's activeterp.umd.edu profile: name, University ID number, eligibility, date of birth, gender and contact details on file. |
activeterp_member_list_my_memberships | The signed-in member's RecWell memberships, current and past: type, start and expiry dates, renewal terms and refund or cancellation status. |
activeterp_member_get_access_history | The signed-in member's facility check-ins: facility, check-in station, entrance and exit devices, time, and whether access was granted. |
activeterp_member_list_my_orders | The signed-in member's orders: order number, date, where it was placed, totals and whether it was voided. |
activeterp_member_list_my_invoices | The signed-in member's invoices, all of them or only the unpaid ones: number, date, total, paid and owing amounts and a PDF link. |
activeterp_member_get_invoice | One of the signed-in member's invoices: billing details, subtotal, tax, total, amount paid, outstanding balance and the line items. |
activeterp_member_list_memberships | Memberships RecWell sells on activeterp.umd.edu (day passes, the free Group Fitness and Bouldering Zone memberships) with their blurb. |
activeterp_member_get_membership | One membership RecWell sells with each purchasable term: name, billing, upfront price and the dates it would cover for the signed-in member. |
activeterp_member_list_towel_services | Towel services RecWell sells on activeterp.umd.edu (semester and annual). |
activeterp_member_get_towel_service | One towel service with each purchasable term: name, billing, upfront price and the dates it would cover for the signed-in member. |
activeterp_member_list_multi_visit_passes | Multi-visit passes RecWell sells (personal training session packages, member visit passes) with their category list, price and any purchase requirement. |
activeterp_member_get_multi_visit_pass | One multi-visit pass: category, price, full description and any purchase requirement. |
| Tool | Description |
|---|---|
athletics_list_sports | Every varsity sport at Maryland (the Terps, umterps.com) with the ids the other athletics tools take. |
athletics_list_seasons | Past and current seasons a sport has a schedule for, with the schedule id to pass to athletics_get_schedule for a past season. |
athletics_get_schedule | A Maryland team's schedule and results: every game with date, time, opponent, venue, TV/streaming, and the score once played, plus the team's record. |
athletics_get_game | One Maryland game by id (from athletics_get_schedule or athletics_get_calendar): opponent, venue, media links and result. |
athletics_get_roster | A Maryland team's current roster: players with jersey number, position, class, height, weight, hometown and major, plus the coaching staff. |
athletics_search_players | Find current and former Maryland athletes by last name, across all seasons on umterps.com, optionally within one sport. |
athletics_get_coaches | A Maryland team's coaching staff with titles, email, phone and bio page links. |
athletics_get_news | Latest Maryland Athletics news stories, newest first, optionally for one sport. |
athletics_get_article | The full text of a Maryland Athletics news story (game recaps, previews, announcements) by story id. |
athletics_get_calendar | Every Maryland game or event in a date range across all sports (or one sport), grouped by day, with opponents, venues, media links and results. |
athletics_get_upcoming_events | A Maryland team's next few games with date, time, opponent, venue and where to watch. |
| Tool | Description
Only the beginning is shown; read the rest in the repo