LabscoMCP early access ↗
PrincessGrayMCP SERVER

PPT-Agent

Build a PowerPoint deck slide by slide from a conversation — shapes, charts, images, animations and formatted text, all placed by tool call.

by PrincessGray ↗Slide & Presentation GenerationCommunity

LABSCO SUMMARY

It edits a deck the way a person does, one element at a time.

There is no template-filling shortcut here: each shape, chart and text box is a separate call with its own coordinates, which makes the model responsible for layout. That is heavier than a slide generator, and it is also why the output is a real editable PPTX rather than an export. getShapesInfo and getSlideCount matter more than they look — they are how a model checks what it has already placed before adding more.

What it is

A Java MCP server that drives PowerPoint files through the Aspose.Slides library. A model creates a presentation, adds slides, and then places every element on them — text boxes, shapes, charts, SVG and bitmap images, animations — before saving the file to a path you name.

What you get

  • Deck lifecycle — createPresentation starts an empty file, addSlide and selectSlide move between slides, savePresentation writes it out
  • Backgrounds two ways: setBackgroundColor for a flat colour, setBackgroundSvg for a vector background
  • Drawing primitives — addShape and addLine
  • Charts without leaving the chat — addColumnChart, addPieChart and addLineChart
  • Images with control over placement: addPictureFrameWithAspectRatio, addPictureFrameFromBase64, addPictureFrameWithFormat and addPictureFrameFromBase64WithFormat for borders and rotation, plus addSvgImage for vectors
  • Text handling — addTextBox places the box, setFormattedText styles what is inside it
  • Animation on both shapes and paragraphs — addAnimation and addParagraphAnimation
  • Read-back before you edit — getShapesInfo lists what is on a slide, getSlideCount reports deck length

Requirements

Java and Maven. Build with mvn clean package, which produces both a plain JAR and an executable one bundling dependencies; the client launches the bundled JAR with java -jar. Transport is stdio. Slide manipulation runs on Aspose.Slides, and the project is written against Java 16.

Setup effort

Follow the published steps — mvn clean package