Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"ppts": {
"args": [
"run",
"path/to/main.py"
],
"command": "uv"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
This project provides a PowerPoint automation server that works with Claude Desktop via the Model Control Protocol (MCP). It allows Claude to interact with Microsoft PowerPoint, enabling tasks like creating presentations, adding slides, modifying content, and more.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
Local-first AI memory with knowledge graphs and hybrid search. 17+ AI tools via MCP. Free.
MCP Security Weekly
Get CVE alerts and security updates for PPT_MCP_Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
This project provides a PowerPoint automation server that works with Claude Desktop via the Model Control Protocol (MCP). It allows Claude to interact with Microsoft PowerPoint, enabling tasks like creating presentations, adding slides, modifying content, and more.
uvx to run:uvx --from https://github.com/socamalo/PPT_MCP_Server.git mcp-ppt
Clone this repository:
Install dependencies:
uv add fastmcp pywin32
Configure Claude Desktop:
To configure Claude Desktop to use this MCP server, add the following to your Claude Desktop configuration file, located at %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"ppts": {
"command": "uv",
"args": ["run", "path/to/main.py"]
}
}
}
If you're using a virtual environment or alternative Python executable (like uv):
{
"mcpServers": {
"ppts": {
"command": "C:\\Path\\To\\Python\\Scripts\\uv.exe",
"args": ["run", "C:\\Path\\To\\Project\\main.py"]
}
}
}
Once configured, you can use Claude Desktop to control PowerPoint. Example interactions:
Initialize PowerPoint:
Could you open PowerPoint for me?
Create a new presentation:
Please create a new PowerPoint presentation.
Add a slide:
Add a new slide to the presentation.
Add content:
Add a text box to slide 1 with the text "Hello World".
Save the presentation:
Save the presentation to C:\Users\username\Documents\presentation.pptx
The server provides the following PowerPoint automation functions:
initialize_powerpoint(): Connect to PowerPoint and make it visibleget_presentations(): List all open presentationsopen_presentation(path): Open a presentation from a fileget_slides(presentation_id): Get all slides in a presentationget_slide_text(presentation_id, slide_id): Get text content of a slideupdate_text(presentation_id, slide_id, shape_id, text): Update text in a shapesave_presentation(presentation_id, path): Save a presentationclose_presentation(presentation_id, save): Close a presentationcreate_presentation(): Create a new presentationadd_slide(presentation_id, layout_type): Add a new slideadd_text_box(presentation_id, slide_id, text, left, top, width, height): Add a text boxset_slide_title(presentation_id, slide_id, title): Set the title of a slidepywin32 and fastmcp Python packagesContributions are welcome! Please feel free to submit a Pull Request.