PPT Design MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PPT Design MCPOpen the company template, duplicate slide 1, set title to 'Q4 Review', export slide 2 as PNG."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PPT Design MCP
Template-driven PowerPoint design MCP server for Windows.
This project wraps Microsoft PowerPoint COM automation behind a Python adapter
and exposes a small MCP tool surface. MCP tools validate parameters, call the
adapter, and return a uniform result shape. COM calls stay in
ppt_design_mcp.adapters.
Requirements
Windows desktop
Microsoft PowerPoint installed
Python 3.11+
pywin32Official MCP Python SDK
Related MCP server: pptx-mcp-server
Install
uv syncIf you are not using uv, install the project dependencies from
pyproject.toml into a Python 3.11+ environment.
Run the MCP Server
uv run ppt-design-mcpEquivalent module form:
uv run python -m ppt_design_mcp.serverThe server uses stdio transport through FastMCP's default run() behavior.
Exposed Tools
Every tool returns:
ok: booleantool: tool namemessage: human-readable status or errordata: structured payloaderror_code: error class name, ornullon success
Tools:
powerpoint_statusopen_template_as_newinspect_slidesduplicate_slideset_named_shape_textfill_named_shape_with_imageexport_slide_pngsave_and_close
Safety Notes
Source templates are opened read-only and must not be overwritten.
Generated files should be saved under
output/.Shapes are addressed by stable shape names, not shape indexes.
PowerPoint COM logic is not implemented in MCP tool functions.
Template Registry
Template page metadata is stored in local JSON manifest files. A manifest points to a PowerPoint template file and lists reusable template pages:
{
"template_file": "../output/presentations/com-smoke-test.pptx",
"templates": [
{
"template_id": "com-smoke-title",
"source_slide": 1,
"purpose": "Smoke-test title slide for adapter and MCP validation",
"style": "PowerPoint default title layout",
"slots": [
{
"shape_name": "Title 1",
"type": "text",
"max_chars": 80
}
]
}
]
}Files under templates/ are ignored by Git in this repository so existing
designer templates and their manifests stay local unless they are reviewed and
published intentionally.
Use ppt_design_mcp.templates.load_template_registry() to load a manifest.
The registry exposes:
list_templates()get_template(template_id)check_consistency(inspector)
check_consistency() uses an object with list_slides() and list_shapes() to
verify that the manifest matches the real template. It reports:
missing template files
missing named shapes
duplicate
template_idvaluesillegal
source_slidepage numbers
The registry does not perform page planning and does not call any large model.
Local Validation
py -3.12 -m pytest
py -3.12 scripts/build_demo.pyThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lgh112/ppt-design-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server