Skip to main content
Glama
mideliberto

docgen-mcp

by mideliberto

docgen-mcp

MCP server for generating professional documents—Word (.docx) and Google Docs—with structured formatting.

Features

  • Word document generation from templates (brief, memo, proposal, etc.)

  • Google Docs generation via structured JSON sections

  • Rich text formatting: bold, italic, underline, colors, links, code

  • Document elements: headings, paragraphs, lists, tables, callouts, code blocks

  • Image support: public URLs or local file upload via Drive

  • Headers/footers with alignment options

  • Nested lists with multiple numbering styles

  • Table cell styling: per-cell backgrounds, bold, and alignment

  • Two contexts: TMA (consulting) or PWP (internal)

Related MCP server: doc-mcp-server

Prerequisites

  • Node.js 18+

  • For Google Docs: Google Cloud project with Docs and Drive APIs enabled

  • OAuth 2.0 credentials (shares tokens with gmail-mcp)

Installation

git clone https://github.com/mideliberto/docgen-mcp.git
cd docgen-mcp
npm install
npm run build

Configuration

Environment Variables (for Google Docs)

GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-your-secret
TOKEN_ENCRYPTION_KEY=your-32-byte-base64-key
TOKEN_STORAGE_PATH=~/gmail_mcp_tokens/tokens.json

Claude Desktop Config

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "docgen": {
      "command": "node",
      "args": ["/path/to/docgen-mcp/dist/index.js"],
      "env": {
        "GOOGLE_CLIENT_ID": "...",
        "GOOGLE_CLIENT_SECRET": "...",
        "TOKEN_ENCRYPTION_KEY": "...",
        "TOKEN_STORAGE_PATH": "~/gmail_mcp_tokens/tokens.json"
      }
    }
  }
}

Quick Start

Google Docs (create_google_doc)

{
  "title": "My Document",
  "config": "pwp",
  "sections": [
    { "type": "heading", "level": 1, "text": "Introduction" },
    { "type": "paragraph", "content": "Hello, world!" },
    { "type": "bullet_list", "items": ["First item", "Second item"] }
  ]
}

Returns: { "id": "...", "webViewLink": "https://docs.google.com/..." }

Word Documents (generate_document)

{
  "doc_type": "brief",
  "context": "tma",
  "title": "Cloud Migration Strategy",
  "content": {
    "executive_summary": "Migrate to Azure over 6 months.",
    "recommendation": "Proceed with phased migration.",
    "next_steps": ["Inventory systems", "Select pilot workloads"]
  }
}

Returns: Path to generated .docx file

Tools

Tool

Description

create_google_doc

Create Google Doc from structured sections

generate_document

Create Word doc from template

get_section_schema

Get schema for Google Docs sections

list_document_types

List Word doc types

get_template_schema

Get schema for Word doc type

Documentation

  • USAGE.md - Complete API reference for create_google_doc

  • Word doc schemas - See below for generate_document content schemas

Word Document Types

Type

Description

brief

Executive brief with recommendation

memo

Internal memorandum

proposal

Project proposal with scope/timeline

meeting_notes

Meeting summary

project_summary

Status report

assessment

IT assessment with findings

risk_register

Risk tracking table

runbook

Operational procedures

Known Limitations

  • No page numbers in Google Docs: REST API doesn't support AutoText

  • No bookmarks: REST API lacks createBookmark

  • Local images: Uploaded to Drive automatically, requires public sharing

See docs/api-quirks.md for Google Docs API limitations.

Development

npm run dev    # Watch mode
npm run build  # Production build
npm start      # Run server

License

MIT

A
license - permissive license
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mideliberto/docgen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server