PowerPoint MCP 서버
이 프로젝트는 Model Context Protocol(MCP)을 통해 PowerPoint 프레젠테이션을 자동으로 생성하고 조작할 수 있는 서버를 제공합니다. AI 모델이나 다른 클라이언트가 쉽게 파워포인트 문서를 만들고 편집할 수 있게 합니다.
주요 기능
- 새 PowerPoint 프레젠테이션 생성
- 기존 PowerPoint 파일 열기
- 슬라이드 추가 및 편집
- 텍스트, 이미지, 표, 차트 등 요소 추가
- 다양한 디자인 스타일 선택 및 적용 (default, minimal, modern_blue, corporate, dark_mode)
- 다크 모드 프레젠테이션 지원
- 원형 번호 스타일 및 다양한 글머리 기호 지원
- Claude AI와의 연동을 통한 자연어 -> PPT 생성
- MCP 프로토콜을 통한 API 제공
- HTTP API 및 표준 입출력(stdio) 인터페이스 제공
프로젝트 구조
mcp개발/ ├── ppt_mcp_server.py # MCP 서버 (HTTP API 및 stdio 모드 지원) ├── main.py # 메인 진입점 ├── config_loader.py # 설정 로더 ├── ppt_generator.py # PPT 생성 모듈 ├── ppt_utils.py # PPT 유틸리티 함수 ├── smithery.yaml # SmitheryAI 구성 파일 ├── README.md # 문서 ├── requirements.txt # 필요 패키지 목록 ├── data/ # 데이터 폴더 │ ├── slide_content.json # 슬라이드 내용 │ └── design_system.json # 디자인 설정 (다양한 스타일 포함) └── output/ # 생성된 파일 저장 폴더
## 실행 흐름
1. `ppt_mcp_server.py` - MCP 서버로 시작 (HTTP API 또는 stdio 모드)
2. `config_loader.py`로 디자인 설정 로드
3. `ppt_generator.py`로 슬라이드 내용 처리 및 PPT 생성
4. `ppt_utils.py`의 함수들을 통해 PowerPoint 조작
5. 최종 파일은 지정된 경로에 저장
## 설치 방법
### 요구사항
- Python 3.6 이상
- 필수 패키지: python-pptx, flask, aiohttp
### 설치 단계
```bash
# 필요한 패키지 설치
pip install -r requirements.txt
실행 방법
MCP 서버 시작 (HTTP 모드)
python ppt_mcp_server.py --host 0.0.0.0 --port 5011
MCP 서버 시작 (stdio 모드, SmitheryAI 용)
python ppt_mcp_server.py --stdio
사용 가능한 스타일
서버는 다음과 같은 다양한 PPT 디자인 스타일을 지원합니다:
default: 기본 스타일
- Pretendard 폰트, 중앙 정렬
- 흰색 배경, 파란색 원형 번호 스타일
- 깔끔하고 현대적인 디자인
minimal: 미니멀 스타일
- 나눔고딕 폰트, 왼쪽 정렬
- 흰색 배경, 심플한 글머리 기호
- 간결하고 깔끔한 디자인
modern_blue: 모던 블루 스타일
- 본고딕 폰트, 왼쪽 정렬
- 흰색 배경, 파란색 원형 번호 스타일
- 푸른색 계열의 현대적인 디자인
corporate: 코퍼레이트 스타일
- 나눔스퀘어 폰트, 왼쪽 정렬
- 흰색 배경, 화살표 형태의 글머리 기호
- 기업 프레젠테이션에 적합한 디자인
dark_mode: 다크 모드 스타일
- 프리텐다드 폰트, 중앙 정렬
- 검은색 배경, 연두색 원형 번호 스타일
- 어두운 배경에 밝은 텍스트의 현대적인 디자인
스타일을 선택하거나 변경하려면 다음 도구를 사용할 수 있습니다:
get_styles: 사용 가능한 스타일 목록 확인set_style: 기본 스타일 설정
사용 가능한 도구
프레젠테이션 도구
create_presentation: 새 프레젠테이션 생성open_presentation: 기존 프레젠테이션 열기save_presentation: 프레젠테이션 저장
슬라이드 도구
add_slide: 슬라이드 추가set_title: 슬라이드 제목 설정add_bullet_points: 슬라이드에 글머리 기호 추가
콘텐츠 생성 도구
generate_from_template: 템플릿과 데이터로 프레젠테이션 생성claude_to_ppt: Claude AI를 사용하여 자연어로 PPT 생성
스타일 관리 도구
get_styles: 사용 가능한 스타일 목록 확인set_style: 기본 스타일 설정
Claude 데스크톱 연동
본 서버는 Claude 데스크톱 애플리케이션과 연동하여 자연어 프롬프트를 PPT로 변환할 수 있습니다.
사용 방법
- Claude 데스크톱 앱 실행
- PPT MCP 서버 실행
- MCP 서버에 자연어 프롬프트 전송:
claude_to_ppt "인공지능에 관한 발표 자료를 만들어줘" --output_path "ai_presentation.pptx" --style_name "modern_blue"
SmitheryAI 연동
본 서버는 SmitheryAI와 연동될 수 있으며, smithery.yaml 파일은, SmitheryAI가 이 서버를 MCP(Model Context Protocol)로 사용할 수 있도록 설정되어 있습니다.
SmitheryAI에서 사용하는 방법
- SmitheryAI 실행
- 다음 도구들을 사용할 수 있습니다:
claude_to_ppt: Claude를 통해 자연어로 PPT 생성get_styles: 사용 가능한 PPT 스타일 목록 확인set_style: 기본 PPT 스타일 설정- 기타 PPT 조작 도구들
PPT 스타일 커스터마이징
data/design_system.json 파일을 수정하여 디자인 스타일을 변경하거나 새로운 스타일을 추가할 수 있습니다.
스타일 구조
{
"styles": {
"스타일_이름": {
"slide_layouts": { ... },
"slide_text_settings": {
"title_font": "폰트명",
"alignment": "정렬(center/left/right)",
...
},
"color_scheme": {
"background": [R, G, B],
"primary": [R, G, B],
...
},
"bullet_settings": {
"type": "bullet 타입(circle_number/standard)",
...
},
...
},
...
},
"current_style": "기본_스타일_이름"
}
문제 해결
- 오류: 패키지를 찾을 수 없음:
pip install -r requirements.txt명령으로 필요한 패키지를 설치합니다. - 오류: Claude 데스크톱 연결 실패: Claude 데스크톱 앱이 실행 중인지, 지정된 포트(기본값: 5000)에서 실행 중인지 확인합니다.
- 오류: 프레젠테이션을 저장할 수 없음: 출력 경로가 유효한지, 쓰기 권한이 있는지 확인하세요.
API 예시
Claude로 PPT 생성 (HTTP API)
curl -X POST http://localhost:5011/tools/claude-to-ppt
-H "Content-Type: application/json"
-d '{
"message": "인공지능의 윤리적 이슈에 대한 발표자료",
"output_path": "ai_ethics.pptx",
"style_name": "modern_blue"
}'
사용 가능한 스타일 확인 (HTTP API)
curl -X GET http://localhost:5011/tools/get_styles
PowerPoint Presentation Automation Server
Project Details
- 1282saa/ppt
- Last Updated: 4/27/2025
Recomended MCP Servers
MCP server helping models to understand your Vite/Nuxt app better.
The Model Context Protocol (MCP) is an open-source implementation that bridges Jenkins with AI language models following Anthropic's...
A Model Context Protocol (MCP) server that converts various file formats to Markdown using the MarkItDown utility.
A Model Context Protocol server that provides access to BigQuery
MCP Server for Simplenote integration with Claude Desktop
A Model Context Protocol (MCP) server that provides filesystem operations for Claude AI
飞书/Lark官方 OpenAPI MCP
MCP server for graph representation of a codebase
A Model Context Protocol server for Dify
Helps AI assistants access text content from bot-protected websites. MCP server that fetches HTML/markdown from sites with anti-automation...





