Token导航 LogoToken导航TokenDH.com
presentation MCP logo
设计创作stdio官方级别未说明来源级核验

presentation MCP

MCP Server

Presentation Builder 是一个模块化系统,用于从结构化JSON配置自动生成PowerPoint演示文稿,适用于教师、内容创作者、企业和开发人员。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude设计Claude DesktopClaude

安装说明

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

作者 / 组织

VladimirMonin

提供方

VladimirMonin

最后核验

2026/5/17 20:22

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

演示文稿生成器

从JSON配置自动创建PowerPoint演示文稿

![Python 3.7+](https://www.python.org/downloads/) ![Tests](tests/) ![Code style](doc/plan/refactor_plan.md)

______________________________________________________________________

🎯 概述

演示文稿生成器 -它是一个模块化系统,用于从结构化JSON配置自动生成PowerPoint演示文稿。

主要任务

消除复制粘贴的手动工作:

  • ✅ 标题和幻灯片编号
  • ✅ Markdown文件中的演讲者笔记
  • ✅ 自动缩放图像(WebP→PNG,GIF)
  • 自动播放音频 (声音,音乐)
  • ✅ 统一的企业风格

为了

  • 教师 -快速构建教学演示文稿
  • 内容创作者 -视频演示自动化
  • Бизнес -生成报告和分析
  • 开发者 -集成到CI/CD管道

______________________________________________________________________

📖 目录

______________________________________________________________________

🚀 快速入门

1.安装

pip install -r requirements.txt

2.创建配置

config.json:

{
  "template_path": "template.pptx",
  "layout_name": "VideoLayout",
  "output_path": "output.pptx",
  "slides": [
    {
      "layout_type": "single_wide",
      "title": "Слайд 1",
      "notes_source": "notes.md",
      "images": ["photo.jpg"]
    }
  ]
}

3.生成演示文稿

python main.py generate config.json

准备好了!结果 output.pptx 🎉

______________________________________________________________________

📋 CLI命令

# Генерация презентации
python main.py generate slides.json
python main.py generate slides.json --output result.pptx
python main.py generate slides.json --verbose  # DEBUG режим

# Анализ шаблона PPTX
python main.py analyze template.pptx
python main.py analyze template.pptx --layout "LayoutName"
python main.py analyze template.pptx --list

# Справка
python main.py help

______________________________________________________________________

📊 记录

该系统包括调试和监控的复杂日志:

三流

  1. 控制台 -info(或debug) --verbose)

- 用户净输出 - 在Windows中,emoji被替换为 ? (CP1251编码)

  1. logs/app.log 完整的Debug历史

- 所有细节:文件路径,大小,EMU坐标 - emoji保存正确(UTF-8) - 旋转:5MB×3个备份

  1. logs/error.log 只有错误错误+

- 快速分析的关键问题 - 旋转:5MB×3个备份

使用示例

# Обычный режим (INFO в консоли)
python main.py generate config.json

# DEBUG режим (детальный вывод)
python main.py generate config.json --verbose

# Просмотр логов (Linux/Mac)
cat logs/app.log | tail -100   # Последние 100 строк
grep "ERROR" logs/app.log      # Только ошибки

# Просмотр логов (Windows PowerShell)
Get-Content logs\app.log -Encoding UTF8 -Tail 100
Select-String "ERROR" logs\app.log

详情

______________________________________________________________________

🎨 布局(Layouts)

系统支持 6个内置布局 用于放置图像:

图片布局描述 |-------|-------------|----------| | single_wide 1.一个大图像(16:9) | single_tall 1.一幅高画幅(9:16) | two_stack 2、两张垂直的图片 | two_tall_row 2、有两张高画像。 | three_stack 三个垂直的图像。 | title_youtube ←YouTube标题幻灯片(正方形徽标+标题/字幕/系列编号)→

模型文件

每个模型都有详细的文档:

使用布局的示例

所有布局都有工作示例 doc/samples/:

  • slides_config.json - 演示 single_wide, single_tall, two_stack, two_tall_row
  • test_three_stack.json -模型示例 three_stack
  • youtube_title_example.json -例子 title_youtube YouTube视频
  • audio_example.json -字幕+音频内容
  • mixed_layouts_example.json -一个演示文稿中的多个布局

______________________________________________________________________

🧪 测试

项目使用 pytest 用于代码覆盖测试。

运行测试

# Все тесты
pytest tests/

# С подробным выводом
pytest tests/ -v

# С покрытием кода
pytest tests/ --cov=models --cov=core --cov=io_handlers --cov-report=term-missing

测试结构

tests/
├── __init__.py
├── conftest.py                 # Фикстуры (временные файлы, моки)
├── test_models.py              # Тесты моделей (SlideConfig, layouts)
├── test_io_handlers.py         # Тесты загрузки файлов
├── test_bytesio_integration.py # Интеграционные тесты
└── test_data/                  # Тестовые данные
    ├── task.md                 # Markdown заметки
    ├── test_slides_config.json # Конфигурация для интеграционных тестов
    └── images/                 # Тестовые изображения (cover.webp, test_gif.gif, test_audio.mp3)

测试数据

  • tests/test_data/test_slides_config.json -集成测试的完整配置
  • tests/test_data/task.md –Markdown笔记示例(自动格式化清理)
  • tests/test_data/images/ -测试文件(WebP、GIF和动画、MP3音频)

______________________________________________________________________

📚 文件

主要手册

技术文档(开发人员)

完整索引: doc/technical/README.md

MCP(模型上下文协议)

AI代理工具:

  • generate_presentation() -生成演示文稿(支持GIF动画!)
  • get_layout_documentation() -获取模型文件
  • analyze_template() PowerPoint模板分析

见E/CN.4/Sub.2/2000/SR.1。 doc/MCP_USAGE.md 举例来说。

______________________________________________________________________

🔧 开发

项目结构

presentation_mcp/
├── main.py                  # CLI точка входа
├── mcp_server.py            # MCP сервер для AI-агентов
├── cli/                     # CLI команды (generate, analyze)
├── config/                  # Настройки и регистрация макетов
├── core/                    # Бизнес-логика (builder, markdown_cleaner, image_processor)
├── io_handlers/             # Загрузка файлов (config, paths, resources)
├── models/                  # Модели данных (SlideConfig, LayoutRegistry)
├── tests/                   # Тесты (pytest) с тестовыми данными
├── doc/                     # Документация
│   ├── layouts/             # Документация макетов (6 файлов .md)
│   └── samples/             # Примеры конфигураций (5 файлов .json)
├── logs/                    # Логи (app.log, error.log)
└── templates/               # PowerPoint шаблоны

建筑原则

  • SRP(单一责任原则) 每个模块都有一个责任
  • 依赖注入 整个配置通过JSON
  • 清洁代码 说出名字,最少评论
  • 功能核心 数据转换的纯功能

______________________________________________________________________

📦 依赖

基本(Production)

python-pptx==0.6.23     # Работа с PowerPoint
Pillow==10.4.0          # Обработка изображений (WEBP, GIF, JPEG, PNG)
pydantic==2.9.2         # Валидация конфигураций
fastmcp==0.5.2          # Model Context Protocol сервер

开发(Dev)

pytest==8.3.4           # Тестирование
pytest-cov==6.0.0       # Покрытие кода

安装

pip install -r requirements.txt

______________________________________________________________________

🎓 项目历史

该项目旨在自动化视频演示的创建过程:

  1. v1.0 -从JSON生成幻灯片的基本CLI
  2. v2.0 添加了模板(single_wide, two_stack, three_stack)
  3. v3.0 人工智能代理MCP集成(Claude Desktop)
  4. v4.0 -音频支持(幻灯片配音)
  5. v4.1 -模型 title_youtube YouTube视频
  6. v4.2 综合登录系统(Debug+Rotation)

______________________________________________________________________

🤝 参与项目

项目开放供投资!如何帮助:

  1. 报告错误 -创建一个描述问题的问题
  2. 提出模型 -将新的布局添加到 config/settings.py
  3. 写测试 -代码覆盖可以改进
  4. 改进文档 -将示例添加到 doc/

______________________________________________________________________

📄 许可证

MIT许可证-在您的项目中免费使用。

______________________________________________________________________

💡 有用的链接

  • 文档:

- 全面领导 - 创建模板 - MCP集成 - 记录

  • 实例:

- doc/samples/ -工作配置 - tests/test_data/ -测试数据

  • 布局:

- doc/layouts/ -所有6个模型的文档

______________________________________________________________________

🎯 路线图

✅ 版本2.0(当前)

  • ✅ 构图架构(ImagePlacer,MediaPlacer)
  • ✅ 通过OXML自动启动音频
  • ✅ WebP自动转换
  • ✅ GIF支持(包括动画)
  • ✅ 技术文件(doc/technical/)

🔮 计划

  • \[\]支持视频插入(MP4、MKV)
  • \[\]从GPT/Claude自动生成笔记
  • \[\]用于创建配置的Web界面
  • \[\]导出为PDF
  • \[X\]旋转日志(v4.2)✅
  • \[X\]模型文档(v4.2)✅
  • \[X\]布局 title_youtube (v4.1)✅

______________________________________________________________________

由以下材料制成❤️ 面向自动化爱好者

目录标签

目录标签

PythonClaude设计自动化办公本地部署PPT生成JSON配置内容创作企业报告

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP