MCP cover image
See in Github
2025-03-27

1

Github Watches

3

Github Forks

13

Github Stars

PowerPoint Automation MCP Server for Claude Desktop

This project provides a PowerPoint automation server that works with Claude Desktop via the Model Control Protocol (MCP). It allows Claude to interact with Microsoft PowerPoint, enabling tasks like creating presentations, adding slides, modifying content, and more.

Features

  • Create, open, save, and close PowerPoint presentations
  • List all open presentations
  • Get slide information and content
  • Add new slides with different layouts
  • Add text boxes to slides
  • Update text content in shapes
  • Set slide titles
  • And more!

Installation

  1. Clone this repository:

  2. Install dependencies:

    uv add fastmcp pywin32
    
  3. Configure Claude Desktop:

    • Open Claude Desktop
    • Navigate to settings
    • Configure the MCP server as explained below

Configuration

To configure Claude Desktop to use this MCP server, add the following to your Claude Desktop configuration file, located at %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "ppts": {
      "command": "uv",
      "args": ["run", "path/to/main.py"]
    }
  }
}

If you're using a virtual environment or alternative Python executable (like uv):

{
  "mcpServers": {
    "ppts": {
      "command": "C:\\Path\\To\\Python\\Scripts\\uv.exe",
      "args": ["run", "C:\\Path\\To\\Project\\main.py"]
    }
  }
}

Usage

Once configured, you can use Claude Desktop to control PowerPoint. Example interactions:

  1. Initialize PowerPoint:

    Could you open PowerPoint for me?
    
  2. Create a new presentation:

    Please create a new PowerPoint presentation.
    
  3. Add a slide:

    Add a new slide to the presentation.
    
  4. Add content:

    Add a text box to slide 1 with the text "Hello World".
    
  5. Save the presentation:

    Save the presentation to C:\Users\username\Documents\presentation.pptx
    

Available Functions

The server provides the following PowerPoint automation functions:

  • initialize_powerpoint(): Connect to PowerPoint and make it visible
  • get_presentations(): List all open presentations
  • open_presentation(path): Open a presentation from a file
  • get_slides(presentation_id): Get all slides in a presentation
  • get_slide_text(presentation_id, slide_id): Get text content of a slide
  • update_text(presentation_id, slide_id, shape_id, text): Update text in a shape
  • save_presentation(presentation_id, path): Save a presentation
  • close_presentation(presentation_id, save): Close a presentation
  • create_presentation(): Create a new presentation
  • add_slide(presentation_id, layout_type): Add a new slide
  • add_text_box(presentation_id, slide_id, text, left, top, width, height): Add a text box
  • set_slide_title(presentation_id, slide_id, title): Set the title of a slide

Requirements

  • Windows with Microsoft PowerPoint installed
  • Python 3.7+
  • Claude Desktop client
  • pywin32 and fastmcp Python packages

Limitations

  • Works only on Windows with PowerPoint installed
  • The PowerPoint application will open and be visible during operations
  • Limited to the capabilities exposed by the PowerPoint COM API

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Contraband Interactive
  • Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.

  • rustassistant.com
  • Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • apappascs
  • Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.

  • Mintplex-Labs
  • La aplicación AI de escritorio todo en uno y Docker con trapo incorporado, agentes de IA, creador de agentes sin código, compatibilidad de MCP y más.

  • modelcontextprotocol
  • Servidores de protocolo de contexto modelo

  • ShrimpingIt
  • Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx

  • n8n-io
  • Plataforma de automatización de flujo de trabajo de código justo con capacidades de IA nativas. Combine el edificio visual con código personalizado, auto-anfitrión o nube, más de 400 integraciones.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的 llM 资料总结(数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Resumen de los mejores recursos del mundo.

  • open-webui
  • Interfaz de IA fácil de usar (admite Ollama, Operai API, ...)

    Reviews

    5 (1)
    Avatar
    user_oroMn4nJ
    2025-04-15

    The Ragie Model Context Protocol Server by MCP-Mirror is an impressive tool for efficient model context management. Its seamless integration and user-friendly interface ensure smooth operational flow. I appreciate the robust performance and reliable support it provides, making complex tasks straightforward. Highly recommend for anyone needing a powerful MCP solution!