Brown Courses MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Search Brown's course catalog (Courses@Brown / CAB). Returns a compact list of matching courses with codes, titles, instructors, meeting times, and seat availability. Args: keyword: Free-text search, e.g. "linear algebra", "MATH 1530", "machine learning". department: Department code, e.g. "MATH", "CSCI", "BIOL", "ENGN". instructor: Instructor last name, e.g. "smith". semester: "fall", "spring", "winter", "summer", or "any". Empty = current term. year: 4-digit year, e.g. "2026". Empty = current year. |
| course_detailA | Get full details for a specific course: description, prerequisites, instructor info, meeting times, seats, Critical Review link, and more. Args: code: Course code, e.g. "MATH 0520", "CSCI 0200", "BIOL 0500". semester: "fall", "spring", "winter", "summer", or "any". Empty = current term. year: 4-digit year, e.g. "2026". Empty = current year. |
| batch_course_detailsA | Get details for multiple courses at once (parallel fetch). Much faster than calling course_detail repeatedly. Args: codes: List of course codes, e.g. ["MATH 1530", "CSCI 0200", "ECON 1110"]. semester: "fall", "spring", "winter", "summer", or "any". Empty = current term. year: 4-digit year, e.g. "2026". Empty = current year. |
| schedule_checkA | Check meeting times for multiple courses to spot conflicts. Args: codes: List of course codes, e.g. ["MATH 1530", "CSCI 0200", "BIOL 0500"]. semester: "fall", "spring", "winter", "summer", or "any". Empty = current term. year: 4-digit year. Empty = current year. |
| departmentsA | List common Brown department codes for use with the search tool. Not exhaustive — use keyword search if you don't see your department. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: departments lists codes, search returns compact course lists, course_detail provides full details, batch_course_details handles multiple codes efficiently, and schedule_check identifies conflicts. There is no ambiguity about which tool to use for a given task.
All tool names use lowercase with underscores, which is consistent, but the grammatical pattern varies (nouns like 'departments' and 'course_detail', verbs like 'search', and a compound like 'schedule_check'). This is mostly consistent but not a uniform verb_noun pattern.
With 5 tools, the server is well-scoped for a course catalog domain. Each tool provides a necessary function without unnecessary overlap or bloat, fitting well within the ideal 3-15 range.
The server covers all core browsing needs: searching, retrieving full course details, batch retrieval, and schedule conflict checking. The inclusion of department listing and filtering parameters ensures users can navigate the catalog effectively, with no obvious gaps.