Skip to main content
Glama
Hwzw

Brown Courses MCP Server

by Hwzw

Brown Courses@Brown MCP Server

MCP server for Brown University's course catalog (cab.brown.edu). Search courses, get details, check schedule conflicts — all through Claude. No API keys or auth needed.

Tools

Tool

What it does

search

Find courses by keyword, department, instructor, or semester.

course_detail

Full details: description, prereqs, instructor, seats, Critical Review link.

schedule_check

Check multiple courses for time conflicts.

departments

List common Brown department codes.

Typical flow: search to find courses → course_detail for the ones you're interested in → schedule_check to make sure they don't conflict.

Related MCP server: University Course Catalog MCP Server

Setup

cd brown-courses-mcp
uv sync          # or: pip install -e .

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "brown-courses": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/brown-courses-mcp", "python", "server.py"]
    }
  }
}

Claude Code

claude mcp add brown-courses -- uv run --directory /path/to/brown-courses-mcp python server.py

API

Both endpoints are Brown-hosted, unauthenticated, and return JSON:

POST https://cab.brown.edu/api/?page=fose&route=search
POST https://cab.brown.edu/api/?page=fose&route=details

Search request body:

{
  "other": {"srcdb": "202520"},
  "criteria": [
    {"field": "keyword", "value": "linear algebra"},
    {"field": "is_canc", "value": "N"}
  ]
}

Details request body:

{
  "srcdb": "202520",
  "group": "code:MATH 1530"
}

Term codes

Code

Meaning

YYYY10

Fall

YYYY15

Winter

YYYY20

Spring

YYYY00

Summer

999999

Any term

Notes

  • No authentication required for read-only course data (descriptions, times, instructors, enrollment counts).

  • The details endpoint returns HTML fragments for some fields (instructor info, seats, suggested courses) — the server parses these into clean text.

  • Term codes go back to at least 2016 in the CAB system.

  • schedule_check uses the structured meetingTimes JSON for conflict detection, not the human-readable meets string.

Credits

Pattern inspired by kenmham/DiningMCP.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/Hwzw/brown-courses-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server