Get the FREE Ultimate OpenClaw Setup Guide →

mcp-ms-office-documents

MCP server providing tools to create Ms Office documents like presentations, emails, spreadshhets and word docs (pptx, docx, eml, xlsx)

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio dvejsada-mcp-ms-office-documents docker run -i dvejsada/mcp-office-documents:latest \
  --env DEBUG="Enable debug logging (1, true, yes)" \
  --env API_KEY="Protect the server with an API key (set to enable authentication)" \
  --env UPLOAD_STRATEGY="Where to save files: LOCAL, S3, GCS, AZURE, MINIO" \
  --env SIGNED_URL_EXPIRES_IN="How long cloud download links stay valid (seconds)"

How to use

This MCP server enables generation of real Office documents (PowerPoint, Word, Excel), emails, and XML files from a single prompt. It runs in a Docker container and exposes tools that AI clients can invoke to produce ready-to-use files saved locally or uploaded to cloud storage. The server supports dynamic templates for reusable emails and Word templates, and provides output options such as local file storage (output/) or cloud storage via S3-compatible, Google Cloud Storage, Azure Blob, or MinIO.

To use it, deploy the Docker image (via docker-compose as shown in the Quick Start) and connect your MCP-compatible client to the endpoint at http://localhost:8958/mcp. Your client can request specific tools, such as create_powerpoint_presentation, create_word_from_markdown, create_excel_from_markdown, create_email_draft, and create_xml_file. Each tool returns a generated document and can save it locally or provide a time-limited download link if cloud storage is configured. You can also extend capability with dynamic templates that produce separate AI tools (e.g., reusable email templates or reusable Word templates) by placing template files in the configured template directories and exposing them as individual tools at startup.

How to install

Prerequisites:

  • Docker installed and running
  • Optional: docker-compose if you want to mirror the quick-start setup
  1. Prepare the repository and environment
  1. Configure environment variables
  • Edit .env and set optional authentication and storage preferences:
    • DEBUG=1 or true to enable verbose logs
    • API_KEY=your-secret-key to enable authentication
    • UPLOAD_STRATEGY=LOCAL|S3|GCS|AZURE|MINIO
    • SIGNED_URL_EXPIRES_IN=3600 (seconds)
  1. Run the server with Docker
  • Using docker directly: docker run -d --name mcp-office-documents -p 8958:8958
    -e DEBUG=${DEBUG}
    -e API_KEY=${API_KEY}
    -e UPLOAD_STRATEGY=${UPLOAD_STRATEGY}
    -e SIGNED_URL_EXPIRES_IN=${SIGNED_URL_EXPIRES_IN}
    dvejsada/mcp-office-documents:latest
  1. Alternative: use docker-compose (if docker-compose.yml is provided in the repo)

Additional notes

Tips and common issues:

  • Ensure Docker has sufficient resources (CPU/RAM) for document generation tasks, especially for Word/PowerPoint templates.
  • If you enable S3/GCS/AZURE/MinIO storage, configure credentials and endpoints in .env as described in the Configuration section of the README.
  • When using dynamic templates, place templates under the designated custom_templates directory and restart the server to expose the new tools.
  • If authentication is enabled via API_KEY, remember to pass the API key in the Authorization header (Bearer token or plain key) or x-api-key header depending on your client implementation.
  • For local file outputs, ensure the output/ directory is writable by the container or mapped properly in your docker-compose setup.

Related MCP Servers

Sponsor this space

Reach thousands of developers