Skip to main content
Glama
README.md
# Educational Tutor

An experimental system that transforms documentation repositories into interactive educational content using AI and the Model Context Protocol (MCP).

## 🌟 Overview

This project consists of two main components:

1. **šŸ“š Course Content Agent** - Generates structured learning courses from documentation repositories
2. **šŸ”§ MCP Educational Server** - Provides standardized access to course content via MCP protocol

## šŸ—ļø Architecture

```
Documentation Repository → Course Content Agent → Structured Courses → MCP Server → AI Tutors
```

The system processes documentation, creates educational content, and exposes it through standardized tools for AI tutoring applications.

## šŸ“‚ Project Structure

```
tutor/
ā”œā”€ā”€ course_content_agent/    # AI-powered course generation from docs
│   ā”œā”€ā”€ main.py             # CourseBuilder orchestration
│   ā”œā”€ā”€ modules.py          # Core processing logic
│   ā”œā”€ā”€ models.py           # Pydantic data models
│   ā”œā”€ā”€ signatures.py       # DSPy LLM signatures
│   └── about.md           # šŸ“– Detailed documentation
ā”œā”€ā”€ mcp_server/             # MCP protocol server for course access
│   ā”œā”€ā”€ main.py            # MCP server startup
│   ā”œā”€ā”€ tools.py           # Course interaction tools
│   ā”œā”€ā”€ course_management.py # Content processing
│   └── about.md           # šŸ“– Detailed documentation
ā”œā”€ā”€ course_output/          # Generated course content
ā”œā”€ā”€ nbs/                   # Jupyter notebooks for development
└── pyproject.toml         # Project configuration
```

## šŸš€ Quick Start

### 1. Install Dependencies and Create Virtual Environment

This project uses `uv` for fast Python package management.

```bash
# Create a virtual environment
python -m uv venv

# Install dependencies in editable mode
.venv/bin/uv pip install -e .
```

### 2. Generate Courses from Documentation

```bash
# Generate courses from a repository
.venv/bin/uv run python course_content_agent/test.py
```

**Customize for Your Repository**: Edit `course_content_agent/test.py` to change:
- Repository URL (currently uses MCP docs)
- Include/exclude specific folders
- Output directory and caching settings

### 3. Start MCP Server

```bash
# Serve generated courses via MCP protocol
.venv/bin/uv run python -m mcp_server.main

# Or customize course directory
COURSE_DIR=your_course_output .venv/bin/uv run python -m mcp_server.main
```

### 4. Test MCP Integration

```bash
# Test server capabilities
.venv/bin/uv run python mcp_server/stdio_client.py
```

## šŸ“– Detailed Documentation

For comprehensive information about each component:

- **Course Content Agent**: See [`course_content_agent/about.md`](course_content_agent/about.md)
  - AI-powered course generation
  - DSPy signatures and multiprocessing
  - Document analysis and learning path creation
  
- **MCP Educational Server**: See [`mcp_server/about.md`](mcp_server/about.md)
  - MCP protocol implementation
  - Course interaction tools
  - Integration with AI assistants

## šŸ”Œ MCP Integration with Cursor

To use the educational tutor MCP server with Cursor, create a `.cursor/mcp.json` file in your project root:

```json
{
    "mcpServers": {
        "educational-tutor": {
            "command": "/path/to/tutor/project/.venv/bin/uv",
            "args": [
                "--directory",
                "/path/to/tutor/project",
                "run",
                "mcp_server/main.py"
            ],
            "env": {
                "COURSE_DIR": "/path/to/tutor/project/course_output"
            }
        }
    }
}
```

**Setup Steps**:
1. Create a virtual environment: `python -m uv venv`
2. Install dependencies: `.venv/bin/uv pip install -e .`
3. Update the `command` path and the path in `args` to your project directory.
4. Restart Cursor or reload the window.
5. Use `@educational-tutor` in Cursor chat to access course tools.

## šŸ”§ Development Status

**Current Status**: āœ… Functional MVP
- Course generation from documentation repositories
- MCP server for standardized content access
- Multi-complexity course creation (beginner/intermediate/advanced)

**Future Enhancements**:
- Support for diverse content sources (websites, videos)
- Advanced search and recommendation systems
- Integration with popular AI platforms

## šŸ› ļø Technology Stack

- **AI Framework**: DSPy for LLM orchestration
- **Content Processing**: Multiprocessing for performance
- **Protocol**: Model Context Protocol (MCP) for standardization
- **Models**: Gemini 2.5 Flash for content generation
- **Data**: Pydantic models for type safety

## šŸ“„ License

This project is experimental and intended for educational and research purposes.