Token导航 LogoToken导航TokenDH.com
MCP Pptx Presentations Creator logo
AI代理未说明官方级别未说明来源级核验

MCP Pptx Presentations Creator

MCP Server

通过AI助手一键生成专业Office文档(PowerPoint、Word、Excel、电子邮件和XML)的MCP协议服务。

工具数

5

提示词数

0

GitHub Stars

25

资源数

0
PythonClaudeAI代理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ForLegalAI

提供方

ForLegalAI

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

📄 MCP办公文档服务器

让你的人工智能助手通过一个提示创建专业的Office文档——PowerPoint、Word、Excel、电子邮件和XML。

](https://hub.docker.com/) ![MCP](https://modelcontextprotocol.io/) ![License](<>)

______________________________________________________________________

📋 目录

______________________________________________________________________

💡 这是什么?

这是一个 MCP(模型上下文协议)服务器 它在Docker中运行,使AI助手(如Claude、Cursor或任何兼容MCP的客户端)能够按需生成真正的Office文件。

只需让你的AI _“创建销售演示文稿”_ 或 _“起草欢迎电子邮件”_ --它将为您生成一个即用型文件。

无需编码。 安装、连接并开始创建。

______________________________________________________________________

✨ 一览特性

文档类型工具亮点
📊 幻灯片create_powerpoint_presentation标题、章节和内容幻灯片·4:3或16:9格式·自定义模板
📝 create_word_from_markdown用Markdown写,得到一个 .docx ·标题、列表、表格、链接、格式
📈 Excelcreate_excel_from_markdownMarkdown表格→ .xlsx ·支持公式和单元格引用
📧 电子邮件create_email_draftHTML电子邮件草稿(.eml)·主题、收件人、优先级、语言
🗂️ 可扩展标记语言create_xml_file格式良好的XML文件·如果缺少,则自动验证并添加XML声明

所有工具都接受可选 file_name 参数。提供后,输出文件将使用该名称(不带扩展名),而不是随机生成的标识符。

额外奖励——动态模板:

  • 📧 可重复使用的电子邮件模板 --在YAML中定义参数化的电子邮件布局。每个都成为自己的工具,带有键入的参数(例如。, first_name, promo_code).
  • 📝 可重用的Word模板 --创建 .docx 文件与 {{placeholders}}每个模板都成为一个AI工具。占位符支持完整的Markdown。

输出选项:

  • 本地 --保存到的文件 output/ 文件夹
  • --上传到S3、谷歌云存储、Azure Blob或MinIO,并获得限时下载链接

______________________________________________________________________

🚀 快速开始

起床跑步 3个步骤:

1.下载撰写文件

curl -L -o docker-compose.yml https://raw.githubusercontent.com/dvejsada/mcp-ms-office-docs/main/docker-compose.yml
已经克隆了仓库?跳过此步骤-- docker-compose.yml 已经在那里了。

2.设置您的环境

cp .env.example .env

默认设置即用即用——文件将保存在本地 output/.

3.启动服务器

docker-compose up -d

完成! 您的MCP端点已准备就绪: http://localhost:8958/mcp

______________________________________________________________________

⚙️ 配置

服务器是通过您的环境变量配置的 .env 文件。

基本设置

变量描述默认值
DEBUG启用调试日志记录(1, true, yes)_关_
API_KEY使用API密钥保护服务器(请参阅下面的身份验证)_(残疾)_
UPLOAD_STRATEGY保存文件的位置: LOCAL, S3, GCS, AZURE, MINIOLOCAL
SIGNED_URL_EXPIRES_IN云下载链接的有效期(秒)3600

🔐 Authentication

API_KEY 在你的 .env 要求为所有请求提供API密钥:

API_KEY=your-secret-key

客户端可以在以下任何标头中发送密钥:

标题格式
AuthorizationBearer your-secret-key
Authorizationyour-secret-key
x-api-keyyour-secret-key

离开 API_KEY 空或未设置,允许所有请求无需身份验证。

☁️ AWS S3 Storage

UPLOAD_STRATEGY=S3 并提供:

变量描述必填
S3_BUCKETS3存储桶名称✅ 总是
AWS_ACCESS_KEYAWS访问密钥ID⚠️ 见下文
AWS_SECRET_ACCESS_KEYAWS秘密访问密钥⚠️ 见下文
AWS_REGIONAWS区域(例如。, us-east-1)⚠️ 见下文

凭证模式:

  • 显式凭据 --设置所有三个 AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY,以及 AWS_REGION。建议用于简单设置。
  • AWS默认凭证链 --不设置凭据变量,boto3将自动从标准链中发现凭据:

- AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY 环境变量 - 共享凭据/配置文件(~/.aws/credentials) - AWS SSO会话(aws sso login)——有利于地方发展 - IRSA(服务帐户的IAM角色) --用于AWS EKS部署 - ECS容器凭据/EC2实例元数据(IMDSv2)

仅在此模式下 S3_BUCKET 是必需的;区域会自动解析。

☁️ Google Cloud Storage

UPLOAD_STRATEGY=GCS 并提供:

变量描述
GCS_BUCKETGCS存储桶名称
GCS_CREDENTIALS_PATH服务帐户JSON路径(默认值: /app/config/gcs-credentials.json)

通过以下方式装载凭据文件 docker-compose.yml 数量。

☁️ Azure Blob Storage

UPLOAD_STRATEGY=AZURE 并提供:

变量描述
AZURE_STORAGE_ACCOUNT_NAME存储帐户名称
AZURE_STORAGE_ACCOUNT_KEY存储帐户密钥
AZURE_CONTAINERBlob容器名称
AZURE_BLOB_ENDPOINT_(可选)_ 主权云的自定义端点

☁️ MinIO / S3-Compatible Storage

UPLOAD_STRATEGY=MINIO 并提供:

变量描述默认值
MINIO_ENDPOINTMinIO服务器URL(例如。, https://minio.example.com)_(必填)_
MINIO_ACCESS_KEY访问密钥_(必填)_
MINIO_SECRET_KEY密钥_(必填)_
MINIO_BUCKET存储桶名称_(必填)_
MINIO_REGION地区us-east-1
MINIO_VERIFY_SSL验证SSL证书true
MINIO_PATH_STYLE使用路径样式URL(建议用于MinIO)true

确保存储桶存在,并且您的凭据具有 PutObject/GetObject 权限。

______________________________________________________________________

🎨 自定义模板

您可以通过提供自己的模板来定制生成文档的外观。

静态模板

将文件放置在 custom_templates/ 文件夹:

文档文件名注释
PowerPoint 4:3custom_pptx_template_4_3.pptx
PowerPoint 16:9custom_pptx_template_16_9.pptx
Wordcustom_docx_template.docx
电子邮件包装器custom_email_template.html基于 default_templates/default_email_template.html

动态电子邮件模板

创建可重复使用的参数化电子邮件布局,您的AI可以自动填写。

📧 How to set up dynamic email templates

1. 创建 config/email_templates.yaml:

templates:
  - name: welcome_email
    description: Welcome email with optional promo code
    html_path: welcome_email.html  # must be in custom_templates/ or default_templates/
    annotations:
      title: Welcome Email
    args:
      - name: first_name
        type: string
        description: Recipient's first name
        required: true
      - name: promo_code
        type: string
        description: Optional promotional code (HTML formatted)
        required: false

2. 在中创建HTML文件 custom_templates/welcome_email.html:


  
Welcome {{first_name}}!

  
We're excited to have you on board.

  {{{promo_code_block}}}
  
Regards,
Support Team

它是如何工作的:

  • 每个模板在启动时都会成为一个单独的AI工具
  • 自动添加标准电子邮件字段(主题、收件人、抄送、密件抄送、优先级、语言)
  • 使用 {{variable}} 对于转义文本, {{{variable}}} 用于原始HTML

动态Word(DOCX)模板

使用创建可重复使用的Word文档 {{placeholders}} 支持完整的Markdown格式。

📝 How to set up dynamic DOCX templates

1. 创建 config/docx_templates.yaml:

templates:
  - name: formal_letter
    description: Generate a formal business letter
    docx_path: letter_template.docx  # must be in custom_templates/ or default_templates/
    annotations:
      title: Formal Letter Generator
    args:
      - name: recipient_name
        type: string
        description: Full name of the recipient
        required: true
      - name: recipient_address
        type: string
        description: Recipient's address
        required: true
      - name: subject
        type: string
        description: Letter subject
        required: true
      - name: body
        type: string
        description: Main body of the letter (supports markdown)
        required: true
      - name: sender_name
        type: string
        description: Sender's name
        required: true
      - name: date
        type: string
        description: Letter date
        required: false
        default: ""

2. 使用占位符创建Word文档并另存为 custom_templates/letter_template.docx:

{{date}}

{{recipient_name}}
{{recipient_address}}

Subject: {{subject}}

{{body}}

{{sender_name}}

它是如何工作的:

  • 每个模板在启动时都会成为一个单独的AI工具
  • 占位符可以位于文档正文、表格、页眉和页脚中
  • 占位符值支持完整的Markdown(粗体、斜体、列表、标题……)
  • 保留占位符位置的原始字体

🎯 Word style requirements for custom templates

为了正确格式化,请确保这些样式存在于您的 .docx 模板:

类别样式
标题标题1-标题6
项目符号列表列表项目符号、列表项目符号2、列表项目字符3
编号列表列表编号、列表编号2、列表编号3
其他普通、报价、表格网格
提示: 在模板中自定义这些样式(字体、大小、颜色、间距)——服务器将使用您的样式。

______________________________________________________________________

🔌 连接您的AI客户端

将您的MCP兼容客户端指向服务器端点:

http://localhost:8958/mcp

热门客户示例:

Claude Desktop

添加到您的Claude Desktop MCP配置中:

{
  "mcpServers": {
    "office-documents": {
      "url": "http://localhost:8958/mcp"
    }
  }
}

LibreChat

将服务器添加到您的 librechat.yaml 配置下 mcpServers:

mcpServers:
  office-documents:
    type: streamableHttp
    url: http://mcp-office-docs:8958/mcp
注: 如果LibreChat和此服务器在同一个Docker网络中运行,请使用容器名称(mcp-office-docs)作为主机名。如果它们单独运行,请使用 http://localhost:8958/mcp 相反。

要将这两个服务放置在同一网络上,请在您的 docker-compose.yml:

services:
  mcp-office-docs:
    # ...existing config...
    networks:
      - shared

  librechat:
    # ...existing config...
    networks:
      - shared

networks:
  shared:
    driver: bridge

Cursor / Other MCP Clients

使用SSE/流式HTTP传输,并将端点URL设置为:

http://localhost:8958/mcp

如果启用了身份验证,请根据客户端的要求添加API密钥头。

______________________________________________________________________

🤝 贡献

欢迎投稿!如果你想帮助改进这个项目:

  1. 分叉 存储库
  2. 创建分支 针对您的功能或修复(git checkout -b my-feature)
  3. 承诺 您的更改(git commit -m "Add my feature")
  4. 到您的分行(git push origin my-feature)
  5. 打开拉取请求

无论是错误报告、新功能想法、文档改进还是代码贡献,所有输入都会受到赞赏。请随意打开 问题 开始讨论。

目录标签

目录标签

PythonClaudeAI代理Office自动化本地部署AI文档生成MCP协议云端存储集成动态模板

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP