powerpoint-mcp-live
Provides tools for editing an already-open PowerPoint presentation in real time, including slide, shape, text, formatting, note, comment, and export operations, without launching a separate PowerPoint instance.
README
powerpoint-mcp-live
Edit a PowerPoint presentation while it's open — the AI attaches to the window you already have, it doesn't start its own.
Live editing · Windows (COM) · 23 tools
Most PowerPoint MCP servers (including this workspace's own mcp-server-powerpoint) work by starting a fresh, invisible PowerPoint process, opening your file in it, and closing it again when done. That's great for scripted deck generation, but it means the AI is never looking at the same window you are.
powerpoint-mcp-live does the opposite: it attaches to whatever PowerPoint window you already have
open via COM, using the same "find the running application" approach as
word-mcp-live and excel-mcp-live. It never launches
PowerPoint and never closes it — it only touches presentations you opened yourself.
Requirements
- Windows (COM automation is Windows-only — there is no macOS/Linux mode for this project)
- Microsoft PowerPoint installed and already running with a presentation open
- Python 3.11+
Installation
git clone <this-repo-url>
cd powerpoint-mcp-live
pip install -e .
Or run straight from source with uv — no install step needed:
uv run powerpoint_mcp_server.py
Client setup (.mcp.json)
Point your MCP client at the project directory. For Claude Code, add this to .mcp.json in your
project (or ~/.claude.json for a user-wide config):
{
"mcpServers": {
"powerpoint-live": {
"command": "uv",
"args": [
"--directory",
"G:/Ai/MCP/powerpoint-mcp-live",
"run",
"powerpoint_mcp_server.py"
],
"env": {
"MCP_AUTHOR": "Your Name",
"MCP_AUTHOR_INITIALS": "YN"
}
}
}
}
If you installed it with pip install -e . instead, you can use the console script directly:
{
"mcpServers": {
"powerpoint-live": {
"command": "powerpoint-mcp-live",
"env": {
"MCP_AUTHOR": "Your Name",
"MCP_AUTHOR_INITIALS": "YN"
}
}
}
}
MCP_AUTHOR / MCP_AUTHOR_INITIALS set the author name/initials attached to new slide comments
(default: "Author" / "").
Supported functions
Every tool operates on a presentation that's already open in PowerPoint. presentation is
optional almost everywhere — omit it to target the active presentation.
| Tool | Description |
|---|---|
| Presentation | |
list_open_presentations |
List every presentation open in PowerPoint |
get_presentation_info |
Slide count, per-slide titles, active slide |
save_presentation |
Save in place (Ctrl+S) |
| Slides | |
list_slides |
List slide indexes and titles |
add_slide |
Add a slide with a chosen layout |
delete_slide |
Delete a slide |
duplicate_slide |
Duplicate a slide, inserted right after the original |
move_slide |
Reorder a slide to a new position |
activate_slide |
Make a slide the visible one in the PowerPoint window |
| Shapes & text | |
list_shapes |
List shapes on a slide (name, type, position, text) |
get_slide_text |
Read a slide's title and all body text |
add_textbox |
Add a text box at a given position |
set_shape_text |
Set the text of an existing shape/placeholder |
delete_shape |
Delete a shape |
set_shape_position |
Move and/or resize a shape |
| Formatting | |
format_shape_text |
Bold/italic/underline, font, size, color |
format_shape |
Fill color, outline color, outline weight |
| Speaker notes | |
get_speaker_notes |
Read a slide's speaker notes |
set_speaker_notes |
Replace a slide's speaker notes |
| Export | |
export_slide_to_image |
Export a slide to PNG/JPG/BMP/GIF for visual verification |
| Comments | |
add_comment |
Add a slide comment (PowerPoint 2016+) |
get_comments |
List comments on a slide |
delete_comment |
Remove a comment |
Not yet covered: tables, charts, SmartArt, animations, transitions, templates/themes — for those, use mcp-server-powerpoint, which starts its own PowerPoint instance and has much broader operation coverage.
Example prompts
"I have this deck open — read the text on slide 3 and tell me if the bullets are too long."
"Add a new slide after slide 2 with a blank layout."
"Add a text box on slide 4 that says 'Draft — do not distribute' in red."
"Make the title on slide 1 bold and increase it to 44pt."
"Export slide 5 as an image so I can check whether anything overlaps."
"Add a comment on slide 3 asking if the chart numbers are up to date."
Known limitations
- Windows only. PowerPoint COM automation doesn't exist on macOS/Linux.
- The presentation must already be open in PowerPoint. This server doesn't create or open files — see mcp-server-powerpoint for that.
- No single-undo grouping. Word's COM API can wrap several edits into one Ctrl+Z; PowerPoint's cannot (neither can Excel's). A tool call that performs multiple writes may need several Ctrl+Z's to fully undo.
- Comments require PowerPoint 2016+ (modern threaded comments).
Development
See CLAUDE.md for architecture notes and design constraints — in particular, why this server must never launch or quit PowerPoint itself.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。