Skip to main content
Glama

keynote_create

Generate a Keynote presentation from slide titles and bullet points, open it on screen, and optionally save it as a .key file with a custom layout.

Instructions

Generate a Keynote presentation and open it on screen.

Args: slides: list of {"title": "...", "bullets": ["...", "..."]}. Bullets are optional: without them the slide is title-only. layout: localized layout name (see keynote_layouts). If empty, the first one offering a bullet list is used. save_in: path to a .key file to save to. If empty it is only opened.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
layoutNo
slidesYes
save_inNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full behavioral burden. It discloses the side effect of opening the presentation on screen, explains that an empty save_in means 'only opened,' and specifies the default layout fallback. It does not cover permissions, error handling, or overwrite behavior, but covers the core actions well for a create operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured with a one-sentence summary followed by a labeled Args block. Every sentence adds necessary information without redundancy. It is easy to parse and front-loads the most important behavioral detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 params, one being a list of objects) and the presence of an output schema, the description provides complete coverage of invocation details, defaults, and behavior. It also correctly points to a sibling tool for layout names, closing the loop for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully explain each parameter. It does: slides format with optional bullets, layout as a localized name with default behavior, and save_in as a .key file path with the 'empty means only opened' nuance. This adds substantial meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear and specific verb+resource statement: 'Generate a Keynote presentation and open it on screen.' This distinguishes it from sibling tools for other iWork apps (Pages, Numbers) and from related Keynote tools (keynote_layouts, keynote_export_pdf).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context, telling how to structure slides, how layout defaults work, and how save_in affects behavior. It also references the keynote_layouts tool for valid layout names, which is an indirect alternative. However, it does not explicitly state when to use this tool versus other create tools or any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/atipicguy/iwork-mcp'

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