Skip to main content
Glama
jenstangen1

PowerPoint MCP Server

by jenstangen1

PowerPoint MCP 서버

AI 지원을 통해 PowerPoint 프레젠테이션을 제작하고 조작할 수 있는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 AI 모델이 PowerPoint 파일과 상호 작용할 수 있도록 포괄적인 API를 제공하여 고급 서식, 재무 차트 및 데이터 통합을 지원합니다.

특징

프레젠테이션 관리

  • PowerPoint 프레젠테이션 만들기 및 수정

  • 슬라이드 추가, 삭제 및 수정

  • 작업 공간에서 프레젠테이션 저장 및 로드

  • 템플릿 관리 시스템

요소 작업

  • 슬라이드 요소(텍스트, 도형, 이미지, 차트)에 대한 세부적인 제어

  • 고급 모양 생성 및 스타일링

  • 요소 위치 지정 및 그룹화

  • 모양 사이의 연결선

금융 통합

  • 재무 차트(선형, 막대형, 세로형, 원형, 폭포형 등)를 만듭니다.

  • 비교표 생성

  • 다양한 재무 지표 지원:

    • 수익

    • EBITDA

    • 이익

    • 자산

    • 형평성

    • 성장률

    • 여백

  • 현재 더미 데이터를 사용하고 있으며 노르웨이 회사 데이터에 Proff API를 통합할 계획입니다.

  • API 사용자 정의를 통해 다른 금융 데이터 제공자에게 적용 가능

스타일 및 서식

  • 서식 있는 텍스트 형식

  • 모양 스타일(채우기, 그라데이션, 윤곽선)

  • 차트 사용자 정의

  • 배경색 및 효과

Related MCP server: MCP Server for Cappt

설치

  1. 저장소를 복제합니다.

지엑스피1

  1. 종속성 설치:

pip install -r requirements.txt

클로드와 함께 설정

Claude의 인터페이스에 MCP 설치

이 PowerPoint MCP를 Claude와 통합하려면 다음 JSON 구성을 Claude MCP 파일에 추가하세요.

{ "mcpServers": { "powerpoint_mcp": { "command": "uv", "args": [ "--directory", "your directory here", "run", "mcp_powerpoint_server.py" ] } } }

참고: 설치 위치와 일치하도록 디렉토리 경로를 수정해야 할 수도 있습니다.

사용 가능한 MCP 도구

프레젠테이션 관리

  • list_presentations : 작업 공간에 있는 모든 PowerPoint 파일을 나열합니다.

  • upload_presentation : 작업 공간에 새 프레젠테이션을 업로드합니다.

  • save_presentation : 현재 프레젠테이션을 저장합니다.

슬라이드 작업

  • add_slide : 프레젠테이션에 새 슬라이드를 추가합니다.

  • delete_slide : 프레젠테이션에서 슬라이드를 삭제합니다.

  • get_slide_count : 프레젠테이션의 총 슬라이드 수를 가져옵니다.

  • analyze_slide : 슬라이드의 내용을 분석합니다.

  • set_background_color : 슬라이드의 배경색을 설정합니다.

요소 작업

  • add_text : 슬라이드에 텍스트 추가

  • add_shape : 슬라이드에 도형 추가

  • edit_element : 요소의 속성을 편집합니다.

  • style_element : 요소에 스타일을 적용합니다

  • connect_shapes : 커넥터를 사용하여 두 개의 모양을 연결합니다.

  • find_element : 기준에 따라 슬라이드에서 요소 찾기

금융 도구

  • get_company_financials : 회사의 재무 데이터를 가져옵니다(현재는 더미 데이터를 반환합니다)

  • create_financial_chart : 슬라이드에 재무 차트를 만듭니다.

  • create_comparison_table : 회사별 비교표를 생성합니다.

참고: 현재 금융 도구는 더미 데이터를 사용합니다. 향후 버전에서는 Proff API와 통합하여 노르웨이 기업 데이터를 자동으로 가져올 계획입니다. 사용자는 코드를 수정하여 현지 또는 선호하는 금융 데이터 제공업체와 연결할 수 있습니다.

템플릿 작업

  • list_templates : 사용 가능한 모든 템플릿을 나열합니다.

  • apply_template : 프레젠테이션에 템플릿을 적용합니다.

  • create_slide_from_template : 템플릿에서 새 슬라이드를 만듭니다.

  • save_as_template : 슬라이드를 템플릿으로 저장합니다.

디버그 도구

  • debug_element_mappings : 슬라이드의 요소 매핑을 검사하는 디버그 도구

용법

서버 시작

서버를 실행합니다:

python mcp_powerpoint_server.py

서버는 프레젠테이션과 템플릿이 존재하지 않으면 이를 위한 작업 공간 디렉토리를 생성합니다.

기본 작업

# List presentations presentations = mcp.list_presentations() # Create a new slide slide_index = mcp.add_slide(presentation_path, layout_name="Title and Content") # Add text to a slide element_id = mcp.add_text( presentation_path=presentation_path, slide_index=slide_index, text="Hello World", position=[1.0, 1.0], font_size=24 ) # Add a shape shape_id = mcp.add_shape( presentation_path=presentation_path, slide_index=slide_index, shape_type="rectangle", position={"x": 2.0, "y": 2.0}, size={"width": 2.0, "height": 1.0} )

금융 차트

# Create a financial chart chart_id = mcp.create_financial_chart( presentation_path=presentation_path, slide_index=slide_index, chart_type="column", data={ "categories": ["2020", "2021", "2022"], "series": [{ "name": "Revenue", "values": [1000000, 1200000, 1500000] }] }, position={"x": 1.0, "y": 1.0}, size={"width": 6.0, "height": 4.0}, title="Revenue Growth" ) # Create a comparison table table_id = mcp.create_comparison_table( presentation_path=presentation_path, slide_index=slide_index, companies=["Company A", "Company B"], metrics=["revenue", "ebitda", "margin"], position={"x": 1.0, "y": 1.0}, title="Company Comparison" )

템플릿 관리

# List available templates templates = mcp.list_templates() # Apply a template mcp.apply_template( presentation_path=presentation_path, template_name="financial_report", options={ "apply_master": True, "apply_theme": True, "apply_layouts": True } ) # Create a slide from template mcp.create_slide_from_template( presentation_path=presentation_path, template_name="comparison_slide", content={ "title": "Market Analysis", "subtitle": "Q3 2023" } )

디렉토리 구조

pptx-mcp/ ├── mcp_powerpoint_server.py # Main server implementation ├── requirements.txt # Python dependencies ├── presentations/ # Workspace for presentations │ └── templates/ # Template storage └── README.md # This file

종속성

  • python-pptx: PowerPoint 파일 조작

  • 베개: 이미지 처리

  • numpy: 수치 연산

  • MCP SDK: 모델 컨텍스트 프로토콜 구현

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jenstangen1/pptx-xlsx-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server