keynote-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| keynote_list_presentationsA | List all currently open Keynote presentations. Returns index, name, slide count, and file path for each. |
| keynote_get_presentation_infoA | Get metadata for an open presentation: slide count, available master slide names, and file path. Call this first to understand what masters are available before redesigning. |
| keynote_get_slideA | Get the full element tree for a single slide: all text boxes, images, and shapes with their position, size, font, and color. Use this to understand the structure of a slide before editing it. |
| keynote_export_slide_imageA | Export a single slide as a PNG image. Returns the file path. Use the Read tool on that path to visually analyze the slide with vision. |
| keynote_export_all_slidesA | Export all slides as PNG images to /tmp/keynote-mcp-export/. Returns the list of file paths. Use Read on each path to visually analyze slides. |
| keynote_get_design_snapshotA | One-call setup for redesign: exports all slides as PNG images AND returns the full element tree for every slide. This is the best starting point for a full presentation redesign or polish pass. |
| keynote_set_textB | Replace the text content of a text element on a slide. Preserves existing font styling. |
| keynote_set_fontA | Set font family, size, and/or color on a text element. Any omitted fields are left unchanged. Use this to enforce typographic consistency across slides. |
| keynote_set_element_positionB | Move an element to a new position on the slide. Coordinates are in points from the top-left corner. Keynote standard slide is 1920×1080 pts. |
| keynote_set_element_sizeB | Resize an element on the slide. Dimensions are in points. |
| keynote_set_slide_backgroundB | Change the background color of a slide to a solid color. Use this to establish a consistent color palette across all slides. |
| keynote_set_element_fill_colorC | Change the fill color of a shape element. |
| keynote_delete_elementA | Delete an element from a slide. Use with care — this cannot be undone via the MCP. Keynote undo (Cmd+Z) still works in the app. |
| keynote_add_text_boxB | Add a new text box to a slide at a specified position and size. |
| keynote_add_shapeB | Add a new shape (rectangle or oval) to a slide. Optionally set a fill color. |
| keynote_apply_masterA | Apply a master slide to one slide or all slides. Use keynote_get_presentation_info first to see available master names. Applying a blank master before color changes can help unlock the background. |
| keynote_add_slideA | Add a new blank slide at the end of the presentation. |
| keynote_delete_slideB | Delete a slide from the presentation. |
| keynote_duplicate_slideA | Duplicate a slide. The copy is inserted immediately after the original. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/tszaks/keynote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server