Skip to main content
Glama
superdwayne

Keynote MCP Server

by superdwayne

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_presentationB

Creates a new blank Keynote presentation. Optionally specify a theme name.

open_presentationA

Opens a Keynote presentation (.key file) by file path.

save_presentationA

Saves the frontmost Keynote presentation. Optionally specify a file path for save-as.

close_presentationB

Closes the frontmost Keynote presentation.

list_presentationsA

Lists all currently open Keynote presentations with their names and file paths.

get_presentation_infoA

Returns slide count, theme name, dimensions, and file path for a presentation. Defaults to the frontmost presentation.

add_slideB

Adds a new slide to the frontmost presentation. Optionally specify position and master slide name.

delete_slideA

Removes a slide by its 1-based index from the frontmost presentation.

duplicate_slideA

Duplicates a slide by its 1-based index in the frontmost presentation.

move_slideB

Moves a slide from one position to another in the frontmost presentation.

get_slide_countA

Returns the total number of slides in the frontmost presentation.

list_slidesA

Returns an array of all slides in the frontmost presentation with index, title text, and layout name.

get_slide_layout_namesA

Lists all available master slide (layout) names for the current theme of the frontmost presentation.

set_slide_titleB

Sets the title text of a slide

set_slide_bodyB

Sets the body text of a slide

add_text_itemA

Adds a new text box to a slide at a specified position and size

update_text_itemB

Updates the text content of an existing text item on a slide

delete_text_itemC

Removes a text item from a slide

list_text_itemsB

Lists all text items on a slide with their content, position, and size

format_textB

Formats a text item with font, size, color, bold, italic, and alignment options

add_imageB

Adds an image file to a slide at a given position with optional width and height

replace_imageB

Replaces an existing image on a slide with a new image file

delete_imageB

Removes an image from a slide

list_imagesA

Lists all images on a slide with position, size, and file name info

set_image_positionA

Repositions and/or resizes an existing image on a slide

set_presenter_notesB

Sets the presenter notes for a specific slide

get_presenter_notesA

Gets the presenter notes for a specific slide

get_all_presenter_notesA

Returns presenter notes for all slides as an array of {slideIndex, notes}

list_themesA

Lists available Keynote themes. Attempts to query Keynote directly; falls back to a curated list of standard themes.

apply_themeA

Applies a theme to the current Keynote presentation. This changes the document theme, updating master slides and default styling.

set_slide_background_colorB

Sets a solid background color on a slide. Provide a hex color string like '#FF0000' for red.

set_slide_background_imageA

Sets an image file as the background of a slide. The image file must be accessible on the local filesystem.

get_slide_masterA

Gets the master slide (layout) name for a given slide.

change_slide_masterA

Changes the master slide (layout) of a slide. The master name must match one of the available master slides in the current theme.

set_slide_transitionA

Sets the transition effect for a slide. Common effects: 'none', 'magic move', 'dissolve', 'push', 'reveal', 'cube', 'flip', 'wipe', 'shimmer', 'sparkle'. Use list_transition_types to see all available effects.

get_slide_transitionA

Gets the current transition effect, duration, and delay for a slide.

list_transition_typesA

Returns a list of all available Keynote slide transition effect names. These can be used with the set_slide_transition tool.

add_build_animationC

Adds a build-in or build-out animation to an item on a slide. Build-in animations play when the item appears; build-out animations play when it exits.

remove_build_animationA

Removes a build-in or build-out animation from an item on a slide.

list_build_animationsA

Lists all build-in and build-out animations for every item on a given slide.

add_tableC

Adds a table to a slide with the specified number of rows and columns

set_table_cellC

Sets the value of a specific cell in a table on a slide

set_table_dataB

Bulk-sets table data from a 2D array of strings. Each inner array is a row.

get_table_dataA

Reads all data from a table and returns it as a 2D array of strings

delete_tableB

Removes a table from a slide

add_chartA

Adds a chart to a slide. Note: Keynote's AppleScript support for charts is limited. This creates a chart and attempts to set the chart type. Data series configuration may require manual adjustment in Keynote due to AppleScript limitations.

start_slideshowA

Starts the slideshow of the frontmost Keynote presentation. Optionally start from a specific slide.

stop_slideshowA

Stops the currently running Keynote slideshow.

next_slideA

Advances to the next slide or build during an active Keynote slideshow.

previous_slideA

Goes back to the previous slide or build during an active Keynote slideshow.

go_to_slideA

Jumps to a specific slide during an active Keynote slideshow.

get_slideshow_statusA

Returns whether a slideshow is currently playing and the current slide number.

export_to_pdfB

Exports the frontmost Keynote presentation as a PDF file

export_to_imagesB

Exports all slides of the frontmost presentation as individual image files to a directory

export_to_pptxA

Exports the frontmost Keynote presentation as a Microsoft PowerPoint (.pptx) file

export_slide_to_imageA

Exports a single slide as an image file. Exports all slides to a temporary directory, then copies the specific slide image to the target path.

get_slide_contentA

Returns all content on a specific slide including title, body, text items, images, shapes, tables, and presenter notes.

get_full_presentation_contentA

Returns a structured summary of the entire presentation including name, slide count, theme, and per-slide summaries with titles, body text, item counts, and presenter notes.

add_shapeB

Adds a shape to a slide with specified type, position, size, and optional fill colour

delete_shapeB

Removes a shape from a slide

list_shapesA

Lists all shapes on a slide with position and size information

update_shapeB

Modifies a shape's position, size, fill colour, border colour, or border width

design_slideB

Designs a complete slide with automatic layout, typography, and color based on content and optional brand settings

design_deckB

Designs multiple slides at once with automatic layout variety and consistent branding

set_brandA

Sets brand configuration for subsequent design_slide and design_deck operations. Values persist until changed or cleared.

get_brandA

Gets current brand configuration from the active Keynote theme, merged with any previously set brand overrides

list_layoutsA

Lists all available slide layouts with descriptions, categories, and element details

list_templatesA

Lists all available presentation templates with slide counts and descriptions

get_templateA

Gets the full structure of a specific presentation template with slide-by-slide layout and content hints

design_from_templateA

Creates a full presentation from a template, using the template's layout sequence with provided content

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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/superdwayne/keynoteMP'

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