Skip to main content

MCP server for complete Office document manipulation — create, read, edit, convert DOCX/XLSX/PPTX/PDF/EML

Project description

docforge-mcp

MCP server for complete Office document manipulation — create, read, edit, convert, and template DOCX, XLSX, PPTX, PDF, and EML files.

Built for AI agents that need full document lifecycle control, not just one-shot generation.

Install

# Via uvx (no install needed)
uvx docforge-mcp

# Or install globally
uv tool install docforge-mcp

# Or pip
pip install docforge-mcp

Tools (38)

Category Tools Capabilities
Word (DOCX) 12 Create from markdown, read, edit paragraphs, insert, delete, search/replace, headers/footers, images, merge, templates
Excel (XLSX) 7 Create from markdown, read sheets, edit cells, insert/delete rows, charts, conditional formatting
PowerPoint (PPTX) 9 Create presentations, read slides, edit text, add shapes/images, reorder, duplicate, delete, merge, templates
PDF 3 Create from markdown, convert DOCX→PDF, read
Email (EML) 1 Create HTML email drafts
XML 1 Create well-formed XML
Templates 2 Render DOCX/PPTX with variables, conditionals ({{#if}}), loops ({{#each}})
Metadata 1 Get document info/stats
Merge 2 Merge multiple DOCX or PPTX files

Usage

As MCP server (stdio — default)

docforge-mcp

As HTTP server

MCP_TRANSPORT=streamable-http MCP_PORT=8958 docforge-mcp

MCP client configuration

{
  "mcpServers": {
    "office-documents": {
      "command": "docforge-mcp",
      "autoApprove": ["read_document", "get_document_info", "get_docx_paragraphs", "get_pptx_slides", "get_xlsx_sheets"]
    }
  }
}

Origins

This project was born from ForLegalAI/mcp-ms-office-documents (MIT license). It diverged in scope and philosophy:

ForLegalAI (upstream) docforge-mcp
Goal One-shot document generation Full document lifecycle
Read ✅ Read any DOCX/XLSX/PPTX
Edit ✅ Edit paragraphs, cells, slides
Convert ✅ DOCX→PDF
Templates Simple {{var}} Conditionals + loops
Transport Docker + HTTP only stdio + HTTP
Install Docker uvx docforge-mcp

We continue to contribute compatible features upstream (PRs #57, #58, #59) while developing the full toolkit independently.

Development

git clone https://github.com/filhocf/docforge-mcp.git
cd docforge-mcp
uv sync --group dev
uv run pytest tests/ -v
uv run ruff check .

License

MIT — see LICENSE for details. Original work © ForLegalAI, extensions © Claudio Ferreira Filho.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docforge_mcp-0.2.1.tar.gz (344.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docforge_mcp-0.2.1-py3-none-any.whl (89.0 kB view details)

Uploaded Python 3

File details

Details for the file docforge_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: docforge_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 344.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for docforge_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 0c24dbe52602ba5e036f87b3a0a68a5db664378227140335e1ae71a522e2cf4a
MD5 20266540a393d5493aeb47c465e77565
BLAKE2b-256 44444599a30b26df367183e0d8b92d5c3a934f1bc3b74c7db30e8571c066a68e

See more details on using hashes here.

Provenance

The following attestation bundles were made for docforge_mcp-0.2.1.tar.gz:

Publisher: ci.yml on filhocf/docforge-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file docforge_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: docforge_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 89.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for docforge_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f5fc69b098711b44928d0cf9baa08b80d93b8695d8f38ee49b98df7c08ec6109
MD5 6dbd1468be1e5b465db880471b28f6a3
BLAKE2b-256 808d0ac6b0c198d37205b9d9e967546a5031bfac81e536ead7ea90ed39d700dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for docforge_mcp-0.2.1-py3-none-any.whl:

Publisher: ci.yml on filhocf/docforge-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page