University Course Catalog MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@University Course Catalog MCP ServerWhat are the prerequisites for CS301?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
University Course Catalog MCP Server
Project overview
This project is a production-ready MCP (Model Context Protocol) server for a university course catalog. It exposes catalog data via MCP tools, MCP resources, and MCP prompt templates on top of a FastAPI application.
Related MCP server: who-will-notify-mcp
MCP explanation
MCP servers provide structured access to data and capabilities through tools, resources, and prompt templates. This server makes course data available to MCP clients so models can search courses, inspect prerequisites, and generate comparisons.
Architecture
FastAPI app with an embedded MCP low-level Server and SSE transport
SQLite database with SQLAlchemy ORM models
Seed data loaded automatically when the database is empty
NetworkX used to build prerequisite graphs
Dockerized runtime with a mounted data volume
Setup steps (local)
Create a virtual environment:
python -m venv .venvActivate it:
source .venv/bin/activateInstall dependencies:
pip install -r requirements.txtRun the server:
uvicorn main:app --app-dir src --host 0.0.0.0 --port 8080
Docker usage
Start the full stack with:
docker-compose up --buildMCP tools
search_courses
Input:
{
"query": "data",
"department_code": "CS"
}get_prerequisites
Input:
{
"course_code": "CS301"
}lookup_instructor
Input:
{
"instructor_name": "Reynolds"
}get_prerequisite_graph
Input:
{
"course_code": "CS301"
}MCP resources
course_descriptionsdepartment_directory
MCP prompt templates
course_comparison_template
Example natural language queries
"Find introductory CS courses with 4 credits."
"Show the prerequisite chain for CS301."
"Who teaches Database Systems?"
"Compare CS201 and CS301."
API examples
Health check:
curl http://localhost:8080/healthMCP transport endpoints
SSE connect:
http://localhost:8080/sseSSE message POST:
http://localhost:8080/messages
Testing instructions
Run
docker-compose up --buildand confirm the health endpoint responds with statusok.Use the MCP Inspector to validate tools, resources, and prompt templates.
MCP Inspector usage
Start the server locally or with Docker.
Open MCP Inspector and set the server URL to
http://localhost:8080/sse.Verify tools, resources, and prompts are visible.
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides congressional transcripts
MCP server for searching Airweave collections with natural language queries.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP server that exposes a university course catalog to LLMs, enabling course search, prerequisite lookup, instructor details, and department directory through natural language.-
- FlicenseNot gradedqualityBmaintenanceMCP server that aggregates department notices and provides structured answers to queries about courses, schedules, and academic dates via tool calling.-
- AlicenseNot gradedqualityAmaintenanceA read-only MCP server exposing NTNU course data to LLM assistants, enabling course catalog search, teaching schedules, weekly timetables, grade statistics, and course comparison tools.1MIT
- FlicenseNot gradedqualityBmaintenanceMCP server exposing a university course catalog with tools for searching courses, looking up prerequisites and instructors, and generating prerequisite graphs, plus resources and a prompt template for AI academic advisors.-