- Home
- MCP servers
- PowerPoint/Excel
PowerPoint/Excel
- python
26
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"jenstangen1-pptx-mcp": {
"command": "uv",
"args": [
"run",
"mcp_powerpoint_server_win32.py"
]
}
}
}You can run MCP servers to control Microsoft Office apps (PowerPoint and Excel) via AI assistance. These servers expose a programmable interface that lets you create presentations, manipulate slides, read and write Excel data, and perform financial-chart operations by issuing natural language commands through an MCP client.
How to use
To use these MCP servers, you first start the local MCP runners and then connect your MCP client or assistant to the running servers. The two available servers expose endpoints for PowerPoint and Excel interactions through Python COM automation, so you can perform tasks like creating slides, adding text, reading cell values, and generating charts through natural language.
Typical usage flow: start the servers, configure your MCP client to talk to them, and then issue commands such as creating slides, inserting charts, or updating cells. The client will translate your requests into a sequence of MCP actions that the servers execute against running Office applications.
How to install
# Prerequisites
- Windows operating system
- Microsoft Office installed (PowerPoint and/or Excel)
- Python 3.7+
- pywin32 package
# 1) Clone the MCP server repository
git clone https://github.com/jenstangen1/mcp-pptx.git
cd mcp-pptx
# 2) Install dependencies using the runtime helper
uv pip install pywin32
# 3) Run the pywin32 post-install script with administrator privileges
python C:\path\to\your\env\Scripts\pywin32_postinstall.py -install
Configuration for your MCP client
{
"mcpServers": {
"powerpoint_mcp_win32": {
"command": "uv",
"args": [
"run",
"mcp_powerpoint_server_win32.py"
],
"cwd": "C:\\path\\to\\your\\workspace"
},
"excel_mcp_win32": {
"command": "uv",
"args": [
"run",
"mcp_excel_server_win32.py"
],
"cwd": "C:\\path\\to\\your\\workspace"
}
}
}
Notes and prerequisites
- Ensure you have a Windows environment with Microsoft Office installed. PowerPoint and/or Excel should be available for COM automation.
- Install Python 3.7 or newer and the pywin32 package.
- Use the provided startup commands exactly as shown to ensure the servers connect to the running Office applications.
Starting and using the servers with your MCP client
- Open a terminal and run your MCP startup flow as described above to prepare both servers. 2. Point your MCP client to the two configured server endpoints so that PowerPoint and Excel commands are routed correctly. 3. Begin issuing natural language requests to create slides, modify content, or read and write data in your Office documents.
Additional considerations
-
The PowerPoint server supports creating presentations, slide management, element manipulation, charting (including financial chart options), styling, and template operations. It also includes debugging tools for element mappings and various helper actions.
-
The Excel server supports workbook management, worksheet operations, and cell/range read-write. It can read and write individual cells, ranges, and convert data types as needed.
-
If you encounter COM automation issues, run the post-install script again with administrator privileges and verify Office applications are running and accessible to the COM subsystem.
Security and maintenance
- Keep your Office applications and Python environment up to date to minimize security risks and ensure compatibility with COM automation.
- Isolate workspace and credentials, and avoid exposing your MCP endpoints to untrusted networks.
- Regularly back up your presentations and Excel workbooks as you would with any important files.
Available tools
list_presentations
List all PowerPoint files in the workspace.
upload_presentation
Upload a new presentation to the workspace.
save_presentation
Save the current PowerPoint presentation.
add_slide
Add a new slide to the presentation.
delete_slide
Delete a slide from the presentation.
get_slide_count
Get the total number of slides in the presentation.
analyze_slide
Analyze the content of a slide.
set_background_color
Set the background color of a slide.
add_text
Add text to a slide.
add_shape
Add a shape to a slide.
edit_element
Edit an element's properties.
style_element
Apply styling to an element.
connect_shapes
Connect two shapes with a connector.
find_element
Find slide elements by criteria.
get_company_financials
Get financial data for a company (currently dummy data).
create_financial_chart
Create a financial chart on a slide.
create_comparison_table
Create a comparison table for companies.
list_templates
List available templates.
apply_template
Apply a template to a presentation.
create_slide_from_template
Create a slide from a template.
save_as_template
Save a slide as a template.
debug_element_mappings
Debug tool to inspect element mappings for a slide.
list_open_workbooks
List all currently open Excel workbooks.
save_workbook
Save an Excel workbook to disk.
list_worksheets
List all worksheets in a workbook.
add_worksheet
Add a new worksheet to a workbook.
get_worksheet
Get a worksheet by name or index.
get_cell_value
Read a single cell's value.
set_cell_value
Set a single cell's value.
get_range_values
Read values from a range of cells.
set_range_values
Set values for a range of cells.