Skip to main content
Glama
hulin42

keynote-harvest-mcp

by hulin42

harvest_keynote_pdf

Convert an exported Keynote PDF into a harvest manifest, extracting slide previews, text, and embedded images for reuse.

Instructions

Harvest an exported Keynote PDF into a KeynoteHarvestManifest using the local PDF-first pipeline.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYes
titleYes
outDirNoWhere to write the harvest output. Must stay inside the harvest root unless allowOutsideHarvestRoot is true. Defaults to <harvest root>/<slug>.
pdfPathYesPath to the PDF to harvest.
maxPagesNoMaximum PDF pages to harvest. Defaults to 300; longer decks are truncated with a manifest warning.
previewDpiNoRender resolution for slide preview PNGs, in DPI. Defaults to 144 (about 2x for a 72pt-based deck); raise it when previews double as reusable imagery.
sourceKindNo
extractImagesNoExtract embedded images into assets/ using Poppler pdfimages. Defaults to true; when pdfimages is unavailable the harvest continues with a manifest warning. Pass false to skip extraction, or true to require pdfimages and fail without it.
sourceSummaryPathNo
allowOutsideHarvestRootNoExplicitly allow outDir to resolve outside the harvest root. Defaults to false: harvest writes are contained to the harvest root.
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only describes what the tool does at a high level. It does not mention that harvest writes files to disk, requires a local pipeline, may truncate long decks, or depends on external tools like Poppler.

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

Conciseness4/5

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

The description is a single, tight sentence with no wasted words and the key outcome is front-loaded. It is concise, though perhaps too terse for a 10-parameter tool with no output schema.

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

Completeness2/5

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

For a complex tool with 10 parameters, no annotations, and no output schema, the one-sentence description is not enough. It names the output type but omits usage sequence, side effects, failure modes, return shape, and key behavioral caveats, leaving the agent to infer too much.

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

Parameters2/5

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

The description adds no parameter-level meaning beyond the input schema. Schema description coverage is 60%, so several parameters such as slug, title, sourceKind, and sourceSummaryPath have no description in either the schema or the tool description.

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

Purpose4/5

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

The description names a specific verb ('Harvest'), a resource ('exported Keynote PDF'), and a concrete output type ('KeynoteHarvestManifest'), so the tool's main function is clear. It does not explicitly name or differentiate sibling tools like export_keynote_to_pdf or get_harvest_manifest, so it falls short of full sibling differentiation.

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

Usage Guidelines3/5

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

The phrase 'exported Keynote PDF' implies this tool is meant to be used after export_keynote_to_pdf, but it never states when to prefer this tool over alternatives, nor does it mention any exclusions or preconditions. Usage context is only implied, not explicitly guided.

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/hulin42/keynote-harvest-mcp'

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