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.
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
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
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.
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_contentReturns all content on a specific slide including title, body, text items, images, shapes, tables, and presenter notes.
get_full_presentation_contentReturns 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_slideDesigns a complete slide with automatic layout, typography, and color based on content and optional brand settings
design_deckDesigns multiple slides at once with automatic layout variety and consistent branding
set_brandSets brand configuration for subsequent design_slide and design_deck operations. Values persist until changed or cleared.
get_brandGets current brand configuration from the active Keynote theme, merged with any previously set brand overrides
list_layoutsLists all available slide layouts with descriptions, categories, and element details
list_templatesLists all available presentation templates with slide counts and descriptions
get_templateGets the full structure of a specific presentation template with slide-by-slide layout and content hints
design_from_templateCreates a full presentation from a template, using the template's layout sequence with provided content
export_to_pdfExports the frontmost Keynote presentation as a PDF file
export_to_imagesExports all slides of the frontmost presentation as individual image files to a directory
export_to_pptxExports the frontmost Keynote presentation as a Microsoft PowerPoint (.pptx) file
export_slide_to_imageadd_imageAdds an image file to a slide at a given position with optional width and height
replace_imageReplaces an existing image on a slide with a new image file
delete_imageRemoves an image from a slide
list_imagesLists all images on a slide with position, size, and file name info
set_image_positionRepositions and/or resizes an existing image on a slide
set_presenter_notesSets the presenter notes for a specific slide
get_presenter_notesGets the presenter notes for a specific slide
get_all_presenter_notesReturns presenter notes for all slides as an array of {slideIndex, notes}
create_presentationCreates a new blank Keynote presentation. Optionally specify a theme name.
open_presentationOpens a Keynote presentation (.key file) by file path.
save_presentationSaves the frontmost Keynote presentation. Optionally specify a file path for save-as.
close_presentationCloses the frontmost Keynote presentation.
list_presentationsLists all currently open Keynote presentations with their names and file paths.
get_presentation_infoReturns slide count, theme name, dimensions, and file path for a presentation. Defaults to the frontmost presentation.
add_shapeAdds a shape to a slide with specified type, position, size, and optional fill colour
delete_shapeRemoves a shape from a slide
list_shapesLists all shapes on a slide with position and size information
update_shapeModifies a shape's position, size, fill colour, border colour, or border width
add_slideAdds a new slide to the frontmost presentation. Optionally specify position and master slide name.
delete_slideRemoves a slide by its 1-based index from the frontmost presentation.
duplicate_slideDuplicates a slide by its 1-based index in the frontmost presentation.
move_slideMoves a slide from one position to another in the frontmost presentation.
get_slide_countReturns the total number of slides in the frontmost presentation.
list_slidesReturns an array of all slides in the frontmost presentation with index, title text, and layout name.
get_slide_layout_namesLists all available master slide (layout) names for the current theme of the frontmost presentation.
start_slideshowStarts the slideshow of the frontmost Keynote presentation. Optionally start from a specific slide.
stop_slideshowStops the currently running Keynote slideshow.
next_slideAdvances to the next slide or build during an active Keynote slideshow.
previous_slideGoes back to the previous slide or build during an active Keynote slideshow.
go_to_slideJumps to a specific slide during an active Keynote slideshow.
get_slideshow_statusReturns whether a slideshow is currently playing and the current slide number.
add_tableAdds a table to a slide with the specified number of rows and columns
set_table_cellSets the value of a specific cell in a table on a slide
set_table_dataBulk-sets table data from a 2D array of strings. Each inner array is a row.
get_table_dataReads all data from a table and returns it as a 2D array of strings
delete_tableRemoves a table from a slide
add_chartset_slide_titleSets the title text of a slide
set_slide_bodySets the body text of a slide
add_text_itemAdds a new text box to a slide at a specified position and size
update_text_itemUpdates the text content of an existing text item on a slide
delete_text_itemRemoves a text item from a slide
list_text_itemsLists all text items on a slide with their content, position, and size
format_textFormats a text item with font, size, color, bold, italic, and alignment options
list_themesLists available Keynote themes. Attempts to query Keynote directly; falls back to a curated list of standard themes.
apply_themeApplies a theme to the current Keynote presentation. This changes the document theme, updating master slides and default styling.
set_slide_background_colorSets a solid background color on a slide. Provide a hex color string like '#FF0000' for red.
set_slide_background_imageSets an image file as the background of a slide. The image file must be accessible on the local filesystem.
get_slide_masterGets the master slide (layout) name for a given slide.
change_slide_masterChanges the master slide (layout) of a slide. The master name must match one of the available master slides in the current theme.
set_slide_transitionSets 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_transitionGets the current transition effect, duration, and delay for a slide.
list_transition_typesReturns a list of all available Keynote slide transition effect names. These can be used with the set_slide_transition tool.
add_build_animationAdds 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_animationRemoves a build-in or build-out animation from an item on a slide.
list_build_animationsLists all build-in and build-out animations for every item on a given slide.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
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.
[](https://m8ven.ai/mcp/superdwayne/keynotemp)?variant=verified from the URL.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