Office-PowerPoint-MCP-Server
Office-PowerPoint-MCP-Server
Office-PowerPoint-MCP-Server는 Microsoft PowerPoint 문서를 생성, 읽기 및 조작하기 위한 MCP 서버입니다. 이 서버를 통해 LLM은 프레젠테이션을 처음부터 생성하거나 기존 프레젠테이션을 수정하고, 슬라이드를 추가, 편집, 서식 지정할 수 있습니다. 또한 텍스트, 이미지, 차트, 표, 도형 등의 요소를 관리하고 애니메이션이나 전환 효과를 적용하는 기능도 제공합니다.
특징
- 프레젠테이션 관리: 새 프레젠테이션 생성, 기존 파일 열기, 저장 및 내보내기
- 슬라이드 관리: 슬라이드 추가, 삭제, 순서 변경, 복제
- 레이아웃 적용: 다양한 슬라이드 레이아웃 및 템플릿 적용
- 콘텐츠 편집: 텍스트, 이미지, 표, 차트, 도형 등의 요소 추가 및 편집
- 서식 적용: 색상 테마, 글꼴, 스타일 등 프레젠테이션 서식 지정
- 애니메이션: 슬라이드 요소에 애니메이션 및 전환 효과 적용
- 메타데이터 관리: 제목, 저자, 키워드 등 문서 메타데이터 편집
- PDF 내보내기: 프레젠테이션을 PDF 및 기타 형식으로 내보내기
- 일괄 처리: 여러 프레젠테이션의 일괄 생성 및 수정
API
도구
프레젠테이션 관리 도구
- create_presentation: 새 프레젠테이션 생성
- 입력: 제목, 테마, 옵션
-
출력: 생성된 프레젠테이션 ID 및 경로
-
open_presentation: 기존 프레젠테이션 열기
- 입력: 파일 경로
-
출력: 로드된 프레젠테이션 ID 및 메타데이터
-
save_presentation: 프레젠테이션 저장
- 입력: 프레젠테이션 ID, 저장 경로, 형식
- 출력: 저장 결과 및 파일 정보
슬라이드 관리 도구
- add_slide: 슬라이드 추가
- 입력: 프레젠테이션 ID, 레이아웃 유형, 위치
-
출력: 추가된 슬라이드 ID
-
delete_slide: 슬라이드 삭제
- 입력: 프레젠테이션 ID, 슬라이드 인덱스
-
출력: 삭제 결과
-
duplicate_slide: 슬라이드 복제
- 입력: 프레젠테이션 ID, 소스 슬라이드 인덱스, 대상 위치
-
출력: 복제된 슬라이드 ID
-
reorder_slides: 슬라이드 순서 변경
- 입력: 프레젠테이션 ID, 슬라이드 인덱스 배열
- 출력: 재정렬 결과
콘텐츠 편집 도구
- add_text: 텍스트 요소 추가
- 입력: 프레젠테이션 ID, 슬라이드 인덱스, 텍스트 내용, 위치, 서식
-
출력: 추가된 텍스트 요소 ID
-
add_image: 이미지 추가
- 입력: 프레젠테이션 ID, 슬라이드 인덱스, 이미지 경로/URL, 위치, 크기
-
출력: 추가된 이미지 요소 ID
-
add_shape: 도형 추가
- 입력: 프레젠테이션 ID, 슬라이드 인덱스, 도형 유형, 위치, 크기, 스타일
-
출력: 추가된 도형 요소 ID
-
add_chart: 차트 추가
- 입력: 프레젠테이션 ID, 슬라이드 인덱스, 차트 유형, 데이터, 위치, 크기
-
출력: 추가된 차트 요소 ID
-
add_table: 표 추가
- 입력: 프레젠테이션 ID, 슬라이드 인덱스, 행/열 수, 데이터, 위치, 스타일
- 출력: 추가된 표 요소 ID
서식 및 디자인 도구
- apply_theme: 테마 적용
- 입력: 프레젠테이션 ID, 테마 이름 또는 경로
-
출력: 테마 적용 결과
-
format_element: 요소 서식 지정
- 입력: 프레젠테이션 ID, 요소 ID, 서식 옵션(색상, 글꼴, 크기 등)
-
출력: 서식 적용 결과
-
apply_animation: 애니메이션 적용
- 입력: 프레젠테이션 ID, 요소 ID, 애니메이션 유형, 옵션
- 출력: 애니메이션 적용 결과
유틸리티 도구
- export_to_pdf: PDF로 내보내기
- 입력: 프레젠테이션 ID, 출력 경로, 옵션
-
출력: 내보내기 결과 및 파일 정보
-
export_to_image: 슬라이드를 이미지로 내보내기
- 입력: 프레젠테이션 ID, 슬라이드 인덱스 배열, 이미지 형식, 옵션
-
출력: 내보내진 이미지 파일 경로 목록
-
get_presentation_info: 프레젠테이션 정보 조회
- 입력: 프레젠테이션 ID
- 출력: 슬라이드 수, 제목, 작성자 등 프레젠테이션 정보
사용 방법
설치
# npm을 통한 설치
npm install -g office-powerpoint-mcp-server
# 또는 GitHub 저장소에서 직접 설치
git clone https://github.com/author/office-powerpoint-mcp-server
cd office-powerpoint-mcp-server
npm install
필요 조건
- Windows 환경: Microsoft PowerPoint가 설치되어 있어야 합니다.
- macOS/Linux 환경: PowerPoint Online API 연결을 위한 Microsoft 계정 또는 호환 라이브러리
- Node.js 14 이상이 설치되어 있어야 합니다.
구성
Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정할 수 있습니다:
{
"mcpServers": {
"powerpoint": {
"command": "npx",
"args": ["-y", "office-powerpoint-mcp-server"],
"env": {
"MICROSOFT_OFFICE_PATH": "/path/to/office",
"OUTPUT_DIRECTORY": "/path/to/output"
}
}
}
}
사용 예시
// 새 프레젠테이션 생성
const presentation = await create_presentation({
title: "분기별 사업 보고서",
theme: "professional"
});
// 제목 슬라이드 추가
const titleSlide = await add_slide({
presentationId: presentation.id,
layout: "title"
});
// 제목 텍스트 추가
await add_text({
presentationId: presentation.id,
slideIndex: 0,
text: "2025년 2분기 사업 보고서",
position: "title",
format: {
fontSize: 44,
fontFamily: "Arial",
color: "#2E5090"
}
});
// 부제목 추가
await add_text({
presentationId: presentation.id,
slideIndex: 0,
text: "마케팅 부서",
position: "subtitle",
format: {
fontSize: 24,
fontFamily: "Arial",
color: "#404040"
}
});
// 내용 슬라이드 추가
const contentSlide = await add_slide({
presentationId: presentation.id,
layout: "title_and_content"
});
// 슬라이드 제목 추가
await add_text({
presentationId: presentation.id,
slideIndex: 1,
text: "분기별 실적",
position: "title",
format: {
fontSize: 32,
fontFamily: "Arial"
}
});
// 차트 추가
await add_chart({
presentationId: presentation.id,
slideIndex: 1,
chartType: "column",
data: {
categories: ["1월", "2월", "3월"],
series: [
{
name: "매출",
values: [4200, 4800, 5400]
},
{
name: "비용",
values: [3100, 3300, 3600]
}
]
},
position: "content",
size: { width: 600, height: 400 }
});
// 프레젠테이션 저장
await save_presentation({
presentationId: presentation.id,
path: "/path/to/quarterly_report.pptx"
});
// PDF로 내보내기
await export_to_pdf({
presentationId: presentation.id,
path: "/path/to/quarterly_report.pdf"
});
연결된 구성 요소
- Office-Word-MCP-Server - PowerPoint 프레젠테이션과 Word 문서 간의 콘텐츠 공유 및 통합
- Excel - Excel 데이터를 PowerPoint 차트 및 표로 가져오기
- Image Generation - AI 생성 이미지를 프레젠테이션에 통합
- Markdownify - 프레젠테이션을 Markdown으로 변환하거나 Markdown에서 프레젠테이션 생성