University Course Catalog MCP Server
Click on "Install 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 ServerSearch for courses in the Computer Science department"
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
A Model Context Protocol (MCP) server exposing a university course catalog to Large Language Models (LLMs). This project acts as the backend for an AI-powered academic advisor, demonstrating how to use the MCP specification, define tools and resources, and manage state securely with a SQLite database.
Technologies Used
Python 3.12
FastAPI (for HTTP and SSE transport)
Model Context Protocol (MCP) SDK
SQLAlchemy (Database ORM)
Pydantic (Data validation)
NetworkX (Graph resolution for prerequisites)
Docker & Docker Compose (Containerization)
Related MCP server: Georgia Tech MCP Server
Getting Started
1. Prerequisites
Ensure you have Docker and Docker Compose installed on your system.
2. Environment Variables
An .env.example file is provided in the repository root. Ensure the database URL is correctly configured:
DATABASE_URL=sqlite:///./data/catalog.db
PORT=80803. Running the Server
You can launch the entire system using Docker Compose. This command builds the image, runs the database seed script automatically, and mounts the data/ volume for database persistence:
docker-compose up --build -dThe server will be available at http://localhost:8080. Docker Compose will also execute an automated healthcheck.
MCP Capabilities
Tools
search_courses: Searches the university course catalog for courses matching a query string. Can optionally filter by a specific department code.get_prerequisites: Retrieves the direct prerequisites for a given course code.lookup_instructor: Finds an instructor's details (Name, Email, Department) by their name.get_prerequisite_graph: Returns the full, multi-level dependency graph (nodes and edges) for a given course using NetworkX.
Resources
course-catalog://course_descriptions: A formatted text resource containing all courses and their descriptions.course-catalog://department_directory: A formatted text resource listing all academic departments and their codes.
Prompt Templates
course_comparison_template: A prompt template requesting the LLM to generate a structured comparison between two specific courses using their course codes.
Testing Locally
You can test the MCP server functionality by connecting the official MCP Inspector CLI to the server:
npx @anthropic-ai/inspector http://localhost:8080/sseFrom the inspector, you can invoke tools, fetch resources, and render prompt templates interactively.
This server cannot be installed
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/sarvea45/Model-Context-Protocol-MCP-Server-for-a-University-Course-Catalog'
If you have feedback or need assistance with the MCP directory API, please join our Discord server