Atril
Enables Claude to control Apple Keynote on macOS, creating, reading, editing, animating, reviewing, and exporting presentations with themes, real LaTeX equations, scientific charts, tables, figures, and slide review tools.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Atril Hazme una presentación de 8 diapositivas sobre mi tesis y expórtala a PDF"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Atril
Servidor MCP para que Claude haga presentaciones de Keynote: crearlas con un formato consistente, leerlas, editarlas, animarlas, revisarlas y exportarlas. Pensado para trabajo científico y académico: ecuaciones en LaTeX real, gráficas científicas con barras de error y escalas logarítmicas, figuras con pie de origen y una revisión automática antes de presentar.
An MCP server that lets Claude build, read, edit, animate, review and export Apple Keynote presentations on macOS, with configurable themes, real LaTeX equations and scientific charts. Tool names and docs are in Spanish for now.
Estado: en desarrollo (0.1). Probado con Keynote Creator Studio 15.3.1 en macOS 26.
Qué puede hacer
Formato con temas:
crear_con_formatoy una herramienta por tipo de diapositiva (portada, divisor, contenido, figura, tabla, cierre). El tema fija paleta, tipografías y fondos; trae dos (noche, oscuro, ypapel, claro) y puedes crear el tuyo.Contenido: tablas con estilo, gráficas nativas de Keynote, ecuaciones LaTeX (vectoriales), gráficas científicas con matplotlib, figuras con la paleta (rectángulos, flechas, estrellas, bocadillos…), cifras destacadas, tarjetas, agenda y video.
Animación: viñetas que entran una por clic, Magic Move (aparecer, mover, escalar, resaltar, revelar series), 44 transiciones.
Edición: buscar y reemplazar en toda la presentación, alinear y distribuir objetos, fusionar y ordenar celdas, mover, ocultar o borrar diapositivas.
Revisión:
revisar_presentacionreporta texto fuera de la diapositiva, cuerpo que Keynote encoge, contraste bajo (medido en la imagen real), figuras sin pie de origen, textos de muestra sobrantes, letra pequeña y diapositivas sin notas.Exportar: PDF (también con las notas debajo de cada diapositiva), PowerPoint, PNG, JPEG, video, HTML, Keynote ’09 y GIF animado.
Tus archivos nunca se modifican: Atril trabaja sobre copias en su carpeta de trabajo.
Related MCP server: keynote-mcp
Requisitos
macOS con Keynote. Atril lo controla por AppleScript/JXA: la primera vez macOS pide permiso de Automatización para controlar Keynote.
Node ≥ 23.6 (corre TypeScript directo, sin compilar).
Opcionales:
ecuacion: TeX Live o MacTeX (pdflatex).grafica_cientifica: Python 3 con matplotlib y numpy (ATRIL_PYTHONpara elegir el intérprete).Exportar a GIF y las pruebas de video: ffmpeg.
Instalación
git clone https://github.com/edgarperatla-create/atril-mcp.gitcd atril-mcp && npm installRegistrar en Claude Code (alcance de usuario: lo ven todas las sesiones):
claude mcp add --scope user atril -- node "$PWD/src/index.ts"Con otro tema o carpeta de trabajo:
claude mcp add --scope user atril -e ATRIL_TEMA=papel -e ATRIL_DIR="$HOME/Presentaciones/Atril" -- node "$PWD/src/index.ts"Variable | Qué fija | Por omisión |
| nombre de un tema de |
|
| carpeta de trabajo ( |
|
| Python con matplotlib para | el primero que encuentre |
Cómo pedir una presentación
Basta con decirle a Claude qué quieres; las instrucciones del servidor le enseñan el flujo (crear con formato, una herramienta por diapositiva, mirar cada una, revisar y exportar):
Hazme una presentación de 10 diapositivas sobre el avance del proyecto: portada, un divisor por sección, las figuras de
figuras/con su pie de origen, la ecuación del estimador, notas con el guion y viñetas animadas en las conclusiones. Expórtala a PDF.
Abre
charla.pptxy dime qué diapositivas tienen texto encogido o figuras sin pie de origen.
Temas
Un tema es una carpeta con tema.json: roles de color (fondo, tarjeta, título, texto,
acento…), tipografías de títulos y de texto, fondo de portada (degradado o imagen con velo)
y si las figuras deben llevar pie de origen. npm run plantilla -- <tema> genera su
plantilla de Keynote. Detalles y ejemplo en temas/README.md.
Herramientas
Herramienta | Qué hace |
| id, nombre, archivo, diapositivas, tema, tamaño, si es editable |
| abre una copia de un |
| presentación nueva con un tema de Keynote; la guarda en la carpeta de trabajo |
| por diapositiva: diseño, título, cuerpo, notas, transición, objetos (con |
| diapositivas, textos y notas del presentador |
| PDF, PPTX, PNG, JPEG, video, HTML, Keynote ’09 o GIF; |
| imagen de una diapositiva, para que Claude la revise |
| solo para presentaciones de la carpeta de trabajo |
| presentación nueva con el tema activo (trae prototipos ocultos al final) |
| una diapositiva del formato; la figura va sobre tarjeta blanca con pie de origen |
| gráfica nativa de Keynote (17 tipos) con la paleta y leyenda |
| matplotlib → PDF vectorial: barras de error, cotas, log/symlog, bandas, histogramas, segundo eje, fórmulas |
| tabla con el estilo del tema; editar; fusionar, ordenar, filas y columnas |
| LaTeX real (amsmath y paquetes extra) como imagen vectorial |
| figuras vectoriales con la paleta y texto encima |
| componentes del formato |
| tipografía (de títulos o de texto), tamaño, color, negrita, cursiva |
| transiciones y animaciones con Magic Move |
| medios y objetos |
| disposición |
| en textos, notas y celdas de toda la presentación |
| manejo de diapositivas (los prototipos están protegidos) |
| una diapositiva por imagen |
| reporte de problemas por gravedad, con hoja de contacto |
| iniciar, avanzar, retroceder, detener (ocupa la pantalla) |
Reglas que el código hace cumplir
Copias, siempre.
abrircopia el archivo a la carpeta de trabajo antes de abrirlo.Solo es editable lo que tiene archivo dentro de la carpeta de trabajo. Lo demás (tus presentaciones, documentos sin guardar) se puede leer, ver y exportar, pero no modificar, guardar ni cerrar.
Nada de borradores en iCloud:
crearycrear_con_formatoguardan de inmediato en la carpeta de trabajo (sin archivo, Keynote deja unUntitled N.keyen iCloud al exportar).Exportar nunca sobrescribe: agrega
_2,_3…Los textos y rutas viajan como argumentos de
osascript, nunca interpolados en los scripts. LaTeX se compila sin shell-escape y sin\input.
Límites de Keynote por script
No se pueden fijar por script: el relleno de las figuras nativas, el espaciado de letras, la
alineación de párrafo, subíndices en texto, el color de cada serie de una gráfica nativa, los
bordes de tabla, los enlaces entre diapositivas, agrupar objetos o el orden de apilado. Atril
rodea varios: figuras y ecuaciones vectoriales, prototipos en la plantilla, Magic Move para
animar, leyendas propias. Duplicar o mover diapositivas entre dos documentos cierra Keynote
de golpe: Atril no lo hace. Detalles técnicos en CLAUDE.md.
Desarrollo
npm run checkLas pruebas hablan con el servidor por MCP real (stdio), abren Keynote y usan su propia carpeta
de trabajo en trabajo/ (con archivos de prueba sintéticos que generan ellas mismas):
node test/fase1.tsnode test/fase2.tsfase1 núcleo · fase2 formato (ATRIL_TEMA=papel para el tema claro) · fase3 gráficas,
tablas, transiciones y medios · fase4 animaciones · fase5 revisión · fase6 ecuaciones,
figuras y componentes · fase8 edición y exportación · fase9 gráficas científicas.
test/arranque_frio.ts cierra Keynote (se niega si hay documentos abiertos).
Seguridad
Atril controla Keynote en tu Mac con permisos de Automatización. Solo modifica archivos dentro
de su carpeta de trabajo, pero puede leer cualquier archivo que se le indique (por ejemplo,
abrir o insertar_medio). Si un texto malicioso engañara a Claude (inyección de prompt
desde una página, un correo o un documento), en teoría podría meter un archivo local en una
presentación; el archivo no sale de tu Mac a menos que compartas esa presentación. Revisa lo
que Claude va a insertar antes de compartir una presentación, y no le pidas trabajar con
material de fuentes en las que no confías.
Para reportar un problema de seguridad, abre un issue sin detalles sensibles o escribe al autor por GitHub.
Soporte
Es un proyecto personal que se mantiene en el tiempo libre: los issues y pull requests son bienvenidos, pero no hay compromiso de respuesta ni de fechas. Probado solo con la versión de Keynote y macOS indicadas arriba.
Licencia
MIT. Ver LICENSE.
Available Tools
49 toolsabrirA
Abre una presentación (.key, .pptx o .ppt) haciendo primero una COPIA en la carpeta de trabajo de Atril; el original nunca se toca. Si la ruta ya está en la carpeta de trabajo, abre esa copia directamente.
Inputs: ruta (required).
agendaB
Agenda en dos columnas: hasta 8 puntos con número en el color de acento, título y descripción. Úsala sobre una diapositiva_tabla.
Inputs: puntos (required), documento (required), diapositiva (required).
agregar_diapositivaA
Agrega una diapositiva con un diseño maestro (por nombre) al final, o después de la diapositiva indicada (0 = al principio). Si el diseño no existe, el error lista los disponibles.
Inputs: documento (required), diseno, despues_de.
alinear_objetosB
Alinea objetos entre sí (al borde o centro común) o con la diapositiva: izquierda, centro, derecha, arriba, medio, abajo.
Inputs: modo (required), objetos (required), documento (required), diapositiva (required), +1 more.
animar_cambioA
Animación con Magic Move: duplica la diapositiva y en la copia mueve/escala (x, y, ancho, alto en puntos), gira (rotacion, grados), atenúa (opacidad 0–100) o resalta (color_texto hex, en textos) objetos; la transición anima el cambio.
Inputs: cambios (required), documento (required), diapositiva (required), duracion.
bloquear_objetoB
Bloquea (o desbloquea) un objeto para que no se mueva por accidente al editar a mano en Keynote.
Inputs: tipo (required), indice (required), documento (required), diapositiva (required), +1 more.
borrar_diapositivaC
Borra una diapositiva. Los prototipos ocultos de la plantilla están protegidos.
Inputs: documento (required), diapositiva (required).
borrar_objetoB
Borra un objeto de una diapositiva (tipo e índice como en leer_presentacion con detalle).
Inputs: tipo (required), indice (required), documento (required), diapositiva (required).
buscar_reemplazarA
Busca texto en toda la presentación (cuadros, figuras, notas y celdas de tablas); con reemplazar, lo cambia. Un texto con formato mixto (p. ej. una palabra en negrita de color) no se reescribe para no perder ese énfasis, salvo con forzar: se reporta aparte. Sin reemplazar solo cuenta y no modifica.
Inputs: buscar (required), documento (required), notas, forzar, +3 more.
cerrarB
Cierra una presentación de Atril; por defecto sin guardar. No cierra presentaciones del usuario.
Inputs: documento (required), guardar.
cifras_destacadasC
Fila de 1–4 cifras destacadas tarjeta con borde, cifra grande en la tipografía de títulos y etiqueta pequeña. Color de la cifra: cualquiera del tema (titulo por omisión).
Inputs: cifras (required), documento (required), diapositiva (required), x, +3 more.
crearB
Crea una presentación nueva con un tema de Keynote y la guarda de inmediato como .key en la carpeta de copias de Atril. Si el tema no existe, el error lista los disponibles.
Inputs: alto, tema, ancho, nombre.
crear_con_formatoA
Crea una presentación con el formato del tema activo (su plantilla: fondos, tipografías y paleta). Trae ocultas 6 diapositivas prototipo al final: no borrarlas, las usan las herramientas diapositiva_*.
Inputs: nombre.
diapositiva_cierreC
Cierre: título ("Gracias"), subtítulo en el color de acento y autor.
Inputs: documento (required), autor, notas, titulo, +2 more.
diapositiva_contenidoB
Diapositiva de contenido: antetítulo, título, viñetas a todo el ancho, pie de sección y número de página. Con animar_vinetas, cada viñeta entra con un clic.
Inputs: titulo (required), documento (required), antetitulo (required), pie, +4 more.
diapositiva_divisorC
Divisor de sección: número grande en el color de acento, título y subtítulo.
Inputs: numero (required), titulo (required), documento (required), notas, +2 more.
diapositiva_figuraA
Figura sobre tarjeta blanca con pie de origen (obligatorio si el tema lo exige). Con cuerpo: figura a la izquierda y viñetas a la derecha; sin cuerpo: figura a todo el ancho. La imagen conserva su proporción.
Inputs: imagen (required), titulo (required), documento (required), antetitulo (required), +6 more.
diapositiva_portadaC
Portada: antetítulo en el color de acento, título grande, subtítulo en cursiva y autor.
Inputs: titulo (required), documento (required), antetitulo (required), autor, +3 more.
diapositivas_desde_imagenesB
Una diapositiva por imagen. Con el formato cada una es una diapositiva_figura (tarjeta blanca; pie de origen; título del nombre del archivo o de titulos); en otras presentaciones usa el comando de Keynote.
Inputs: imagenes (required), documento (required), pie, origen, +3 more.
diapositiva_tablaB
Diapositiva para tabla: antetítulo, título, pie de sección; el área de contenido queda libre (para tabla, ecuacion, forma, gráficas o componentes).
Inputs: titulo (required), documento (required), antetitulo (required), pie, +2 more.
diapositiva_videoB
Diapositiva de video del mazo v3: antetítulo ANIMACIÓN, video en bucle sobre tarjeta blanca con pie de origen obligatorio, y a la derecha QUÉ OBSERVAR con 2–3 viñetas.
Inputs: video (required), origen (required), titulo (required), observar (required), +5 more.
distribuir_objetosB
Reparte 3 o más objetos con el mismo espacio entre ellos, en horizontal o vertical (el primero y el último no se mueven).
Inputs: eje (required), objetos (required), documento (required), diapositiva (required).
duplicar_diapositivaA
Duplica una diapositiva y pone la copia justo después. Base de Magic Move: duplicar, mover o escalar objetos en la copia con mover_objeto, y poner transición magic move en la original.
Inputs: documento (required), diapositiva (required).
ecuacionA
Ecuación con LaTeX real (amsmath; modo display, sin $) como imagen vectorial, en el color de título por omisión. Sin ancho queda del tamaño de letra pedido; sin x se centra. Para varias líneas usa \begin{aligned}…\end{aligned}.
Inputs: latex (required), documento (required), diapositiva (required), x, +5 more.
editar_celdasB
Cambia celdas de una tabla existente (índice de tabla como en leer_presentacion con detalle; fila y columna desde 1). Los valores quedan como texto.
Inputs: celdas (required), documento (required), diapositiva (required), tabla.
estilo_textoB
Cambia el estilo de un texto existente (tipo e índice de leer_presentacion con detalle): tipografía de títulos o de texto del tema, tamaño, color, negrita, cursiva; todo el texto o un párrafo.
Inputs: indice (required), documento (required), diapositiva (required), tipo, +6 more.
exportarA
Exporta la presentación a PDF, PowerPoint, imágenes PNG/JPEG (una por diapositiva visible, en una carpeta), video 1080p (con transiciones), HTML (carpeta), Keynote ’09 o GIF animado (desde el video; requiere ffmpeg). Por defecto va a la carpeta de salidas de Atril; nunca sobrescribe: si el destino existe, agrega _2, _3…
Inputs: formato (required), documento (required), etapas, destino, +1 more.
formaB
Figura vectorial con la paleta del formato: rectangulo, rectangulo_redondeado, elipse (círculo si ancho = alto), triangulo, triangulo_rectangulo, rombo, poligono (lados), estrella (lados = puntas), bocadillo (cola) (con x, y, ancho, alto) o linea, flecha, flecha_doble (con x1, y1, x2, y2). Relleno, borde, grosor, opacidad 0–100, punteado; texto opcional centrado encima. Por omisión: relleno tarjeta con borde; líneas en el color de acento.
Inputs: tipo (required), documento (required), diapositiva (required), x, +17 more.
graficaB
Gráfica nativa de Keynote con los colores de las series del tema y leyenda. Barras/línea/área: cada serie trae un valor por categoría. Pastel: una sola serie, una porción por categoría. Dispersión: valores_x compartidos y, por serie, un valor y por cada x (sin categorías). Por omisión ocupa el área de contenido. Tipos: barras, barras_apiladas, barras_horizontales, barras_horizontales_apiladas, linea, area, area_apilada, pastel, dispersion, barras_3d, barras_apiladas_3d, barras_horizontales_3d, barras_horizontales_apiladas_3d, linea_3d, area_3d, area_apilada_3d, pastel_3d.
Inputs: tipo (required), series (required), documento (required), diapositiva (required), +6 more.
grafica_cientificaA
Gráfica científica con la paleta del tema (matplotlib → PDF vectorial): barras de error (simétricas o asimétricas, en x y en y), cotas superiores, escalas log/symlog, ejes invertidos, marcas propias, bandas de confianza, histogramas, segundo eje y, líneas de referencia y anotaciones. Textos con fórmulas entre $…$ (Computer Modern, como ecuacion). Sin diapositiva: crea una diapositiva_figura nueva (tarjeta blanca, con pie de origen). Con diapositiva: la dibuja encima, con los colores de texto del tema y fondo transparente (por omisión, en el área de contenido). Para lo que Keynote sí dibuja bien (barras, pastel) usa grafica, que es editable.
Inputs: series (required), documento (required), x, y, +18 more.
guardarA
Guarda una presentación de Atril como .key en la carpeta de copias (las nuevas o importadas de PowerPoint reciben archivo nuevo). Nunca guarda presentaciones del usuario.
Inputs: documento (required), nombre.
insertar_medioA
Inserta una imagen, un video (.mp4/.mov/.m4v) o un audio en una diapositiva, sin tarjeta (para figuras con tarjeta y pie de origen usa diapositiva_figura). El alto sigue la proporción del archivo.
Inputs: archivo (required), documento (required), diapositiva (required), x, +4 more.
leer_presentacionARead-only
Lee una presentación: por diapositiva, diseño, si está saltada, título, cuerpo, notas del presentador, transición, conteo de objetos por tipo y sus textos. Con detalle=true devuelve cada objeto con tipo, índice, texto, archivo y posición/tamaño (los índices sirven para poner_texto).
Inputs: documento (required), desde, hasta, detalle.
lineaB
Línea recta entre dos puntos (en puntos). El color y el grosor los pone el tema; no se pueden fijar por script.
Inputs: x1 (required), x2 (required), y1 (required), y2 (required), +2 more.
listar_presentaciones_abiertasARead-only
Lista las presentaciones abiertas en Keynote: id, nombre, archivo, número de diapositivas, tema, tamaño y si Atril puede editarla (editable=false: es del usuario, solo lectura).
Inputs: no named parameters.
mover_diapositivaA
Mueve una diapositiva para que quede después de otra (0 = al principio). Devuelve su nuevo número.
Inputs: documento (required), despues_de (required), diapositiva (required).
mover_objetoC
Mueve, redimensiona y/o gira un objeto, identificado por tipo e índice como en leer_presentacion con detalle.
Inputs: tipo (required), indice (required), documento (required), diapositiva (required), +5 more.
notasA
Lee las notas del presentador de una diapositiva o, si se da texto, las reemplaza.
Inputs: documento (required), diapositiva (required), texto.
ocultar_diapositivaA
Oculta (salta) o vuelve a mostrar una diapositiva. Las ocultas no se presentan ni se exportan.
Inputs: documento (required), diapositiva (required), ocultar.
poner_textoA
Escribe texto en una diapositiva: el título y el cuerpo del diseño, reemplaza el texto de objetos existentes (tipo e índice de leer_presentacion con detalle) y/o agrega un cuadro de texto nuevo en una posición (puntos). En el cuerpo, cada línea es una viñeta.
Inputs: documento (required), diapositiva (required), cuerpo, titulo, +2 more.
presentarA
Modo presentación de Keynote: iniciar (desde una diapositiva), siguiente, anterior, detener. OCUPA LA PANTALLA del usuario: úsalo solo si lo pidió.
Inputs: accion (required), desde, documento.
revelar_por_pasosA
Animación de aparición con Magic Move: los objetos de la diapositiva aparecen en el orden de pasos (cada paso, uno o varios objetos). Se insertan antes versiones parciales de la diapositiva; la original queda como la final. Los índices se toman de leer_presentacion con detalle sobre la diapositiva completa.
Inputs: pasos (required), documento (required), diapositiva (required), duracion.
revelar_seriesB
Gráfica cuyas series entran una por una (Magic Move entre copias de la diapositiva). Para barras, líneas o áreas; el eje se reescala entre pasos porque su máximo no se puede fijar por script.
Inputs: tipo (required), series (required), documento (required), categorias (required), +6 more.
revisar_presentacionARead-only
Revisa todas las diapositivas visibles y reporta problemas por gravedad: objetos fuera de la diapositiva o sobre el pie, cuerpo que Keynote encoge para que quepa (tamaño efectivo estimado), contraste bajo contra el fondo real, figuras o videos sin pie de origen, textos de muestra sobrantes, letra < 10 pt y diapositivas sin notas. Devuelve también una hoja con todas las diapositivas. Úsala antes de dar una presentación por terminada.
Inputs: documento (required).
tablaC
Tabla con el estilo del tema: cabecera (color cabecera) con texto de título en negrita, celdas (color tarjeta) con la tipografía de texto, primera columna a la izquierda y el resto centrado. Los valores se guardan como texto (conservan signos y guiones).
Inputs: filas (required), documento (required), diapositiva (required), x, +5 more.
tabla_estructuraA
Cambia la estructura de una tabla y le reaplica el estilo del formato: fusionar o separar un rango ("A1:B1"; al fusionar Keynote une los textos con un tabulador, así que fusiona celdas vacías con una llena), ordenar por una columna (la cabecera queda arriba), agregar filas o columnas al final (conserva el ancho), quitar una fila o columna.
Inputs: accion (required), documento (required), diapositiva (required), fila, +5 more.
tarjetas_numeradasC
Fila de 2–4 tarjetas del formato (resúmenes, preguntas, mensajes): encabezado corto en la tipografía de títulos y el color de acento (un número, una cifra o una frase) y texto debajo.
Inputs: tarjetas (required), documento (required), diapositiva (required), x, +3 more.
transicionB
Transición al pasar de esta diapositiva a la siguiente. "magic move" anima los objetos que cambian de lugar, tamaño o rotación entre dos diapositivas parecidas (usa duplicar_diapositiva y mover_objeto). Con automatica=true avanza sola tras el retraso.
Inputs: efecto (required), documento (required), diapositiva (required), retraso, +2 more.
ver_diapositivaARead-only
Devuelve la imagen PNG de una diapositiva tal como la dibuja Keynote, para revisar el resultado.
Inputs: documento (required), diapositiva (required), ancho_max.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 49 tools
Many tools target distinct resources or actions, and descriptions often cross-reference alternatives (e.g., insertar_medio vs diapositiva_figura). However, there are several overlapping creation and animation paths—crear vs crear_con_formato, generic agregar_diapositiva vs specialized diapositiva_* builders, and transicion/revelar_por_pasos/animar_cambio/revelar_series—so selection requires careful reading.
All names use readable Spanish snake_case. But conventions are mixed: bare verbs (abrir, crear, exportar), verb_noun forms (agregar_diapositiva, mover_objeto), and noun-only labels (linea, notas, grafica, tabla, agenda) appear without a predictable pattern.
49 tools is far above a comfortable range for this server, even though the presentation-automation domain is broad. Many specialized slide builders and animation helpers could be consolidated, and the surface is likely to overwhelm an agent.
The surface covers the presentation lifecycle well: create/open/read, slide and object editing, text, tables, charts, media, notes, transitions/animations, export, presenting, and review. Gaps are minor—no explicit z-order/grouping, theme switching, or file deletion—so agents can mostly work around them.
Maintenance
Related MCP Connectors
Generate AI slide decks and export native PowerPoint (.pptx) and PDF presentations from chat.
Create, edit, preview and export designed, editable presentations from a brief or outline.
Generate, edit, and export AI presentations to PDF, PPTX, or a shareable link.
Generate polished PowerPoint presentations from text prompts, YouTube videos, or structured outlin…
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables users to create, edit, and manage PowerPoint presentations across Windows, macOS, and Linux through natural language via Claude Desktop. It provides comprehensive automation for slide management, text manipulation, and presentation styling using platform-specific adapters.131MIT
- FlicenseAqualityCmaintenanceLocal macOS MCP server that reads, edits, and exports Apple Keynote presentations via JXA. Enables Claude to visually analyze slides, apply design changes, and iterate on presentations directly.191-
- AlicenseBqualityDmaintenanceProvides full programmatic control over Apple Keynote through the Model Context Protocol, enabling creation, editing, presenting, and exporting of presentations via natural language.703MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create and edit presentation decks—manipulating documents, slides, shapes, text, animations, transitions, and exports—while reading tabular data and generating 18 types of business charts.1MIT