An MCP (Model Context Protocol) server that provides access to University of Maryland (UMD) course data through the UMD.io API. This server enables AI assistants to retrieve comprehensive information about UMD courses, departments, professors, and majors.
Provides context to LLM to answer questions about UMD course offerings. Use the MCP to dynamically create schedules based on user parameters.
- Get courses by department: Retrieve all courses for a specific UMD department
- Get courses by gen-ed: Find courses that fulfill specific general education requirements
- Get specific courses: Look up detailed information for specific course codes
- Get course sections: Access section details including meeting times, instructors, and availability
- List all departments: Get a complete list of UMD departments
- List all majors: Retrieve information about all available majors including college affiliation
- Find professors by course: Discover which professors teach a specific course
- Find courses by professor: See what courses a professor has taught
- Python 3.13 or higher
- uv (recommended) or pip for package management
git clone https://github.com/yourusername/testudo-mcp.git
cd testudo-mcp
uv syncgit clone https://github.com/yourusername/testudo-mcp.git
cd testudo-mcp
pip install -e .python testudo.pyThe server runs using the Model Context Protocol with stdio transport, making it compatible with AI assistants that support MCP.
Retrieves courses for a department and/or general education requirement.
dept: Department code (e.g., "CMSC", "MATH")gen_ed: General education code (e.g., "FSAW", "DSHS")
Gets detailed information for specific course codes.
courses: List of course codes (e.g., ["CMSC131", "MATH140"])
Retrieves section information for a specific course.
course: Course code (e.g., "CMSC131")
Lists all UMD departments.
Lists all UMD majors with college information.
Finds professors who teach a specific course.
course: Course code (e.g., "CMSC131")
Retrieves courses taught by a specific professor.
professor: Professor's name
This MCP server uses the UMD.io API to retrieve up-to-date information about:
- Course catalogs and descriptions
- Prerequisites and corequisites
- Course sections and schedules
- Professor assignments
- Department and major listings
The server connects to the UMD API at https://api.umd.io/v1. No API key is required as the UMD.io API is publicly accessible.
All tools return formatted strings with detailed information:
- Course name and department
- Credits and description
- Prerequisites and corequisites
- General education categories
- Grading methods
- Section details
- Meeting times and locations
- Instructor assignments
- Seat availability
- Waitlist information
- Professor names
- Course teaching history
- Semester information
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the terms specified in the LICENSE file.
- Built using the FastMCP framework
- Data provided by the UMD.io API
- Serves the University of Maryland community
For issues or questions:
- Check existing GitHub issues
- Create a new issue with detailed information
- Include error messages and reproduction steps