Keynote MCP Server (superdwayne/keynoteMP) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 70 tools. No publisher has claimed this listing.

D
Caution
54/100

Keynote MCP Server

Provides full programmatic control over Apple Keynote through the Model Context Protocol, enabling creation, editing, presenting, and exporting of presentations via natural language.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

superdwayne

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Known vulnerabilities in dependencies: 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
// tools this server exposes70 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

get_slide_content

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

get_full_presentation_content

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.

design_slide

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

design_deck

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

set_brand

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

get_brand

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

list_layouts

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

list_templates

Lists all available presentation templates with slide counts and descriptions

get_template

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

design_from_template

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

export_to_pdf

Exports the frontmost Keynote presentation as a PDF file

export_to_images

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

export_to_pptx

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

export_slide_to_image
add_image

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

replace_image

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

delete_image

Removes an image from a slide

list_images

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

set_image_position

Repositions and/or resizes an existing image on a slide

set_presenter_notes

Sets the presenter notes for a specific slide

get_presenter_notes

Gets the presenter notes for a specific slide

get_all_presenter_notes

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

create_presentation

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

open_presentation

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

save_presentation

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

close_presentation

Closes the frontmost Keynote presentation.

list_presentations

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

get_presentation_info

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

add_shape

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

delete_shape

Removes a shape from a slide

list_shapes

Lists all shapes on a slide with position and size information

update_shape

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

add_slide

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

delete_slide

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

duplicate_slide

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

move_slide

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

get_slide_count

Returns the total number of slides in the frontmost presentation.

list_slides

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

get_slide_layout_names

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

start_slideshow

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

stop_slideshow

Stops the currently running Keynote slideshow.

next_slide

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

previous_slide

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

go_to_slide

Jumps to a specific slide during an active Keynote slideshow.

get_slideshow_status

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

add_table

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

set_table_cell

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

set_table_data

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

get_table_data

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

delete_table

Removes a table from a slide

add_chart
set_slide_title

Sets the title text of a slide

set_slide_body

Sets the body text of a slide

add_text_item

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

update_text_item

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

delete_text_item

Removes a text item from a slide

list_text_items

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

format_text

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

list_themes

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

apply_theme

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

set_slide_background_color

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

set_slide_background_image

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

get_slide_master

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

change_slide_master

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_transition

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_transition

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

list_transition_types

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

add_build_animation

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_animation

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

list_build_animations

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

// known CVEs in dependencies3 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@1.12.1GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.12.1GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.12.1GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

70/70 tools missing one or more hints — get_slide_content (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_full_presentation_content (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); design_slide (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +67 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool inputs are validated

40/70 tool handlers declare input schemas (57%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tool handlers catch errors

69/70 tool handlers wrap calls in try/catch (99%)

Wrap each tool handler body in try/catch and return a structured error response.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tool test coverage

Only 0/70 tools referenced in tests (0%)

Write tests that reference each tool by name so every tool has at least one test.

Production dependencies are patched

0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.12.1 (high), @modelcontextprotocol/sdk@1.12.1 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/superdwayne/keynotemp?variant=verified)](https://m8ven.ai/mcp/superdwayne/keynotemp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 2dae57757beb2caabb5707acb3d8cde646b034bd
code hash: 4720f870f1f0a894299d92781d42cfa187b3ad4dd5306af3261f5b66a054a5c8
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client