moon/ppt_se
Built by Metorial, the integration platform for agentic AI.
moon/ppt_se
Server Summary
Create new PowerPoint presentations
Open existing PowerPoint files
Add and edit slides
Insert text, images, tables, and charts
Apply design styles consistently
Provide API via MCP protocol
이 프로젝트는 Model Context Protocol(MCP)을 통해 PowerPoint 프레젠테이션을 자동으로 생성하고 조작할 수 있는 서버를 제공합니다. AI 모델이나 다른 클라이언트가 쉽게 파워포인트 문서를 만들고 편집할 수 있게 합니다.
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/ # 유틸리티 모듈 폴더 (기존 그대로 유지)
main.py
- 메인 진입점에서 시작config_loader.py
로 디자인 설정 로드ppt_generator.py
로 슬라이드 내용 처리 및 PPT 생성utils
모듈들을 통해 PowerPoint 조작output
폴더에 저장# 필요한 패키지 설치
pip install python-pptx mcp[cli]
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]
명령으로 필요한 패키지를 설치합니다.data/slide_content.json
의 기본 구조는 다음과 같습니다:
{
"title": "프레젠테이션 제목",
"mainTopics": {
"주제1": {
"하위주제1": { ... },
"하위주제2": { ... }
},
"주제2": [ ... ]
}
}
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
: 항목 목록 생성