MCP Server for PowerPoint manipulation using python-pptx - ildunari's Fork
PPT-MCP has 22 tools with complete input schemas and descriptions, but quality is inconsistent. Naming follows verb_noun convention well (update_chart_data, add_connector, get_slide_info). However, descriptions are often generic (e.g., 'Add a new slide to the presentation') without explaining WHEN to use each tool or what distinguishes it from similar tools. Parameters lack constraints: connector_type accepts free-form strings instead of enums; RGB colors lack validation hints; numeric coordinates have no range documentation. Output schemas are not documented, callers cannot predict response structure. Error handling returns bare error strings without recovery guidance. No tool declares permissions or security implications. Overall, the server is functional but falls short of production-grade quality.
Add bullet points to a placeholder.
Add connector lines/arrows between points on a slide.
Add an auto shape to a slide with enhanced options.
Add a new slide to the presentation with optional background styling.
Add a table to a slide with enhanced formatting options.
Apply multiple picture effects in combination.
Unified professional design tool for themes, slides, and visual enhancements. This applies professional styling and themes rather than structural layout changes.
Free-form string parameters lack enums. connector_type, operation, shape_type, and color_scheme accept arbitrary strings instead of constrained enums, inviting hallucinated invalid values.
Output schemas not documented. Tools return Dict but callers cannot predict response structure (success vs error fields, nested objects, pagination). LLMs cannot plan downstream calls.
Error handling returns bare error strings without recovery guidance. 'Presentation not found' does not tell the LLM whether to retry, call create_presentation, or ask the user.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Create a new PowerPoint presentation.
Create a new PowerPoint presentation from a template file.
Extract all text content from all slides in the presentation.
Extract all text content from a specific slide.
Format a specific table cell.
Get information about a presentation.
Get information about a specific slide.
Get information about a template file including layouts and properties.
Manage hyperlinks in text shapes and runs.
Access and manage slide master properties and layouts.
Open an existing PowerPoint presentation from a file.
Populate a placeholder with text.
Save a presentation to a file.
Set core document properties.
Replace existing chart data with new categories and series.
Numeric parameters lack range constraints. Coordinates (start_x, start_y, end_x, end_y) have no documented min/max; font sizes, line widths, and RGB values are unbounded, risking invalid API calls.
apply_professional_design is overloaded with multiple operations (professional_slide, theme, enhance, get_schemes) in one tool. Should split into separate tools for clarity and composability.