✨ 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 파일 열기
  • 슬라이드 추가 및 편집
  • 텍스트, 이미지, 표, 차트 등 요소 추가
  • 디자인 시스템 설정을 통한 일관된 스타일 적용
  • MCP 프로토콜을 통한 API 제공

프로젝트 구조

mcp개발/ ├── main.py # 메인 진입점 (새로 생성) ├── config_loader.py # 설정 로더 (새로 생성) ├── ppt_generator.py # PPT 생성 모듈 (슬라이드생성.py 이름 변경) ├── README.md # 문서 (자동화_PPT_README.md 이름 변경) ├── requirements.txt # 필요 패키지 목록 ├── data/ # 데이터 폴더 │ ├── slide_content.json # 슬라이드 내용 (슬라이드.json 이동) │ └── design_system.json # 디자인 설정 (ppt_design_system_config_v2.json 이동) ├── output/ # 생성된 파일 저장 폴더 └── utils/ # 유틸리티 모듈 폴더 (기존 그대로 유지)

실행 흐름

  1. main.py - 메인 진입점에서 시작
  2. config_loader.py로 디자인 설정 로드
  3. ppt_generator.py로 슬라이드 내용 처리 및 PPT 생성
  4. utils 모듈들을 통해 PowerPoint 조작
  5. 최종 파일은 output 폴더에 저장

설치 방법

요구사항

  • Python 3.6 이상
  • python-pptx 라이브러리
  • mcp 라이브러리

설치 단계

# 필요한 패키지 설치
pip install python-pptx mcp[cli]

실행 방법

MCP 서버 시작

python main.py

기본적으로 서버는 localhost:8000에서 실행됩니다. 다른 호스트/포트를 사용하려면:

python main.py --host 0.0.0.0 --port 8080

테스트 클라이언트 실행

python test_client.py

사용 가능한 도구

프레젠테이션 도구

  • create_presentation: 새 프레젠테이션 생성
  • open_presentation: 기존 프레젠테이션 열기
  • save_presentation: 프레젠테이션 저장

슬라이드 도구

  • add_slide_to_presentation: 슬라이드 추가
  • add_content_to_slide: 슬라이드에 내용 추가
  • add_bullet_points_to_slide: 슬라이드에 글머리 기호 추가

템플릿 도구

  • generate_from_template: 템플릿과 데이터로 프레젠테이션 생성

문제 해결

  • 오류: 패키지를 찾을 수 없음: pip install python-pptx mcp[cli] 명령으로 필요한 패키지를 설치합니다.
  • 오류: 서버를 시작할 수 없음: 포트가 이미 사용 중인지 확인하고, 다른 포트를 지정해 보세요.
  • 오류: 프레젠테이션을 저장할 수 없음: 출력 경로가 유효한지, 쓰기 권한이 있는지 확인하세요.

파일 형식

슬라이드 내용 파일 (JSON)

data/slide_content.json의 기본 구조는 다음과 같습니다:

{
  "title": "프레젠테이션 제목",
  "mainTopics": {
    "주제1": {
      "하위주제1": { ... },
      "하위주제2": { ... }
    },
    "주제2": [ ... ]
  }
}

디자인 시스템 설정 (JSON)

data/design_system.json의 기본 구조는 다음과 같습니다:

{
  "slide_text_settings": {
    "title_font": "Arial",
    "title_font_size": 32,
    ...
  },
  "table_styles": {
    "default": {
      "header_bg_color": [200, 200, 200],
      ...
    }
  },
  ...
}

커스터마이징

내용 커스터마이징

data/slide_content.json 파일을 수정하여 프레젠테이션 내용을 변경할 수 있습니다.

디자인 커스터마이징

data/design_system.json 파일을 수정하여 디자인 스타일을 변경할 수 있습니다.

코드 커스터마이징

ppt_generator.py 파일의 다음 메서드를 수정하여 슬라이드 생성 방식을 변경할 수 있습니다:

  • _create_title_slide: 표지 슬라이드 생성
  • _create_topic_slides: 주제별 슬라이드 생성
  • _create_subtopic_slide: 하위 주제 슬라이드 생성
  • _create_term_table: 용어 정의 테이블 생성
  • _create_item_list: 항목 목록 생성

Featured Templates

View More
AI Characters
Sarcastic AI Chat Bot
128 1438
AI Agents
AI Video Generator
249 1346 5.0
Verified Icon
AI Assistants
Speech to Text
133 1501
Customer service
Multi-language AI Translator
135 644
AI Assistants
AI Chatbot Starter Kit v0.1
129 665

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.