LectureForge MCP
# 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
Scored across 7 tools
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.
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.
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.
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.