Course
FreeNot checkedA local MCP server for referencing course files from a configured classes directory, allowing listing courses and their files safely.
About
A local MCP server for referencing course files from a configured classes directory, allowing listing courses and their files safely.
README
course-mcp is a local Python MCP server for referencing course files from a
configured classes directory.
The project is currently focused on listing available courses and building the service layer needed to browse course files safely.
Current Features
- Loads
ROOT_DIRfrom.envor the process environment. - Restricts file access to paths inside
ROOT_DIR. - Provides a
FileServicefor safe file reads. - Provides a
CourseServicefor course/file listing and searching. - Exposes an MCP tool:
list-courses: lists the top-level course directories underROOT_DIR.list-course-files: lists the direct files inside a course directory.search-course-file: searches one UTF-8 text or text-extractable PDF file within a course using case-insensitive literal matching.
search-course-file requires course_title, a course-relative file_path, and
a non-empty keyword. It optionally accepts context_lines (default 3, maximum
20) and max_results (default 20, maximum 100). Search results are returned as
JSON with matching line numbers and merged context excerpts. PDF results also
identify the one-based page containing each excerpt. Scanned PDFs require OCR
and are not supported.
Project Layout
src/course_mcp/
server.py MCP server boundary
config/ environment/config loading
services/
file_service.py safe filesystem access
course_service.py course-oriented operations
models/ simple data models
tests/ pytest tests
skills/ project-specific agent skills
Configuration
Create a .env file at the project root:
ROOT_DIR="/Users/markseeliger/Desktop/Classes/UMD"
ROOT_DIR must point to an existing directory. Each direct child directory is
treated as a course.
You can also pass ROOT_DIR directly through the environment instead of using
.env.
Run Locally
From this project directory:
uv run course-mcp
Because MCP servers run over stdio, they are usually launched by an MCP client rather than run directly by hand.
Install In Codex
Register the server with Codex:
codex mcp add course-mcp \
--env ROOT_DIR=/Users/markseeliger/Desktop/Classes/UMD \
-- uv --directory /Users/markseeliger/Desktop/Coding/create-python-server/course_mcp run course-mcp
Verify the registration:
codex mcp get course-mcp
Or refresh the registration with the project script:
ROOT_DIR=/Users/markseeliger/Desktop/Classes/UMD ./scripts/update_mcp_server.sh
If you change MCP tools, restart Codex or start a new Codex session so the tool list is reloaded.
Development
Run the test suite:
uv run pytest
Run a compile check:
python3 -m compileall src/course_mcp tests
Debug with MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /Users/markseeliger/Desktop/Coding/create-python-server/course_mcp run course-mcp
Install Course in Claude Desktop, Claude Code & Cursor
unyly install course-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add course-mcp -- uvx --from git+https://github.com/mkslge/course-mcp course-mcpFAQ
Is Course MCP free?
Yes, Course MCP is free — one-click install via Unyly at no cost.
Does Course need an API key?
No, Course runs without API keys or environment variables.
Is Course hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Course in Claude Desktop, Claude Code or Cursor?
Open Course on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Course with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
