Skip to main content
Glama

Office-PowerPoint-MCP-서버

대장간 배지

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

폼프트

산출

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

데모

특징

  • 모든 요소를 포함한 모든 Open XML 프레젠테이션(.pptx 파일)을 왕복합니다.

  • 슬라이드 추가

  • 예를 들어 글머리 기호 슬라이드를 만들기 위해 텍스트 자리 표시자를 채웁니다.

  • 임의의 위치와 크기로 슬라이드에 이미지 추가

  • 슬라이드에 텍스트 상자 추가, 텍스트 글꼴 크기 및 굵게 조정

  • 슬라이드에 표 추가

  • 슬라이드에 자동 모양(예: 다각형, 흐름도 모양 등) 추가

  • 열, 막대, 선 및 원형 차트를 추가하고 조작합니다.

  • 제목 및 주제와 같은 핵심 문서 속성에 액세스하고 변경합니다.

Related MCP server: PowerPoint MCP Server

설치

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GongRzhe/Office-PowerPoint-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server