Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UNSPLASH_KEY | No | Access key for the Unsplash API to enable image search and integration tools. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_presentation | Create a new Keynote presentation |
| open_presentation | Open an existing Keynote presentation |
| save_presentation | Save a presentation |
| close_presentation | Close a presentation |
| list_presentations | List all open presentations |
| set_presentation_theme | Set presentation theme |
| get_presentation_info | Get presentation info (name, slide count, theme) |
| get_available_themes | Get list of available themes |
| get_presentation_resolution | Get presentation resolution (width, height, aspect ratio) |
| get_slide_size | Get slide size, aspect ratio, and layout reference info |
| add_slide | Add a new slide to the presentation |
| delete_slide | Delete a slide |
| duplicate_slide | Duplicate a slide |
| move_slide | Move a slide to a different position |
| get_slide_count | Get slide count |
| select_slide | Select a specific slide |
| set_slide_layout | Set slide layout |
| get_slide_info | Get slide info (number, layout, text item count) |
| get_available_layouts | Get list of available slide layouts |
| add_text_box | Add a text box to a slide |
| add_title | Add a title to a slide |
| add_subtitle | Add a subtitle to a slide |
| add_bullet_list | Add a bullet list to a slide |
| add_numbered_list | Add a numbered list to a slide |
| add_code_block | Add a code block to a slide |
| add_quote | Add a quote to a slide |
| add_image | Add an image to a slide |
| get_slide_content | Get all elements on a slide — returns counts and details for text items, images, shapes, and tables |
| edit_text_item | Edit a text item's content by index on a slide |
| delete_element | Delete an element by type and index from a slide |
| move_element | Move an element to new coordinates on a slide |
| resize_element | Resize an element on a slide |
| get_speaker_notes | Get presenter notes from a slide |
| set_speaker_notes | Set presenter notes on a slide |
| clear_slide | Clear all user-created content from a slide, preserving background images and theme placeholders |
| set_element_opacity | Set opacity (0-100) on any element |
| add_build_in | Add a Build In animation to an element so it appears step-by-step (e.g. bullets one by one on click). Uses UI scripting — requires Accessibility permissions. |
| remove_build_in | Remove Build In animation from an element. Uses UI scripting. |
| add_builds_to_slide | Add Build In animations to multiple elements on a slide in one call. Applies builds in order so elements appear sequentially on click. Auto-skips bullet dots (text items containing only '•'). Uses UI scripting. |
| add_shape | Create a rectangle shape with optional position, size, and opacity |
| screenshot_slide | Take a screenshot of a single slide |
| export_pdf | Export presentation as PDF |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |