✨ 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
Verified Icon
AI Agents
AI Chatbot Starter Kit
1309 6081 5.0
AI Assistants
Talk with Claude 3
156 1166
Data Analysis
Pharmacy Admin Panel
238 1704
Customer service
Multi-language AI Translator
135 646

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.