Skip to main content
Glama
README.md
# LectureForge MCP

LectureForge lets any MCP-compatible LLM create, validate, revise, and export editable PowerPoint presentations. The connected LLM writes the content; LectureForge renders the `.pptx`.

## Use it locally with Docker

1. Clone and build the image:

```powershell
git clone https://github.com/WaniAnimesh/prompt-2-ppt-MCP.git
Set-Location prompt-2-ppt-MCP
docker build --file Dockerfile.mcp --tag lectureforge-mcp:0.3.1 .
```

2. Create a permanent data directory:

```powershell
New-Item -ItemType Directory -Force C:\absolute\path\to\lectureforge-data
```

3. Add this server to your MCP client's configuration. Replace the example data path with its absolute path:

```json
{
  "mcpServers": {
    "lectureforge": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-v", "C:\\absolute\\path\\to\\lectureforge-data:/data",
        "lectureforge-mcp:0.3.1",
        "python", "-m", "compiler.app.mcp_server",
        "--data-dir", "/data"
      ]
    }
  }
}
```

4. Restart the MCP client and confirm that `lectureforge` is connected.

5. Ask the LLM:

```text
Create a 10-slide presentation about renewable energy for university students. Use LectureForge, validate it, render it, and return the PowerPoint artifact.
```

6. Open the returned PowerPoint artifact. Files are also saved inside the data directory from step 2.

For a hosted installation, deploy the image using [the remote deployment guide](docs/REMOTE_DEPLOYMENT.md), then add its HTTPS `/mcp` URL as a custom MCP connector.

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation4/5

Each tool targets a distinct object: projects (list_projects, get_project), versions (list_versions), IR content (get_presentation_ir), validation, rendering, and artifacts (get_artifact). Mild overlap exists because get_project returns artifact references and versions, which could be confused with get_artifact and list_versions, but the descriptions differentiate them well.

Naming Consistency5/5

All tools use consistent snake_case with a predictable verb_noun pattern: list_projects, get_project, list_versions, get_artifact, get_presentation_ir, validate_presentation, render_presentation. No deviations in style or casing.

Tool Count5/5

Seven tools is well-scoped for a presentation rendering pipeline covering project listing/inspection, version listing, IR retrieval, validation, rendering, and artifact access. Each tool earns its place with no redundancy.

Completeness4/5

The lifecycle is largely covered: create (render_presentation), read (get_project, get_presentation_ir, get_artifact), list, and validate, with immutability handled via versioning. Minor gaps exist (no delete/prune for projects or versions, no export beyond PPTX), but core workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues