Keynote Harvest MCP runs on your own machine — the client starts it, so there is no endpoint to ping. 20 installs a week from npm. Last commit 2 Sep 2026.
Harvest Keynote and PDF slide decks into previews, text, image assets, and a manifest for agents.
We read the source, 4 d ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
const result = spawnSync(command, args, {
const prefix = path.join(previewsDir, basename);
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add keynote-harvest-mcp -e 'KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS=<KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS>' -- npx -y keynote-harvest-mcp
{
"mcpServers": {
"keynote-harvest-mcp": {
"command": "npx",
"args": [
"-y",
"keynote-harvest-mcp"
],
"env": {
"KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS": "<KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS>"
}
}
}
}
[mcp_servers.keynote-harvest-mcp]
command = "npx"
args = ["-y", "keynote-harvest-mcp"]
env = { KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS = "<KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS>" }
{
"mcpServers": {
"keynote-harvest-mcp": {
"command": "npx",
"args": [
"-y",
"keynote-harvest-mcp"
],
"env": {
"KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS": "<KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS>"
}
}
}
}
{
"servers": {
"keynote-harvest-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"keynote-harvest-mcp"
],
"env": {
"KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS": "<KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS>"
}
}
}
}
Put your own value in place of
<KEYNOTE_HARVEST_ALLOWED_INPUT_ROOTS> (Path-delimited directories the server may read decks from (e.g. your Keynote documents and Downloads). Required to harvest local files).
The author’s registry entry marks it as required.
Optional settings from the registry entry, left out of the block above:
KEYNOTE_HARVEST_ROOT (Directory where harvests are written. Defaults to .harvests under the working directory), KEYNOTE_HARVEST_WORKING_DIRECTORY (Directory relative paths resolve from. Defaults to the host's current directory).
PDF, image, video, OCR, screenshot, SQL, QR and text tools for agents. No API key, no signup.
Document conversion and OCR for AI agents: PDF, Office docs, images to text.
Fill an HTML template with JSON and get a hosted PDF or image link. Free previews, no key.
Extract text from documents, manipulate PDFs, and perform OCR on images.
PDF reader for vision LLMs. Auto-detects text corruption and switches to image mode.
Turn PDF slide decks into timed, word-for-word speaking scripts; edit and download them in chat.
Print-on-demand for agents: upload a PDF, get a printed book delivered in India.
Hosted MCP for iReceipt.pro: author, validate and preview HTML templates rendered to PDF and images.
Answers built from our own checks of this server.