onit-office
Standalone MCP server for Microsoft Office document creation (PowerPoint, Excel, Word). Runs as an SSE server that can be used with any MCP client.
Vendored from onit.
Installation
pip install onit-office
Usage
Start the server (runs in background): ```bash onit-office
or
onit-office start ```
Start in foreground (for debugging): ``bash onit-office start --foreground ``
Custom host/port: ``bash onit-office start --host 127.0.0.1 --port 8000 ``
Check status: ``bash onit-office status ``
Stop the server: ``bash onit-office stop ``
Using with onit
onit can connect to onit-office as an MCP SSE server. Start onit-office first, then launch onit with the --mcp-sse flag:
onit-office start
onit --mcp-sse http://localhost:18203/sse --web
This gives onit access to all 18 office document tools through its web interface.
MCP Client Configuration
Once running, connect any MCP client to the SSE endpoint:
http://localhost:18203/sse
Example MCP client config:
{
"mcpServers": {
"onit-office": {
"url": "http://localhost:18203/sse"
}
}
}
Tools
18 tools for creating and editing Office documents:
PowerPoint (9 tools):
create_presentation- Create a new 16:9 presentation with title slideadd_slide- Add slides with various layouts (text, bullets, images, two-column)add_table_slide- Add data tables with formatted headersadd_images_slide- Display multiple images in grid layoutsstyle_slide- Apply background colors and stylingget_presentation_info- Inspect presentation structureread_presentation- Read full text content from all slidesmodify_presentation- Edit text in shapes or delete slidesdownload_media- Download media files from URLs
Excel (4 tools):
create_excel- Create Excel files with headers and dataadd_excel_rows- Append rows to existing Excel filesread_excel- Read cell contents from existing Excel filesmodify_excel_cells- Edit specific cells in existing Excel files
Word (4 tools):
create_document- Create Word documents with optional headers/logosadd_document_content- Add headings, paragraphs, bullets, images, tablesread_document- Read full content from existing Word documentsmodify_document- Edit or delete paragraphs in existing Word documents
General (1 tool):
get_file- Retrieve a created file as base64-encoded data for download
Data Directory
By default, created files are stored in a temporary directory unique to each server process (<system temp dir>/onit-office-<pid>, e.g. /tmp/onit-office-12345). This directory is automatically cleaned up when the server exits.
To persist files across restarts, specify a custom data path:
onit-office start --data-path /path/to/my/data
When --data-path is provided, auto-cleanup is disabled and files are retained.
Docker
See docs/DOCKER.md for Docker build and run instructions.
Testing
See docs/TESTING.md for how to run and structure tests.
License
Apache 2.0











