Skip to main content
Glama

Word MCP

A Model Context Protocol (MCP) server for generating Microsoft Word documents (.docx) programmatically. Unlike typical MCP servers that act as gateways to APIs, this server acts as a Factory, converting AI-generated text and data into professional, downloadable files.

Features

Document Generation

  • generate_report: Create complete Word documents in one shot

  • Markdown Support: Automatically converts basic Markdown (bold, lists) into Word formatting

  • Rich Elements: Supports:

    • Headers (Levels 1-3)

    • Data Tables with custom headers

    • Text Paragraphs

    • File metadata (Titles, Authors)

Architecture

  • Local File Output: Saves files directly to your host machine

  • Dockerized Factory: Runs securely in a container with volume mapping

  • Stateless Operation: No complex databases required

Related MCP server: Word MCP Server

Simple Setup

1. Local Development

  1. Install dependencies:

    npm install
  2. Create a .env file (Optional, defaults to ./output):

    OUTPUT_DIR=./generated_reports
  3. Build and start:

    npm run build
    npm start

2. Docker Usage

Critical Note: Because this server creates files, you must mount a volume to see the output.

  1. Build the image:

    docker build -t word-mcp .
  2. Run with Volume Mapping:

    docker run --rm -i \
      -v $(pwd)/generated_reports:/app/output \
      word-mcp

MCP Client Integration

Configuration for Claude Desktop

To allow the AI to save files to your Windows "Documents" folder, you must map the volume in the configuration.

  1. Open your config file:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  2. Add this configuration:

    {
      "mcpServers": {
        "word-mcp": {
          "command": "docker",
          "args": [
            "run",
            "--rm",
            "-i",
            "-v", "C:\\Users\\hp\\Documents\\mcp\\word-mcp\\generated_reports:/app/output",
            "word-mcp"
          ]
        }
      }
    }

    Note: Update the path C:\\Users\\hp... to match your actual project location.

Using with Docker Compose

If you prefer docker-compose, use the included configuration:

# docker-compose.yml
services:
  word-mcp:
    build: .
    volumes:
      - ./generated_reports:/app/output

Usage Examples

Generate a Project Audit

The AI can call the tool with structured data to create a formatted report.

{
  "filename": "Audit_Report_2024",
  "title": "Q4 Security Audit",
  "sections": [
    {
      "heading": "Executive Summary",
      "content": "The audit was completed on **January 20th**. No critical vulnerabilities were found."
    },
    {
      "heading": "Vulnerability Matrix",
      "table": {
        "headers": ["Severity", "Count", "Status"],
        "rows": [
          ["High", "0", "Pass"],
          ["Medium", "2", "Investigating"]
        ]
      }
    }
  ]
}

Troubleshooting

"I can't find the generated file"

  • Check Volume Mapping: Ensure your claude_desktop_config.json has the -v flag pointing to a valid folder on your host machine.

  • Docker Permissions: The container runs as a non-root user (appuser). Ensure your host folder allows writing (usually automatic on Windows, but requires chmod on Linux).

"Error: Output directory does not exist"

The server attempts to create the directory on startup. If using Docker, ensure the internal path /app/output is correctly mapped.

"Formatting looks wrong"

Currently, the Markdown parser supports bold (**text**) and basic paragraph splitting. Complex Markdown (like code blocks or nested lists) will be rendered as plain text in this version.

Development

Run in development mode:

npm run dev

Watch for changes:

npm run watch

Available Tools

1 tool
generate_reportC

Generates a complete Word document based on a structured content payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesFilename for the generated report (e.g. 'audit_report')
titleYesTitle of the document
sectionsYesList of sections to include in the report

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the tool 'Generates a complete Word document' which implies a write/create operation, but doesn't disclose behavioral traits like file storage location, permissions needed, whether it overwrites existing files, or error handling. For a document generation tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function. It's front-loaded with the core action and contains no unnecessary words or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a document generation tool with no annotations, no output schema, and 3 required parameters, the description is incomplete. It doesn't explain what 'complete' means, where the document is saved, what format it returns, or any error conditions. The 100% schema coverage helps with parameters, but overall context is lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 3 parameters. The description adds no additional parameter semantics beyond what's in the schema. According to scoring rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generates a complete Word document based on a structured content payload.' It specifies the verb ('Generates'), resource ('Word document'), and input type ('structured content payload'). However, without sibling tools to differentiate from, it cannot achieve a perfect 5 for sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, constraints, or typical use cases. With no sibling tools listed, there's no explicit comparison, but it still lacks basic usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedgenerate_report

TDQS

B3.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to compare it against. The tool's purpose is clearly defined and distinct by default.

Naming Consistency5/5

Since there is only a single tool, naming consistency is inherently perfect—there are no other tool names to be inconsistent with. The tool name 'generate_report' follows a clear verb_noun pattern.

Tool Count2/5

A single tool is too few for a server named 'Word MCP', which implies broader document manipulation capabilities beyond just report generation. This minimal toolset feels thin and under-scoped for the apparent domain.

Completeness2/5

The tool surface is severely incomplete for a Word document server; it only covers report generation, missing essential operations like document editing, formatting, saving, or loading. This will likely cause agent failures when broader document tasks are needed.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/MokhtarLahjaily/word-mcp'

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