Skip to main content
Glama

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:

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 .
  1. Create a permanent data directory:

New-Item -ItemType Directory -Force C:\absolute\path\to\lectureforge-data
  1. Add this server to your MCP client's configuration. Replace the example data path with its absolute path:

{
  "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"
      ]
    }
  }
}
  1. Restart the MCP client and confirm that lectureforge is connected.

  2. Ask the LLM:

Create a 10-slide presentation about renewable energy for university students. Use LectureForge, validate it, render it, and return the PowerPoint artifact.
  1. 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, then add its HTTPS /mcp URL as a custom MCP connector.

Available Tools

7 tools
get_artifactC

Get safe metadata and resource/file URIs for one generated artifact.

Artifact choices are powerpoint, source_bundle, presentation_ir, manifest, validation, and python_source.

Inputs: artifact (required), project_id (required), version. Returns: object

get_presentation_irC

Read the canonical Presentation IR for a project version or the latest version.

Inputs: project_id (required), version. Returns: object

get_projectB

Get one project's current state, immutable versions, and artifact references.

Inputs: project_id (required). Returns: object

list_projectsA

List locally rendered presentation projects, most recently updated first.

Inputs: no named parameters. Returns: object

list_versionsC

List all successfully rendered versions of a presentation project.

Inputs: project_id (required). Returns: object

render_presentationA

Render complete Presentation IR into an editable PPTX and source bundle.

Omit project_id for a new project. For a revision, pass the existing project_id and its current version as expected_base_version. Each successful call creates a new immutable version; it never overwrites an earlier deck.

Inputs: presentation (required), project_id, expected_base_version. Returns: object

validate_presentationA

Validate complete Presentation IR without writing files.

Call this before render_presentation. Set include_canonical when the model needs LectureForge's normalized form with default theme fields filled in.

Inputs: presentation (required), include_canonical. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    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

    ActivitySlowing
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers