mcp-ms-office-documents
MCP server providing tools to create Ms Office documents like presentations, emails, spreadshhets and word docs (pptx, docx, eml, xlsx)
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
- Prepare the repository and environment
- Clone the repository or obtain the docker-compose file as described in the Quick Start
- Copy the environment template if needed: curl -L -o .env https://raw.githubusercontent.com/dvejsada/mcp-ms-office-docs/main/.env.example
- 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)
- 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
- Alternative: use docker-compose (if docker-compose.yml is provided in the repo)
- docker-compose up -d
- Access the MCP endpoint at http://localhost:8958/mcp
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
jupyter
🪐 🔧 Model Context Protocol (MCP) Server for Jupyter.
packt-netops-ai-workshop
🔧 Build Intelligent Networks with AI
google-search-console
It connects directly to your Google Search Console account via the official API, letting you access key data right from AI tools like Claude Desktop or OpenAI Agents SDK and others .
Youtube
YouTube MCP Server is an AI-powered solution designed to revolutionize your YouTube experience. It empowers users to search for YouTube videos, retrieve detailed transcripts, and perform semantic searches over video content—all without relying on the official API. By integrating with a vector database, this server streamlines content discovery.
coder_db
An intelligent code memory system that leverages vector embeddings, structured databases, and knowledge graphs to store, retrieve, and analyze code patterns with semantic search capabilities, quality metrics, and relationship modeling. Designed to enhance programming workflows through contextual recall of best practices, algorithms, and solutions.
astrograph
An MCP server with tools to stop AI agents from writing duplicate code. Fixes legacy code using highly efficient algorithms.