Skip to main content

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.

Metadata

Release files for docforge-mcp 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docforge-mcp 0.2.1
File Size Uploaded Provenance
docforge_mcp-0.2.1.tar.gz 344.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for docforge-mcp 0.2.1
File Interpreter ABI Platform
docforge_mcp-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 433.8 kB

Release files / docforge_mcp-0.2.1.tar.gz

Download URL docforge_mcp-0.2.1.tar.gz
Size 344.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0c24dbe52602ba5e036f87b3a0a68a5db664378227140335e1ae71a522e2cf4a
BLAKE2b-256 checksum
How to use checksums
44444599a30b26df367183e0d8b92d5c3a934f1bc3b74c7db30e8571c066a68e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 22, 2026.

Transparency log

Release files / docforge_mcp-0.2.1-py3-none-any.whl

Download URL docforge_mcp-0.2.1-py3-none-any.whl
Size 89.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5fc69b098711b44928d0cf9baa08b80d93b8695d8f38ee49b98df7c08ec6109
BLAKE2b-256 checksum
How to use checksums
808d0ac6b0c198d37205b9d9e967546a5031bfac81e536ead7ea90ed39d700dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 22, 2026.

Transparency log

Security for docforge-mcp 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for docforge_mcp-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page