
GongRzhe/Office-PowerPoint-MCP-Server
요약
python-pptx를 기반으로 PowerPoint를 조작할 수 있는 MCP(Model Context Protocol) 서버입니다. 32개의 도구와 11개의 모듈을 통해 슬라이드 생성, 관리 및 전문적인 디자인 기능을 제공합니다.
핵심 포인트
- MCP 프로토콜을 통한 AI 에이전트의 PPT 조작 지원
- 32개의 강력한 도구와 11개의 특화된 모듈 구성
- 지능적인 작업 선택 및 포괄적인 에러 핸들링 제공
- 전문적인 디자인 및 슬라이드 관리 기능 포함
python-pptx를 사용하여 PowerPoint를 조작하기 위한 포괄적인 MCP (Model Context Protocol) 서버입니다. **버전 2.0 (Version 2.0)**은 11개의 특화된 모듈로 구성된 32개의 강력한 도구를 제공하며, 완전한 PowerPoint 생성, 관리 및 전문적인 디자인 기능을 제공합니다. 이 서버는 향상된 파라미터 (parameter) 처리, 지능적인 작업 선택 및 포괄적인 에러 핸들링 (error handling)을 갖춘 모듈형 아키텍처 (modular architecture)를 특징으로 합니다.



모든 요소를 포함한 어떤 Open XML 프레젠테이션 (.pptx 파일)에 대해서도 왕복 지원 (Round-trip support) 가능
테마 및 레이아웃을 자동으로 보존하는 템플릿 지원 (Template support)
전역 상태 추적을 통한 다중 프레젠테이션 관리 (Multi-presentation management)
핵심 문서 속성 (Core document properties) 관리 (제목, 주제, 저자, 키워드, 주석)
유연한 레이아웃 선택을 통한 슬라이드 관리 (Slide management)
플레이스홀더 (placeholder) 채우기 및 글머리 기호 생성을 통한 텍스트 조작 (Text manipulation)
글꼴, 색상, 정렬 및 스타일 제어를 통한 고급 텍스트 서식 (Advanced text formatting)
자동 맞춤 확인 및 최적화 제안을 통한 텍스트 검증 (Text validation)
파일 및 base64 입력을 지원하는 이미지 처리 (Image handling)
밝기, 대비, 채도 및 필터 제어를 위해 Pillow를 사용하는 이미지 향상 (Image enhancement)
그림자, 반사, 글로우(glow) 및 부드러운 가장자리를 포함한 전문적인 이미지 효과 (Professional image effects)
20개 이상의 자동 도형 유형 (직사각형, 타원, 플로우차트 요소 등)을 갖춘 도형 생성 (Shape creation)
고급 셀 서식 및 스타일링을 갖춘 표 생성 (Table creation)
열, 막대, 선 및 파이 차트를 위한 차트 지원 (Chart support)
카테고리 및 다중 시리즈를 지원하는 데이터 시리즈 관리 (Data series management)
범례, 데이터 레이블 및 제목을 포함한 차트 서식 (Chart formatting)
4가지 전문적인 색상 체계 (Color schemes) (Modern Blue, Corporate Gray, Elegant Green, Warm Red)
전문적인 타이포그래피 (Typography) (Segoe UI 글꼴 제품군 및 크기 프리셋 사용)
테마 적용 (Theme application) (프레젠테이션 전반에 걸친 자동 스타일링)
그라데이션 배경 (Gradient backgrounds) (사용자 정의 가능한 방향 및 색상 체계)
슬라이드 강화 (Slide enhancement) (기존 콘텐츠를 위한 도구)
25개의 내장 슬라이드 템플릿 (Built-in slide templates) (동적 크기 조정 및 시각 효과 포함)
고급 템플릿 기능 (Advanced template features) (자동 줄 바꿈, 동적 글꼴 크기 조정 및 전문적인 애니메이션 포함)
글꼴 분석 및 최적화 (Font analysis and optimization) (FontTools 사용)
이미지 효과 (Picture effects) (9가지의 다양한 시각 효과 - 그림자, 반사, 글로우, 베벨 등)
포괄적인 검증 (Comprehensive validation) (자동 오류 수정 포함)
템플릿 검색 (Template search) (구성 가능한 디렉토리 경로 제공)
전문적인 레이아웃 계산 (Professional layout calculations) (여백 및 간격 관리 포함)
Smithery를 통해 Claude Desktop용 PowerPoint Manipulation Server를 자동으로 설치하려면:
npx -y @smithery/cli install @GongRzhe/Office-PowerPoint-MCP-Server --client claude
- Python 3.6 이상 (pyproject.toml에 명시됨)
- pip 패키지 관리자
- 선택 사항: 로컬 설치 없이 패키지를 실행하기 위한 uvx
PowerPoint MCP Server를 설정하는 가장 쉬운 방법은 설치 프로세스를 자동화하는 제공된 설정 스크립트를 사용하는 것입니다:
python setup_mcp.py
이 스크립트는 다음을 수행합니다:
- 필수 요구 사항 확인
- 설치 옵션 제공:
- PyPI에서 설치 (대부분의 사용자에게 권장)
- 로컬 개발 환경 설정
- 필수 종속성 (Dependencies) 설치
- 적절한 MCP 구성 파일 생성
- Claude Desktop과의 통합을 위한 지침 제공
스크립트는 환경에 따라 다른 경로를 제공합니다:
-
uvx가 설치되어 있는 경우, UVX를 사용하여 구성합니다 (권장) -
서버가 이미 설치되어 있는 경우, 구성 옵션을 제공합니다
-
서버가 설치되어 있지 않은 경우, 설치 방법을 제공합니다
저장소 복제 (Clone the repository):
저장소 복제 (Clone the repository):
git clone https://github.com/GongRzhe/Office-PowerPoint-MCP-Server.git cd Office-PowerPoint-MCP-Server
의존성 설치 (Install dependencies):
pip install -r requirements.txt
서버 실행 파일 만들기 (Make the server executable):
chmod +x ppt_mcp_server.py
도움말 텍스트 표시 (Display help text):
python ppt_mcp_server.py -h
stdio 서버 실행 (Run the stdio server):
python ppt_mcp_server.py
포트 8000에서 streamable-http 서버 실행 (Run the streamable-http server on port 8000):
python ppt_mcp_server.py --transport http --port 8000
Docker로 실행하기 (Run in Docker)
docker build -t ppt_mcp_server .
docker run -d --rm -p 8000:8000 ppt_mcp_server -t http
서버를 MCP 설정 파일에 추가하기 (Add the server to your MCP settings configuration file):
{
"mcpServers": {
"ppt": {
...
uvx가 설치된 경우, 로컬 설치 없이 PyPI에서 서버를 직접 실행할 수 있습니다:
{
"mcpServers": {
"ppt": {
...
34가지 전문 도구로 완벽한 PowerPoint 조작 기능을 제공하며, 이는 프레젠테이션 제작의 모든 측면을 다루는 11개의 구성 모듈에 걸쳐 조직되어 있습니다. 또한, 포괄적인 유효성 검사를 통한 향상된 매개변수 처리, 지능형 기본값 설정, 그리고 작업 기반 인터페이스를 제공합니다.
25가지 이상의 전문 슬라이드 템플릿에는 동적 기능이 내장되어 있으며, 자동 생성 기능을 갖춘 고급 템플릿 시스템과 콘텐츠 길이나 컨테이너 크기에 맞춰 조정되는 자동 크기 조절 텍스트, 그림자(shadows), 발광 효과(glows), 그라디언트(gradients)를 포함한 전문적인 시각 효과, 그리고 템플릿 순서로부터의 완벽한 프레젠테이션 생성 기능을 제공합니다.
11가지 전문 모듈: 프레젠테이션, 콘텐츠, 구조적, 전문, 템플릿, 하이퍼링크, 차트, 커넥터, 마스터, 전환 도구 등입니다. **분리된 관심사(separated concerns)**를 통한 향상된 유지보수성, 새로운 기능을 추가하기 쉬운 쉬운 확장성, 그리고 공유 유틸리티를 사용한 더 깔끔한 코드 구조를 제공합니다.
이 서버는 다음 카테고리로 조직된 34가지 전문 도구를 제공합니다:
create_presentation- 새로운 프레젠테이션 생성
create_presentation_from_template- 테마를 유지하며 템플릿으로부터 생성
open_presentation- 기존 프레젠테이션 열기
save_presentation- 프레젠테이션을 파일로 저장
get_presentation_info- 종합적인 프레젠테이션 정보 가져오기
get_template_file_info- 템플릿 파일 및 레이아웃 분석
set_core_properties- 문서 속성 설정
add_slide- 선택적 배경 스타일링과 함께 슬라이드 추가
get_slide_info- 상세한 슬라이드 정보 가져오기
extract_slide_text- ✨신규 특정 슬라이드에서 모든 텍스트 콘텐츠 추출
extract_presentation_text- ✨신규 프레젠테이션 내 모든 슬라이드에서 텍스트 콘텐츠 추출
populate_placeholder- 플레이스홀더 (Placeholder)에 텍스트 채우기
add_bullet_points- 서식이 지정된 글머리 기호 추가
manage_text- ✨통합 텍스트 도구(추가/서식 지정/유효성 검사/런 (Run) 서식 지정)
manage_image- ✨통합 이미지 도구(추가/강화)
list_slide_templates- 사용 가능한 슬라이드 레이아웃 템플릿 찾아보기
apply_slide_template- 기존 슬라이드에 구조화된 레이아웃 템플릿 적용
create_slide_from_template- 레이아웃 템플릿을 사용하여 새 슬라이드 생성
create_presentation_from_templates- 템플릿 시퀀스로부터 완전한 프레젠테이션 생성
get_template_info- 특정 템플릿에 대한 상세 정보 가져오기
auto_generate_presentation- 주제를 기반으로 프레젠테이션 자동 생성
optimize_slide_text- 가독성과 적합성을 위해 텍스트 요소 최적화
add_table- 강화된 서식의 표 생성
format_table_cell- 개별 표 셀 서식 지정
add_shape- 텍스트 및 서식 옵션이 포함된 도형 추가
add_chart- 종합적인 커스터마이징이 가능한 차트 생성
apply_professional_design- ✨통합 디자인 도구(테마/슬라이드/강화)
apply_picture_effects- ✨통합 효과 도구(9개 이상의 효과 통합)
manage_fonts- ✨통합 글꼴 도구(분석/최적화/추천)
manage_hyperlinks- 완전한 하이퍼링크 관리 (추가/제거/목록/업데이트)
manage_slide_masters- 슬라이드 마스터 (Slide Master) 속성 및 레이아웃 액세스 및 관리
add_connector- 슬라이드 상의 지점 사이에 커넥터 선/화살표 추가
update_chart_data- 기존 차트 데이터를 새로운 범주 (Category) 및 계열 (Series)로 교체
manage_slide_transitions- 기본적인 슬라이드 전환 (Transition) 관리
# 텍스트 상자 추가
manage_text(slide_index=0, operation="add", text="Hello World", font_size=24)
# 기존 텍스트 서식 지정
...
# 개선 기능이 포함된 이미지 추가
manage_image(slide_index=0, operation="add", image_source="logo.png",
enhancement_style="presentation")
...
# 통합 효과 적용
apply_picture_effects(slide_index=0, shape_index=0, effects={
"shadow": {"blur_radius": 4.0, "color": [128,128,128]},
...
# 전문적인 슬라이드 적용
apply_professional_design(operation="slide", slide_type="title_content",
color_scheme="modern_blue", title="My Presentation")
...
# 새로운 프레젠테이션 생성
result = use_mcp_tool(
server_name="ppt",
...
# 현대적인 스타일로 전문적인 슬라이드 생성 - 통합 도구 (CONSOLIDATED TOOL)
result = use_mcp_tool(
server_name="ppt",
...
# 사용 가능한 모든 슬라이드 템플릿과 기능을 목록으로 표시
result = use_mcp_tool(
server_name="ppt",
...
# 자동 개선 기능이 포함된 이미지 추가 - 통합 도구 (CONSOLIDATED TOOL)
result = use_mcp_tool(
server_name="ppt",
...
# 한 번의 작업으로 텍스트 추가 및 서식 지정 - 통합 도구 (CONSOLIDATED TOOL)
result = use_mcp_tool(
server_name="ppt",
...
# 먼저, 템플릿을 검사하여 레이아웃과 속성 확인
result = use_mcp_tool(
server_name="ppt",
...
# 차트 슬라이드 추가
result = use_mcp_tool(
server_name="ppt",
...
# 텍스트 적합성 검증 및 최적화 제안 받기 - 통합 도구 사용 (USING CONSOLIDATED TOOL)
result = use_mcp_tool(
server_name="ppt",
...
# 특정 슬라이드에서 텍스트 콘텐츠 추출 - 새로운 도구 (NEW TOOL)
result = use_mcp_tool(
server_name="ppt",
...
PowerPoint MCP Server는 기존 템플릿 파일로부터 프레젠테이션을 생성하기 위한 포괄적인 템플릿 지원을 제공합니다. 이 기능은 다음과 같은 사항을 가능하게 합니다:
기업 브랜딩 (Corporate branding): 사전 정의된 테마, 레이아웃 및 스타일 활용
일관된 프레젠테이션 (Consistent presentations): 팀 및 프로젝트 전반에 걸친 일관성 유지
사용자 정의 슬라이드 마스터 (Custom slide masters): 맞춤형 레이아웃 및 특수 레이아웃 사용
사전 구성된 속성 (Pre-configured properties): 문서 설정 및 속성 적용
유연한 템플릿 탐색 (Flexible template discovery): 설정 가능한 검색 경로를 통한 탐색
지원되는 형식 (Supported formats): .pptx 및 .potx 파일
기존 콘텐츠 (Existing content): 템플릿은 기존 슬라이드를 포함할 수 있습니다 (생성 시 보존됨)
레이아웃 가용성 (Layout availability): 모든 사용자 정의 레이아웃 및 슬라이드 마스터에 접근 가능
검색 위치 (Search locations): PPT_TEMPLATE_PATH 환경 변수를 통해 설정 가능
기본 검색 경로 (Default search paths): 현재 디렉토리, ./templates, ./assets, ./resources
PPT_TEMPLATE_PATH를 설정하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기