PowerPoint Automation MCP Server til Claude Desktop

April 8, 2025 · View on GitHub

Dette projekt leverer en PowerPoint-automatiseringsserver, der fungerer med Claude Desktop via Model Control Protocol (MCP). Det giver Claude mulighed for at interagere med Microsoft PowerPoint og muliggør opgaver som at oprette præsentationer, tilføje slides, ændre indhold og mere.

Funktioner

  • Opret, åbn, gem og luk PowerPoint-præsentationer
  • Vis liste over alle åbne præsentationer
  • Få information og indhold om slides
  • Tilføj nye slides med forskellige layouts
  • Tilføj tekstbokse til slides
  • Opdater tekstindhold i former
  • Indstil slide-titler
  • Og meget mere!

Installation

  1. Klon dette repository:
  2. Installer afhængigheder:
    uv add fastmcp pywin32
    
  3. Konfigurer Claude Desktop:
    • Åbn Claude Desktop
    • Gå til indstillinger
    • Konfigurer MCP-serveren som forklaret nedenfor

Konfiguration

For at konfigurere Claude Desktop til at bruge denne MCP-server, tilføj følgende til din Claude Desktop-konfigurationsfil, der findes på %APPDATA%\Claude\claude_desktop_config.json:

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

Hvis du bruger et virtuelt miljø eller en alternativ Python-eksekverbar (som uv):

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

Anvendelse

Når konfigurationen er færdig, kan du bruge Claude Desktop til at styre PowerPoint. Eksempler på interaktioner:

  1. Initialiser PowerPoint:
    Kan du åbne PowerPoint for mig?
    
  2. Opret en ny præsentation:
    Opret venligst en ny PowerPoint-præsentation.
    
  3. Tilføj et slide:
    Tilføj et nyt slide til præsentationen.
    
  4. Tilføj indhold:
    Tilføj en tekstboks til slide 1 med teksten "Hej Verden".
    
  5. Gem præsentationen:
    Gem præsentationen til C:\Users\brugernavn\Dokumenter\præsentation.pptx
    

Tilgængelige Funktioner

Serveren tilbyder følgende PowerPoint-automatiseringsfunktioner:

  • initialize_powerpoint(): Forbind til PowerPoint og gør den synlig
  • get_presentations(): Liste over alle åbne præsentationer
  • open_presentation(path): Åbn en præsentation fra en fil
  • get_slides(presentation_id): Få alle slides i en præsentation
  • get_slide_text(presentation_id, slide_id): Få tekstindhold af et slide
  • update_text(presentation_id, slide_id, shape_id, text): Opdater tekst i en form
  • save_presentation(presentation_id, path): Gem en præsentation
  • close_presentation(presentation_id, save): Luk en præsentation
  • create_presentation(): Opret en ny præsentation
  • add_slide(presentation_id, layout_type): Tilføj et nyt slide
  • add_text_box(presentation_id, slide_id, text, left, top, width, height): Tilføj en tekstboks
  • set_slide_title(presentation_id, slide_id, title): Indstil titlen på et slide

Krav

  • Windows med Microsoft PowerPoint installeret
  • Python 3.7+
  • Claude Desktop-klient
  • pywin32 og fastmcp Python-pakker

Begrænsninger

  • Fungerer kun på Windows med PowerPoint installeret
  • PowerPoint-applikationen vil åbne og være synlig under operationer
  • Begrænset til de funktioner, der er tilgængelige via PowerPoint COM API