Skip to main content
Glama

PptMcp - MCP-сервер для Microsoft PowerPoint

Release Release Workflow NuGet MCP Server NuGet CLI License: MIT .NET Platform Built with Copilot

Автоматизируйте PowerPoint с помощью ИИ — сервер Model Context Protocol (MCP) для всесторонней автоматизации PowerPoint через разговорный ИИ.

PptMcp позволяет ИИ-ассистентам, таким как GitHub Copilot, Claude и ChatGPT, автоматизировать Microsoft PowerPoint с помощью команд на естественном языке. Он охватывает реальную работу с презентациями от начала до конца: создание слайдов, редактирование текста, размещение фигур и изображений, построение диаграмм и таблиц, применение тем, запуск VBA, экспорт в PDF или видео, а также безопасное управление живыми окнами PowerPoint через нативный COM API.

Происхождение и благодарность: Этот проект основан на оригинальной основе автоматизации MCP, созданной Stefan Broenner (sbroenne) в mcp-server-excel, и расширен здесь до полноценного инструментария, ориентированного на PowerPoint.

Релизы и пакеты: GitHub Releases | NuGet: PptMcp.McpServer | NuGet: PptMcp.CLI

Для многоэтапных рабочих процессов сборки / проверки / восстановления из исходного кода репозиторий также включает официальный оркестрационный клиент в src\PptMcp.Agent.

🛡️ 100% безопасно — использует нативный COM API PowerPoint — нулевой риск повреждения файлов. Использует официальный COM API PowerPoint, обеспечивая полную безопасность и совместимость.

💡 Интерактивная разработка — мгновенно видите результаты в PowerPoint. Добавляйте слайды, создавайте диаграммы, форматируйте текст и итерируйте. PowerPoint становится вашим рабочим пространством на базе ИИ.

Технические требования:

  • ⚠️ Только Windows — COM-интероп специфичен для Windows

  • ⚠️ Требуется PowerPoint — должна быть установлена Microsoft PowerPoint 2016 или новее

  • ⚠️ Десктопное окружение — управляет реальным процессом PowerPoint (не для серверной обработки)

🎯 Что вы можете делать

33 специализированных инструмента с 223 операциями:

  • 📁 Files (1 tool, 6 ops) — Открывать, закрывать, создавать, сохранять, перечислять, проверять презентации

  • 📄 Slides (1 tool, 15 ops) — Создавать, дублировать, перемещать, удалять, применять макеты, скрывать/показывать, миниатюры, клонировать с заменой

  • 🔷 Shapes (1 tool, 35 ops) — Добавлять, перемещать, изменять размер, заливка, градиент, линия, тень, свечение, отражение, прозрачность, 3D, поворот, порядок z, группировка, соединители, объединение, переворот, масштабирование

  • ✏️ Text (1 tool, 18 ops) — Получить/установить текст, поиск, замена, форматирование, интервалы, маркеры, регистр, символы, проверка альтернативного текста

  • 📋 Slide Tables (1 tool, 13 ops) — Создавать, читать/записывать ячейки и строки, добавлять/удалять строки и столбцы, объединять, форматировать, границы

  • 📊 Charts (1 tool, 10 ops) — Создавать, задавать данные, заголовок, тип, легенду, названия осей, таблицу данных

  • 🖼️ Images (1 tool, 4 ops) — Вставлять, обрезать, яркость/контраст, прозрачный цвет

  • 🎥 Media (1 tool, 4 ops) — Вставлять аудио/видео, информация о медиа, настройки воспроизведения

  • 🧩 SmartArt (1 tool, 6 ops) — Информация о диаграмме, добавление/удаление узлов, макет, стиль, изменение уровней

  • 🎨 Design/Themes (1 tool, 19 ops) — Темы, цветовые схемы, шрифты, архетипы, палитры, сетки макетов, профили стилей

  • 🖌️ Slide Background (1 tool, 5 ops) — Получить, сплошной цвет, градиент, изображение, сброс к мастеру

  • 🎭 Masters & Layouts (1 tool, 5 ops) — Перечислить мастеры и макеты, редактировать фигуры мастера, удалить неиспользуемые

  • 📌 Placeholders (1 tool, 3 ops) — Перечислить заполнители, установить текст, установить изображение

  • 📃 Headers & Footers (1 tool, 2 ops) — Получить/установить текст нижнего колонтитула, номера слайдов, дату

  • 📐 Page Setup (1 tool, 3 ops) — Размер слайда, ориентация, номер первого слайда

  • ↔️ Shape Alignment (1 tool, 2 ops) — Выравнивать и распределять фигуры на слайдах

  • 🎬 Animations (1 tool, 6 ops) — Перечислить, добавить, удалить, очистить, тайминг, изменить порядок

  • 🔀 Transitions (1 tool, 4 ops) — Получить, установить, удалить, скопировать на все слайды

  • 📺 Slideshow (1 tool, 5 ops) — Запустить, остановить, навигация, статус, настройка

  • 🎞️ Custom Shows (1 tool, 3 ops) — Создавать, перечислять, удалять пользовательские показы слайдов

  • 📂 Sections (1 tool, 4 ops) — Перечислить, добавить, переименовать, удалить разделы презентации

  • 📥 Slide Import (1 tool, 1 op) — Импортировать слайды из другого файла .pptx

  • 📝 Notes (1 tool, 5 ops) — Получить, установить, очистить, добавить, прочитать все заметки докладчика

  • 💬 Comments (1 tool, 4 ops) — Добавлять, перечислять, удалять, очищать комментарии к слайдам

  • 🔗 Hyperlinks (1 tool, 5 ops) — Добавлять, получать, перечислять, удалять, проверять гиперссылки

  • 🏷️ Tags (1 tool, 3 ops) — Пользовательские метаданные на слайдах и фигурах

  • 🗂️ Document Properties (1 tool, 4 ops) — Получить/установить встроенные и пользовательские свойства

  • ♿ Accessibility (1 tool, 3 ops) — Аудит, получить/установить порядок чтения

  • 🔤 Proofing (1 tool, 3 ops) — Проверка орфографии, получить/установить язык

  • 📤 Export (1 tool, 9 ops) — PDF, изображения слайдов, видео (MP4), печать, сохранить как, извлечение текста/изображений

  • 🖨️ Print Options (1 tool, 2 ops) — Получить/установить конфигурацию печати

  • ⚙️ VBA (1 tool, 5 ops) — Перечислить, просмотреть, импортировать, удалить, запустить макросы

  • 🪟 Window (1 tool, 7 ops) — Информация, свернуть, восстановить, развернуть, масштаб, режим просмотра

📚 Полный справочник функций → — Подробная документация по всем 223 операциям

Related MCP server: Office-PowerPoint-MCP

💬 Примеры запросов

Создание и сборка презентаций:

  • "Создайте новую презентацию PowerPoint под названием QuarterlyReport.pptx с титульным слайдом"

  • "Добавьте 5 слайдов с макетом 'Title and Content'"

  • "Вставьте изображение логотипа компании на первый слайд"

Контент и форматирование:

  • "Добавьте текстовое поле на слайд 2 с текстом 'Q1 Revenue Summary' жирным шрифтом Arial 24pt"

  • "Создайте таблицу на слайде 3 со столбцами для Region, Q1, Q2, Q3, Q4"

  • "Установите цвет заливки фигуры #0078D4 и добавьте границу 2pt"

Диаграммы и визуализация:

  • "Создайте столбчатую диаграмму на слайде 4, показывающую данные о квартальной выручке"

  • "Установите заголовок диаграммы 'Revenue by Quarter'"

  • "Добавьте анимацию входа для фигуры диаграммы"

Автоматизация:

  • "Экспортируйте презентацию в PDF"

  • "Запустите макрос FormatAllSlides"

  • "Покажите мне PowerPoint, пока вы работаете" — наблюдайте за изменениями в реальном времени

🪟 Режим агента — наблюдайте за работой ИИ в PowerPoint:

  • "Покажите мне PowerPoint рядом, пока вы создаете эту презентацию" — видимость в реальном времени

  • "Позвольте мне наблюдать, пока вы создаете слайды"

  • Строка состояния показывает живой прогресс: "PptMcp: Создание диаграммы на слайде 4..."

👥 Кому это подходит?

Идеально подходит для:

  • ✅ Докладчикам — автоматизация повторяющихся рабочих процессов PowerPoint

  • ✅ Разработчикам — создание решений для отчетности на основе PowerPoint

  • ✅ Бизнес-пользователям — управление сложными презентациями

  • ✅ Командам — поддержка шаблонов презентаций и макросов VBA

Не подходит для:

  • ❌ Серверная обработка (вместо этого используйте библиотеки, такие как Open XML SDK)

  • ❌ Пользователи Linux/macOS (требуется Windows + установка PowerPoint)

  • ❌ Пакетные операции с большим объемом (рассмотрите альтернативы без PowerPoint)

🚀 Быстрый старт

Платформа

Установка

Любой MCP-клиент

dotnet tool install --global PptMcp.McpServer

Подробности

📖 Руководство по установке

⚠️ Важно: Закройте все файлы PowerPoint перед использованием. Сервер требует эксклюзивного доступа к презентациям во время автоматизации.

🔧 CLI против MCP-сервера

Интерфейс

Лучше всего для

Почему

CLI (pptcli)

Кодинг-агенты (Copilot, Cursor, Windsurf)

Меньше токенов — один инструмент, без больших схем.

MCP Server

Разговорный ИИ (Claude Desktop, VS Code Chat)

Богатое обнаружение инструментов, постоянное соединение.

Ручная установка:

# Install MCP Server and CLI
dotnet tool install --global PptMcp.McpServer
dotnet tool install --global PptMcp.CLI

🤖 Опционально: официальный агентский клиент из исходного кода

Для более крупных задач по созданию презентаций этот репозиторий также поставляет официальный контроллер на стороне исходного кода: src\PptMcp.Agent.

Он намеренно не является третьей серверной поверхностью. Вместо этого он находится поверх MCP-сервера и выполняет один клиентский цикл:

  • планировать презентацию

  • выполнять через обычные последовательные вызовы инструментов MCP

  • проверять сгенерированную презентацию

  • исправлять неполный вывод при необходимости

Быстрый старт:

dotnet build src\PptMcp.McpServer\PptMcp.McpServer.csproj -c Release

Set-Location src\PptMcp.Agent
npm install
npm run check
npm test

node .\src\cli.mjs run `
  --task "Build a 5-slide executive deck on Q4 revenue performance and next actions." `
  --output "C:\Users\you\Documents\q4-revenue-deck.pptx"

Подробнее:

⚙️ Как это работает — COM-автоматизация и единая сервисная архитектура

PptMcp использует Windows COM-автоматизацию для управления реальным приложением PowerPoint (не только файлами .pptx).

Как MCP-сервер, так и CLI взаимодействуют с общим PptMcp Service, который управляет сеансами PowerPoint. Эта единая архитектура позволяет:

┌─────────────────────┐     ┌─────────────────────┐
│   MCP Server        │     │   CLI (pptcli)    │
│  (AI assistants)    │     │  (coding agents)    │
└─────────┬───────────┘     └─────────┬───────────┘
          │                           │
          └──────────┬────────────────┘
                     ▼
          ┌─────────────────────────┐
          │   PptMcp Service      │
          │  (shared session mgmt)  │
          └─────────┬───────────────┘
                    ▼
          ┌─────────────────────────┐
          │   PowerPoint COM API    │
          │  (PowerPoint.Application)│
          └─────────────────────────┘

Ключевые преимущества:

  • ✅ Общие сеансы — CLI и MCP-сервер могут обращаться к одним и тем же открытым презентациям

  • ✅ Единственный экземпляр PowerPoint — нет дублирующих процессов или блокировок файлов

  • ✅ Интерфейс системного трея — отслеживайте активные сеансы через значок PptMcp в трее

💡 Совет: наблюдайте за PowerPoint, пока ИИ работает По умолчанию PowerPoint работает скрытым для более быстрой автоматизации. Чтобы видеть изменения в реальном времени, просто попросите:

  • "Покажите мне PowerPoint, пока вы работаете"

  • "Позвольте мне наблюдать, что вы делаете"

  • "Откройте PowerPoint, чтобы я мог видеть изменения"

ИИ отобразит окно PowerPoint, чтобы вы могли наблюдать за каждой операцией в реальном времени!

📋 Дополнительная информация

📚 Руководство по CLI → | Руководство по MCP-серверу → | Агентский клиент → | Каркас оценки → | Конвейер архетипов → | Все навыки агента →

Лицензия: MIT License — см. файл LICENSE

Вклад: См. CONTRIBUTING.md для получения рекомендаций

Создано с помощью: Весь этот проект был разработан с использованием ИИ-помощника GitHub Copilot — в основном с Claude, но в последнее время с Auto-mode.

Благодарности:

  • Команда Microsoft PowerPoint — за всеобъемлющие COM API автоматизации

  • Сообщество Model Context Protocol — за стандарт интеграции ИИ

  • Сообщество открытого кода — за вдохновение и лучшие практики

Связанные проекты

Вышестоящие проекты Стефана Броеннера:

  • mcp-server-excel (upstream) — Оригинальный MCP-сервер для Excel от Стефана Броеннера

  • pytest-aitest — Тестовый фреймворк на основе LLM для ИИ-агентов

Related MCP Connectors

Related MCP Servers