About Ms Office Documents
Ms Office Documents is an MCP server published by ForLegalAI in the Developer Tools category: mCP server providing tools to create Ms Office documents like presentations, emails, spreadsheets and word docs (pptx, docx, eml, xlsx).
The repository has 42 stars and 31 forks, with the last commit 4 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/ForLegalAI/mcp-ms-office-documentsThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Ms Office Documents
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
📄 MCP Office Documents Server
Let your AI assistant create professional Office documents — PowerPoint, Word, Excel, emails & XML — with a single prompt.
💡 What is this?
This is an MCP (Model Context Protocol) server that runs in Docker and gives AI assistants (like Claude, Cursor, or any MCP-compatible client) the ability to generate real Office files on demand.
Just ask your AI to "create a sales presentation" or "draft a welcome email" — and it will produce a ready-to-use file for you.
No coding required. Install, connect, and start creating.
✨ Features at a Glance
| Document Type | Tool | Highlights |
|---|---|---|
| 📊 PowerPoint | create_powerpoint_presentation |
Typed slide schema (14 slide types incl. KPI, timeline, agenda, free-form blank) · Outline-pane sections · Markdown bullet bodies · Tables, category charts & XY scatter · Inline & data-URI images · Theme colours · Autofit with overflow warnings · Proofing language · 4:3 or 16:9 · Custom templates |
| 📝 Word | create_word_from_markdown |
Write in Markdown, get a .docx · Headings, lists (with auto-restart), tables, links, images, block quotes, page breaks & text alignment · Superscript, subscript, underline & highlighted text · Table column alignment, borderless tables, proportional widths & multi-paragraph cells · Headers/footers with page numbers · Table of Contents · Custom style mapping & per-block style tags |
| 📈 Excel | create_excel_from_markdown |
Markdown tables → .xlsx · Multiple sheets · Formulas with table-relative & cross-sheet references · Column data types · Freeze panes & auto-filter · Column alignment |
create_email_draft |
HTML email drafts (.eml) · Subject, recipients, priority, language |
|
| 🗂️ XML | create_xml_file |
Well-formed XML files · Auto-validates & adds XML declaration if missing |
All tools accept an optional file_name parameter. When provided, the output file will use that name (without extension) instead of a randomly generated identifier.
All tools also accept an optional add_unique_prefix parameter. Left unset, it follows the storage backend: true for LOCAL/S3/GCS/AZURE/MINIO, where an 8-character UUID prefix prevents collisions in shared storage (e.g., ff8ae81d_My_Report.docx), and false for LibreChat, which adds its own UUID prefix during file storage. Set it explicitly to override — false gives clean filenames (e.g., My_Report.docx).
Dynamic templates:
- 📧 Reusable Email Templates — Define parameterized email layouts in YAML. Each becomes its own tool with typed arguments (e.g.,
first_name,promo_code). - 📝 Reusable Word Templates — Create
.docxfiles with{{placeholders}}. Each template becomes an AI tool. Placeholders support full Markdown.
Output options:
- Local — Files saved to the
output/folder - Cloud — Upload to S3, Google Cloud Storage, Azure Blob, or MinIO and get a time-limited download link
🚀 Quick Start
1. Get the compose file
curl -L -o docker-compose.yml https://raw.githubusercontent.com/ForLegalAI/mcp-ms-office-documents/master/docker-compose.yml
curl -L -o .env.example https://raw.githubusercontent.com/ForLegalAI/mcp-ms-office-documents/master/.env.example
Already cloned the repo? Skip this step — both files are already there.
2. Set up your environment
cp .env.example .env
The defaults work out of the box — files are saved locally to output/.
3. Start the server
docker compose up -d
✅ Done! Your MCP endpoint is ready at http://localhost:8958/mcp. Point your client at it — snippets for Claude Desktop, LibreChat and Cursor are in Connecting an AI client.
⚙️ Configuration
Everything is set through environment variables in .env. The ones most deployments touch:
| Variable | Description | Default |
|---|---|---|
API_KEY |
Require an API key on every request (Bearer, plain Authorization, or x-api-key) |
(disabled) |
UPLOAD_STRATEGY |
Where files go: LOCAL, S3, GCS, AZURE, MINIO, LIBRECHAT |
LOCAL |
SIGNED_URL_EXPIRES_IN |
Lifetime of cloud download links, in seconds | 3600 |
ADMIN_ENABLED |
Turn on the browser UI for managing templates | (off) |
DEBUG |
Debug-level logging | (off) |
The full list, including the per-backend credentials, thread-pool and multi-replica settings, is in Configuration. Deployment notes (volumes, health probes, running without Docker, more than one replica) are in Deployment.
📚 Documentation
Using the tools
- Markdown reference — everything the Word and Excel tools accept: headings, lists with restart rules, tables and directives, inline formatting, formulas with table-relative and cross-sheet references, column types, cell styling.
- PowerPoint slide reference — the fourteen slide types and their fields, bodies in Markdown, warnings, compatibility notes.
- Templates — drop in your own Word, PowerPoint, email and Excel templates; register several PowerPoint designs by name; turn a Word or email file with
{{placeholders}}into a tool of its own. - Template Admin UI — do all of that from the browser, no YAML, no restart.
- Connecting an AI client
Working on the code
- Architecture, one page per tool under docs/development/tools/, and how-tos for adding a tool or a storage backend.
- CONTRIBUTING.md for setup, checks and conventions; AGENTS.md for the rules coding agents follow; SECURITY.md for what the server protects.
The index is at docs/README.md.
🤝 Contributing
Contributions are welcome. Read CONTRIBUTING.md, then fork, branch, and open a pull request. Bug reports, feature ideas and documentation fixes are all appreciated — open an issue to start a discussion.
📄 License
MIT — see LICENSE.
README fetched from the repository 4 days ago. The original is authoritative.