Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Course

БесплатноНе проверен

A local MCP server for referencing course files from a configured classes directory, allowing listing courses and their files safely.

GitHubEmbed

Описание

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_DIR from .env or the process environment.
  • Restricts file access to paths inside ROOT_DIR.
  • Provides a FileService for safe file reads.
  • Provides a CourseService for course/file listing and searching.
  • Exposes an MCP tool:
    • list-courses: lists the top-level course directories under ROOT_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

from github.com/mkslge/course-mcp

Установка Course

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/mkslge/course-mcp

FAQ

Course MCP бесплатный?

Да, Course MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Course?

Нет, Course работает без API-ключей и переменных окружения.

Course — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Course в Claude Desktop, Claude Code или Cursor?

Открой Course на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Course with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development