PowerPoint Presentation Automation Server – README | MCP Marketplace

✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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 디자인 스타일을 지원합니다:

  1. default: 기본 스타일

    • Pretendard 폰트, 중앙 정렬
    • 흰색 배경, 파란색 원형 번호 스타일
    • 깔끔하고 현대적인 디자인
  2. minimal: 미니멀 스타일

    • 나눔고딕 폰트, 왼쪽 정렬
    • 흰색 배경, 심플한 글머리 기호
    • 간결하고 깔끔한 디자인
  3. modern_blue: 모던 블루 스타일

    • 본고딕 폰트, 왼쪽 정렬
    • 흰색 배경, 파란색 원형 번호 스타일
    • 푸른색 계열의 현대적인 디자인
  4. corporate: 코퍼레이트 스타일

    • 나눔스퀘어 폰트, 왼쪽 정렬
    • 흰색 배경, 화살표 형태의 글머리 기호
    • 기업 프레젠테이션에 적합한 디자인
  5. 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로 변환할 수 있습니다.

사용 방법

  1. Claude 데스크톱 앱 실행
  2. PPT MCP 서버 실행
  3. MCP 서버에 자연어 프롬프트 전송:
claude_to_ppt "인공지능에 관한 발표 자료를 만들어줘" --output_path "ai_presentation.pptx" --style_name "modern_blue"

SmitheryAI 연동

본 서버는 SmitheryAI와 연동될 수 있으며, smithery.yaml 파일은, SmitheryAI가 이 서버를 MCP(Model Context Protocol)로 사용할 수 있도록 설정되어 있습니다.

SmitheryAI에서 사용하는 방법

  1. SmitheryAI 실행
  2. 다음 도구들을 사용할 수 있습니다:
    • 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

Featured Templates

View More
Customer service
Service ERP
125 756
Data Analysis
Pharmacy Admin Panel
238 1704
Verified Icon
AI Agents
AI Chatbot Starter Kit
1308 6081 5.0
AI Assistants
AI Chatbot Starter Kit v0.1
130 667

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.