ppt-word-gen
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ppt-word-genGenerate a Word simulation report based on the built-in template"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ppt-word-mcp
AI-driven editable PPTX and standardized Word simulation test report generation service
A single lightweight service provides MCP (Model Context Protocol) Server, REST API, and Web Demo on the same port.
🚀 MCP (Model Context Protocol) Service
ppt-word-gen natively implements the standard MCP protocol (supporting both Streamable HTTP and STDIO transport channels), empowering various Agent clients (such as Claude Code, Claude Desktop, Cursor, Cline, OpenWebUI, etc.) to autonomously complete document format extraction, user confirmation, asynchronous queued generation, semantic multi-round revision, and secure file download.
1. Client Integration Configuration (.mcp.json)
The project root already includes .mcp.json. Agent tools can automatically discover and load the service when opening this directory.
Method A: HTTP Transport Mode (recommended, suitable for container deployment / LAN services / local services)
Create or edit .mcp.json in the project root:
{
"mcpServers": {
"ppt-word-gen": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp"
}
}
}If the service has Bearer Token authentication enabled (configured with PPT_WORD_GEN_TOKEN), you can add request headers:
{
"mcpServers": {
"ppt-word-gen": {
"type": "http",
"url": "http://YOUR_SERVER_IP:8000/mcp",
"headers": {
"Authorization": "Bearer ${PPT_WORD_GEN_TOKEN}"
}
}
}
}Register with one command using the Claude Code CLI:
# 项目级注册(写入当前目录 .mcp.json)
claude mcp add --transport http --scope project ppt-word-gen http://127.0.0.1:8000/mcp
# 用户全局注册
claude mcp add --transport http --scope user ppt-word-gen http://127.0.0.1:8000/mcpMethod B: STDIO Transport Mode (invoke directly on the local machine without starting an HTTP port)
In the client configuration, start directly via a Python process:
{
"mcpServers": {
"ppt-word-gen": {
"command": "python",
"args": ["-m", "ppt_word_gen.mcp_stdio"]
}
}
}2. MCP Core Collaborative Workflow
[用户输入 / 来源资料 / 模板]
│
▼
[可选:upload_file / create_upload_ticket 暂存来源文件与 Word 模板]
│
▼
[preview_word_report_format 提取模板默认格式(字体、字号、行距、多级标题、编号规范)]
│
▼
[向用户展示预览并获取确认 ➔ 获得绑定格式哈希的 confirmation_token]
│
▼
[generate_presentation / generate_word_report 发起异步生成任务]
│
▼
[wait_generation_task / get_generation_task 轮询进度状态]
│
▼
[get_artifact 获取 24 小时有效的安全签名 ResourceLink 下载链接]
│
▼
[可选:revise_presentation / revise_word_report 进行多轮语义增量修订]3. Complete MCP Tool Set (15 Tools)
Tool Name | Description | Key Parameters |
| List document types that can be generated, supported formats, and binary upload conventions | None |
| Extract the template default format (or built-in template) and apply modifications; return format information and |
|
| Create an editable PPTX asynchronous generation task |
|
| Submit a Word report task (must include |
|
| Query the stage, percentage progress, errors, and artifact status of a PPT or Word async task |
|
| Wait up to 55 seconds; returns immediately when the task completes, or returns the latest status on timeout |
|
| Request cancellation of an async generation task that has not yet finished |
|
| After task completion, obtain a 24-hour secure signed download direct link with a standard ResourceLink |
|
| Base64 inline upload for small files (no more than 5MB) |
|
| Create a one-time PUT upload address for large files (avoid large content occupying Agent context) |
|
| List built-in and enterprise-customized PPT/Word business specification templates | None |
| Register enterprise business content and style specification templates |
|
| Delete custom business templates (built-in templates are protected and cannot be deleted) |
|
| Use an existing PPTX as context and generate a new version according to natural language instructions |
|
| After user confirmation of the format, use an existing DOCX as the base to incrementally generate a new version |
|
4. MCP Rules and Asset Resources (4 Resources)
Agents can directly read specification guides and design constraints:
ppt-word://rules/workflow: Complete MCP interaction and format confirmation specificationppt-word://rules/presentation: PPT Master design and layout specificationppt-word://rules/word-report: Simulation and engineering Word report layout standardsppt-word://templates/catalog: Business template catalog and specification quick reference
Related MCP server: docforge-mcp
📁 Project Structure
ppt-word-gen/
├── ppt_word_gen/ # Python 核心业务包
│ ├── app.py # FastAPI 入口(Demo、REST API、MCP Streamable HTTP)
│ ├── mcp_server.py # MCP Server 实现(15 工具、4 资源、双向协议)
│ ├── mcp_stdio.py # MCP STDIO 运行入口
│ ├── tasks.py # PPT 异步任务队列与状态机
│ ├── report_tasks.py # Word 异步任务队列与状态机
│ ├── report_agent.py # Word 报告生成 Agent
│ ├── report_documents.py # Word 文档排版、格式继承与 GBK 修复引擎
│ ├── word_format.py # Word 格式解析、修改与防篡改 Token 校验
│ ├── signed_tokens.py # HMAC-SHA256 签名下载与上传票据
│ ├── pptmaster.py # PPT Master 脚本适配与执行
│ ├── upload_store.py # 临时文件上传与生命周期管理
│ ├── task_store.py # SQLite 持久化任务存储
│ └── config.py # 全局配置读取
├── assets/word_templates/ # 内置 Word 模板(CID629 电驱系统联合仿真 v1.5)
├── skills/ai-simulation-report/# 仿真报告标准契约与校验规则
├── static/ # 前端 Web Demo 页面
├── tests/ # 41 项单元测试与集成测试
├── Dockerfile # 容器构建文件(支持联网/离线两种模式)
├── docker-compose.yml # 生产/测试容器编排配置
├── build-overlay.ps1 # 企业级解密与离线 wheel 构建脚本
├── requirements.txt # 依赖清单
├── .env.example # 环境变量参考模板
└── .mcp.json # MCP 配置文件💻 Local Quick Start
1. Install Dependencies and Run Tests
# 安装依赖
python -m pip install -r requirements.txt
# 运行全套 41 项自动化测试
python -m unittest discover -s tests -v2. Start the Service
# 启动 HTTP + MCP 服务(默认监听 0.0.0.0:8000)
python -m ppt_word_genWeb Demo page:
http://127.0.0.1:8000/demoOpenAPI interactive documentation:
http://127.0.0.1:8000/docsMCP HTTP endpoint:
http://127.0.0.1:8000/mcpHealth check:
http://127.0.0.1:8000/health
🐳 Docker / WSL Containerized Deployment
1. Standard Deployment
In an Ubuntu / WSL terminal:
cd /path/to/ppt-word-gen
cp .env.example .env.compose
# 按需修改 .env.compose(接入真实模型时设置 MOCK_LLM=0 并填写 API Key)
sudo service docker start
docker compose --env-file .env.compose up -d --build --wait2. Enterprise Offline Wheel Build
In environments with enterprise data leak prevention (DLP) or intranet isolation, execute in Windows PowerShell:
pwsh ./build-overlay.ps1This script will automatically copy files securely via file stream and invoke OFFLINE_INSTALL=1 to perform a local offline Wheel build.
3. Service Status Check and Stop
# 查看容器状态与健康指标
docker compose ps
curl http://127.0.0.1:8000/health
# 停止容器(数据保留在 ppt-word-gen-data 卷中)
docker compose stop⚙️ Environment Variable Reference
Copy .env.example to .env or .env.compose:
Variable Name | Default Value | Description |
|
| OpenAI-compatible API Base URL |
| None | Large language model API Key |
|
| Default creation model name |
|
|
|
| empty | Bearer Token authentication; leave empty for no authentication |
|
| Base URL for artifact downloads and large file uploads (set to the server's intranet IP for LAN calls) |
| empty (auto-generated) | HMAC signing secret for generating 24-hour temporary download credentials |
|
| Maximum concurrent PPT processing tasks |
|
| Maximum concurrent Word processing tasks |
|
| MCP Base64 inline upload limit (MB) |
|
| REST / large file Ticket upload limit (MB) |
🔌 Core REST API
Request Method | Path | Description |
|
| Service health check (includes SQLite storage and task queue status) |
|
| Built-in Web demo page |
|
| Get built-in Word template default format and confirmation Token |
|
| Extract custom template format, apply modifications, and generate a confirmation Token |
|
| Submit Word simulation/technical report generation task |
|
| Query Word report task progress and details |
|
| Download the generated DOCX report |
|
| Submit PPT presentation generation task |
|
| Query PPT task progress and details |
|
| Download the generated PPTX file |
|
| Temporarily store binary source files or templates |
|
| One-time large file direct upload interface |
|
| 24-hour HMAC signed secure download interface |
|
| MCP Streamable HTTP protocol endpoint |
📄 Open Source License
This project follows the MIT License.
This server cannot be installed
Maintenance
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
AI document editing for agents: draft, edit, export .docx/PDF. 37 MCP tools; agent self-signup.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
AI presentation and report generation: slides, diagrams, PPTX export, live preview MCP App.
Finished, on-brand .pptx and .docx from a brief - quality-gated by an agentic consulting team.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables creation and editing of Word, Excel, and PowerPoint documents within MCP clients through AI assistants.MIT
- AlicenseBqualityDmaintenanceEnables complete Office document lifecycle management for AI agents, including creation, editing, conversion, and templating of DOCX, XLSX, PPTX, PDF, and EML files.40MIT
- AlicenseAqualityCmaintenanceEnables AI agents to generate real Office documents (.pptx, .docx, .xlsx) and source code from natural language via MCP protocol.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables creation of professional PowerPoint presentations with AI-generated content and images, supporting multiple LLMs and image services via MCP protocol.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/muli4561/ppt-word-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server