Skip to main content
Glama

open-presentation

Open an existing presentation and create a backup copy using the Powerpoint MCP Server. Specify the presentation name and optional output path to save the duplicated file.

Instructions

Opens an existing presentation and saves a copy to a new file for backup. Use this tool when the user requests to open a presentation that has already been created.

Input Schema

NameRequiredDescriptionDefault
output_pathNoPath where to save the presentation (optional)
presentation_nameYesName of the presentation to open

Input Schema (JSON Schema)

{ "properties": { "output_path": { "description": "Path where to save the presentation (optional)", "type": "string" }, "presentation_name": { "description": "Name of the presentation to open", "type": "string" } }, "required": [ "presentation_name" ], "type": "object" }

Implementation Reference

  • Handler logic for the 'open-presentation' tool: loads PPTX file using python-pptx, sanitizes path, creates backup, stores in PresentationManager, returns success message.
    if name == "open-presentation": presentation_name = arguments.get("presentation_name") if not presentation_name: raise ValueError("Missing presentation name") file_name = f"{presentation_name}.pptx" try: safe_file_path = sanitize_path(folder_path, file_name) except ValueError as e: raise ValueError(f"Invalid file path: {str(e)}") # attempt to load presentation try: prs = Presentation(safe_file_path) except Exception as e: raise ValueError(f"Unable to load {safe_file_path}. Error: {str(e)}") # Create a backup of the original file file_name = BACKUP_FILE_NAME try: safe_file_path = sanitize_path(folder_path, file_name) except ValueError as e: raise ValueError(f"Invalid file path: {str(e)}") # attempt to save a backup of presentation try: prs.save(safe_file_path) except Exception as e: raise ValueError(f"Unable to save {safe_file_path}. Error: {str(e)}") presentation_manager.presentations[presentation_name] = prs return [ types.TextContent( type="text", text=f"Opened presentation: {presentation_name}" ) ]
  • Tool registration in list_tools(), including input schema defining 'presentation_name' (required) and optional 'output_path'.
    types.Tool( name="open-presentation", description="Opens an existing presentation and saves a copy to a new file for backup. Use this tool when " "the user requests to open a presentation that has already been created.", inputSchema={ "type": "object", "properties": { "presentation_name": { "type": "string", "description": "Name of the presentation to open", }, "output_path": { "type": "string", "description": "Path where to save the presentation (optional)", }, }, "required": ["presentation_name"], }, ),

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/supercurses/powerpoint'

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