Skip to content

lambda-i/nusmods-mcp-2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NUSMods MCP Server

A Model Context Protocol server for searching and querying module information from the NUSMods API.

Tools

Tool Description
get_module Get detailed module info - description, credits, prerequisites, preclusions, workload, semesters, exam dates
search_modules Search modules by keyword across codes and titles
filter_modules Filter the module catalog by prefix, faculty, semester, or level, with optional detail enrichment
get_modules Fetch multiple module detail payloads in one call while preserving input order
evaluate_module_plan Evaluate a shortlist for one semester - prerequisites, preclusions, workload, fixed timetable clashes, and exam conflicts
list_venues List venues for a semester with optional substring filtering
get_venue_schedule Get the day-by-day schedule for a venue in a semester

Prompts

Prompt Description
plan_semester Structured semester planning prompt that tells Claude to use filter_modules and evaluate_module_plan for a shortlist

Resources

URI Description
nusmods://server/info Server capabilities, current academic year, module code format reference

Development

git clone https://github.com/shawnnygoh/nusmods-mcp.git
cd nusmods-mcp
pip install -r requirements.txt

# Inspect server components
fastmcp inspect server.py

# Run locally with HTTP transport
fastmcp run server.py --transport http

# Test with MCP Inspector
npx @modelcontextprotocol/inspector

# Run tests
python3 -m unittest discover -s tests -v

License

MIT

About

An MCP server for NUSMods.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%