Office-PowerPoint-MCP-Server

GongRzhe/Office-PowerPoint-MCP-Server

4.3

Office-PowerPoint-MCP-Server is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.

If you are the rightful owner of Office-PowerPoint-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A MCP server for PowerPoint manipulation using python-pptx, providing tools for creating, editing, and manipulating PowerPoint presentations.

Try Office-PowerPoint-MCP-Server with chat:

Tools

Functions exposed to the LLM to take actions

create_presentation

Create a new PowerPoint presentation.

create_presentation_from_template

Create a new PowerPoint presentation from a template file.

open_presentation

Open an existing PowerPoint presentation from a file.

save_presentation

Save a presentation to a file.

get_presentation_info

Get information about a presentation.

get_template_file_info

Get information about a template file including layouts and properties.

set_core_properties

Set core document properties.

add_slide

Add a new slide to the presentation with optional background styling.

get_slide_info

Get information about a specific slide.

extract_slide_text

Extract all text content from a specific slide.

extract_presentation_text

Extract all text content from all slides in the presentation.

populate_placeholder

Populate a placeholder with text.

add_bullet_points

Add bullet points to a placeholder.

manage_text

Unified text management tool for adding, formatting, validating text, and formatting multiple text runs.

manage_image

Unified image management tool for adding and enhancing images.

add_table

Add a table to a slide with enhanced formatting options.

format_table_cell

Format a specific table cell.

add_shape

Add an auto shape to a slide with enhanced options.

add_chart

Add a chart to a slide with comprehensive formatting options.

apply_professional_design

Unified professional design tool for themes, slides, and visual enhancements. This applies professional styling and themes rather than structural layout changes.

apply_picture_effects

Apply multiple picture effects in combination.

manage_fonts

Unified font management tool for analysis, optimization, and recommendations.

list_slide_templates

List all available slide layout templates.

apply_slide_template

    Apply a structured layout template to an existing slide.
    This modifies slide layout and content structure using predefined templates.
    
    Args:
        slide_index: Index of the slide to apply template to
        template_id: ID of the template to apply (e.g., 'title_slide', 'text_with_image')
        color_scheme: Color scheme to use ('modern_blue', 'corporate_gray', 'elegant_green', 'warm_red')
        content_mapping: Dictionary mapping element roles to custom content
        image_paths: Dictionary mapping image element roles to file paths
        presentation_id: Presentation ID (uses current if None)
    

create_slide_from_template

    Create a new slide using a layout template.
    
    Args:
        template_id: ID of the template to use (e.g., 'title_slide', 'text_with_image')
        color_scheme: Color scheme to use ('modern_blue', 'corporate_gray', 'elegant_green', 'warm_red')
        content_mapping: Dictionary mapping element roles to custom content
        image_paths: Dictionary mapping image element roles to file paths
        layout_index: PowerPoint layout index to use as base (default: 1)
        presentation_id: Presentation ID (uses current if None)
    

create_presentation_from_templates

    Create a complete presentation from a sequence of templates.
    
    Args:
        template_sequence: List of template configurations, each containing:
            - template_id: Template to use
            - content: Content mapping for the template
            - images: Image path mapping for the template
        color_scheme: Color scheme to apply to all slides
        presentation_title: Optional title for the presentation
        presentation_id: Presentation ID (uses current if None)
    
    Example template_sequence:
    [
        {
            "template_id": "title_slide",
            "content": {
                "title": "My Presentation",
                "subtitle": "Annual Report 2024",
                "author": "John Doe"
            }
        },
        {
            "template_id": "text_with_image",
            "content": {
                "title": "Key Results",
                "content": "• Achievement 1\n• Achievement 2"
            },
            "images": {
                "supporting": "/path/to/image.jpg"
            }
        }
    ]
    

get_template_info

    Get detailed information about a specific template.
    
    Args:
        template_id: ID of the template to get information about
    

auto_generate_presentation

    Automatically generate a presentation based on topic and preferences.
    
    Args:
        topic: Main topic/theme for the presentation
        slide_count: Number of slides to generate (3-20)
        presentation_type: Type of presentation ('business', 'academic', 'creative')
        color_scheme: Color scheme to use
        include_charts: Whether to include chart slides
        include_images: Whether to include image placeholders
        presentation_id: Presentation ID (uses current if None)
    

optimize_slide_text

    Optimize text elements on a slide for better readability and fit.
    
    Args:
        slide_index: Index of the slide to optimize
        auto_resize: Whether to automatically resize fonts to fit containers
        auto_wrap: Whether to apply intelligent text wrapping
        optimize_spacing: Whether to optimize line spacing
        min_font_size: Minimum allowed font size
        max_font_size: Maximum allowed font size
        presentation_id: Presentation ID (uses current if None)
    

manage_hyperlinks

    Manage hyperlinks in text shapes and runs.
    
    Args:
        operation: Operation type ("add", "remove", "list", "update")
        slide_index: Index of the slide (0-based)
        shape_index: Index of the shape on the slide (0-based)
        text: Text to make into hyperlink (for "add" operation)
        url: URL for the hyperlink
        run_index: Index of text run within the shape (0-based)
        presentation_id: Optional presentation ID (uses current if not provided)
        
    Returns:
        Dictionary with operation results
    

update_chart_data

    Replace existing chart data with new categories and series.
    
    Args:
        slide_index: Index of the slide (0-based)
        shape_index: Index of the chart shape (0-based)
        categories: List of category names
        series_data: List of dictionaries with 'name' and 'values' keys
        presentation_id: Optional presentation ID (uses current if not provided)
        
    Returns:
        Dictionary with operation results
    

add_connector

    Add connector lines/arrows between points on a slide.
    
    Args:
        slide_index: Index of the slide (0-based)
        connector_type: Type of connector ("straight", "elbow", "curved")
        start_x: Starting X coordinate in inches
        start_y: Starting Y coordinate in inches
        end_x: Ending X coordinate in inches  
        end_y: Ending Y coordinate in inches
        line_width: Width of the connector line in points
        color: RGB color as [r, g, b] list
        presentation_id: Optional presentation ID (uses current if not provided)
        
    Returns:
        Dictionary with operation results
    

manage_slide_masters

    Access and manage slide master properties and layouts.
    
    Args:
        operation: Operation type ("list", "get_layouts", "get_info")
        master_index: Index of the slide master (0-based)
        layout_index: Index of specific layout within master (0-based)
        presentation_id: Optional presentation ID (uses current if not provided)
        
    Returns:
        Dictionary with slide master information
    

manage_slide_transitions

    Manage slide transitions and timing.
    
    Args:
        slide_index: Index of the slide (0-based)
        operation: Operation type ("set", "remove", "get")
        transition_type: Type of transition (basic support)
        duration: Duration of transition in seconds
        presentation_id: Optional presentation ID (uses current if not provided)
        
    Returns:
        Dictionary with transition information
    

list_presentations

List all loaded presentations.

switch_presentation

Switch to a different loaded presentation.

get_server_info

Get information about the MCP server.

Prompts

Interactive templates invoked by user choice

No prompts

Resources

Contextual data attached and managed by the client

No resources