PowerPoint MCP Server

by GongRzhe
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Utilizes python-pptx library for PowerPoint manipulation, allowing creation, editing and management of presentations programmatically

  • Handles Open XML presentation files (.pptx), enabling round-trip processing of all presentation elements

Office-PowerPoint-MCP-서버

python-pptx를 사용하여 PowerPoint를 조작하는 MCP(Model Context Protocol) 서버입니다. 이 서버는 MCP 프로토콜을 통해 PowerPoint 프레젠테이션을 생성, 편집 및 조작할 수 있는 도구를 제공합니다.

폼프트

산출

데모의 GIF -> (./public/demo.mp4)

특징

  • 모든 요소를 포함한 모든 Open XML 프레젠테이션(.pptx 파일)을 왕복합니다.
  • 슬라이드 추가
  • 예를 들어 글머리 기호 슬라이드를 만들기 위해 텍스트 자리 표시자를 채웁니다.
  • 임의의 위치와 크기로 슬라이드에 이미지 추가
  • 슬라이드에 텍스트 상자 추가, 텍스트 글꼴 크기 및 굵게 조정
  • 슬라이드에 표 추가
  • 슬라이드에 자동 모양(예: 다각형, 흐름도 모양 등) 추가
  • 열, 막대, 선 및 원형 차트를 추가하고 조작합니다.
  • 제목 및 주제와 같은 핵심 문서 속성에 액세스하고 변경합니다.

설치

Smithery를 통해 설치

Smithery 를 통해 Claude Desktop용 PowerPoint Manipulation Server를 자동으로 설치하려면:

지엑스피1

필수 조건

  • Python 3.10 이상
  • pip 패키지 관리자

설치 옵션

옵션 1: 설치 스크립트 사용(권장)

PowerPoint MCP 서버를 설정하는 가장 쉬운 방법은 제공된 설치 스크립트를 사용하는 것입니다. 이 스크립트는 설치 프로세스를 자동화합니다.

python setup_mcp.py

이 스크립트는 다음을 수행합니다.

  • 필수 조건 확인
  • 설치 옵션 제공:
    • PyPI에서 설치(대부분 사용자에게 권장)
    • 로컬 개발 환경 설정
  • 필수 종속성 설치
  • 적절한 MCP 구성 파일을 생성합니다.
  • Claude Desktop과 통합하기 위한 지침 제공

스크립트는 환경에 따라 다양한 경로를 제공합니다.

  • uvx 설치되어 있으면 UVX를 사용하여 구성됩니다(권장).
  • 서버가 이미 설치되어 있는 경우 구성 옵션이 제공됩니다.
  • 서버가 설치되지 않은 경우 설치 방법을 제공합니다.

옵션 2: 수동 설치

  1. 저장소를 복제합니다.
    git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git cd Office-PowerPoint-MCP-Server
  2. 종속성 설치:
    pip install -r requirements.txt
  3. 서버를 실행 가능하게 만듭니다.
    chmod +x ppt_mcp_server.py

용법

서버 시작

서버를 실행합니다:

python ppt_mcp_server.py

MCP 구성

옵션 1: 로컬 Python 서버

MCP 설정 구성 파일에 서버를 추가합니다.

{ "mcpServers": { "ppt": { "command": "python", "args": ["/path/to/ppt_mcp_server.py"], "env": {} } } }

옵션 2: UVX 사용(로컬 설치 필요 없음)

uvx 설치되어 있다면 로컬 설치 없이 PyPI에서 직접 서버를 실행할 수 있습니다.

{ "mcpServers": { "ppt": { "command": "uvx", "args": [ "--from", "office-powerpoint-mcp-server", "ppt_mcp_server" ], "env": {} } } }

사용 가능한 도구

프레젠테이션 도구

  • create_presentation : 새로운 PowerPoint 프레젠테이션을 만듭니다
  • open_presentation : 파일에서 기존 PowerPoint 프레젠테이션을 엽니다.
  • save_presentation : 현재 프레젠테이션을 파일에 저장합니다.
  • get_presentation_info : 현재 프레젠테이션에 대한 정보를 가져옵니다.
  • set_core_properties : 현재 프레젠테이션의 핵심 문서 속성을 설정합니다.

슬라이드 도구

  • add_slide : 현재 프레젠테이션에 새 슬라이드를 추가합니다.
  • get_slide_info : 특정 슬라이드에 대한 정보를 가져옵니다.
  • populate_placeholder : 텍스트로 플레이스홀더 채우기
  • add_bullet_points : 플레이스홀더에 글머리 기호 추가

텍스트 도구

  • add_textbox : 슬라이드에 텍스트 상자 추가

이미지 도구

  • add_image : 슬라이드에 이미지 추가
  • add_image_from_base64 : base64로 인코딩된 문자열에서 이미지를 슬라이드에 추가합니다.

테이블 도구

  • add_table : 슬라이드에 표 추가
  • format_table_cell : 테이블 셀 서식 지정

모양 도구

  • add_shape : 슬라이드에 자동 모양 추가

차트 도구

  • add_chart : 슬라이드에 차트 추가

예시

새로운 프레젠테이션 만들기

# Create a new presentation result = use_mcp_tool( server_name="ppt", tool_name="create_presentation", arguments={} ) presentation_id = result["presentation_id"] # Add a title slide result = use_mcp_tool( server_name="ppt", tool_name="add_slide", arguments={ "layout_index": 0, # Title slide layout "title": "My Presentation", "presentation_id": presentation_id } ) slide_index = result["slide_index"] # Populate subtitle placeholder result = use_mcp_tool( server_name="ppt", tool_name="populate_placeholder", arguments={ "slide_index": slide_index, "placeholder_idx": 1, # Subtitle placeholder "text": "Created with PowerPoint MCP Server", "presentation_id": presentation_id } ) # Save the presentation result = use_mcp_tool( server_name="ppt", tool_name="save_presentation", arguments={ "file_path": "my_presentation.pptx", "presentation_id": presentation_id } )

차트 추가

# Add a chart slide result = use_mcp_tool( server_name="ppt", tool_name="add_slide", arguments={ "layout_index": 1, # Content slide layout "title": "Sales Data", "presentation_id": presentation_id } ) slide_index = result["slide_index"] # Add a column chart result = use_mcp_tool( server_name="ppt", tool_name="add_chart", arguments={ "slide_index": slide_index, "chart_type": "column", "left": 1.0, "top": 2.0, "width": 8.0, "height": 4.5, "categories": ["Q1", "Q2", "Q3", "Q4"], "series_names": ["2023", "2024"], "series_values": [ [100, 120, 140, 160], [110, 130, 150, 170] ], "has_legend": True, "legend_position": "bottom", "has_data_labels": True, "title": "Quarterly Sales", "presentation_id": presentation_id } )

특허

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

모델 컨텍스트 프로토콜을 통해 PowerPoint 프레젠테이션을 프로그래밍 방식으로 만들고 편집할 수 있는 서버로, 슬라이드, 이미지, 텍스트 상자, 차트, 표 추가 등의 기능을 지원합니다.

  1. Example
    1. Pormpt
    2. Output
    3. Demo's GIF -> (./public/demo.mp4)
  2. Features
    1. Installation
      1. Installing via Smithery
      2. Prerequisites
      3. Installation Options
    2. Usage
      1. Starting the Server
      2. MCP Configuration
    3. Available Tools
      1. Presentation Tools
      2. Slide Tools
      3. Text Tools
      4. Image Tools
      5. Table Tools
      6. Shape Tools
      7. Chart Tools
    4. Examples
      1. Creating a New Presentation
      2. Adding a Chart
    5. License
      ID: jjranwyzfx