Enables AI assistants to control Keynote presentations through AppleScript automation, with capabilities for presentation management, slide operations, and theme-aware content placement.
Leverages macOS automation features to control Keynote presentations, requiring specific macOS permissions for accessibility and automation.
Keynote-MCP
A Model Context Protocol (MCP) server that enables AI assistants to control Keynote presentations through AppleScript automation.
π This is an enhanced fork featuring modular architecture, theme-aware content management, and comprehensive documentation improvements.
Features
Presentation Management: Create, open, save, close presentations
Slide Operations: Add, delete, duplicate, move slides
Theme-Aware Content: Professional content placement using Keynote's design elements
Modular Architecture: Maintainable codebase with specialized AppleScript modules
Export Functions: Screenshots, PDF export
Related MCP server: PowerPoint MCP Server
Quick Setup
Clone the repository
git clone https://github.com/betancur/keynote-mcp.git cd keynote-mcpInstall dependencies
pip install -r requirements.txtGrant macOS permissions
System Preferences > Security & Privacy > Privacy
Add Terminal and Python to Accessibility permissions
Add Python to Automation permissions for Keynote
Configure Claude Desktop Edit
~/Library/Application Support/Claude/claude_desktop_config.json:{ "mcpServers": { "keynote": { "command": "python3", "args": ["/path/to/keynote-mcp/mcp_server.py"] } } }Test the server
python3 test_server.py
Note: Make sure Keynote is installed and you have appropriate permissions for automation.
Available Tools (26 total)
Presentation Management
create_presentation- Create new presentationopen_presentation- Open existing presentationsave_presentation- Save presentationclose_presentation- Close presentation
Slide Operations
add_slide- Add new slidedelete_slide- Delete slideduplicate_slide- Copy slidemove_slide- Reorder slides
Content Management
add_text_box- Add text to slideadd_image- Add image to slideset_slide_content- π Set content using theme elements (recommended)get_slide_default_elements- π Check available theme elements
Export & Capture
screenshot_slide- Take slide screenshotexport_pdf- Export as PDF
Theme-Aware Features
Our latest update includes theme-aware content management that uses Keynote's built-in design elements for professional-looking presentations with consistent styling.
π Documentation
Comprehensive documentation is available in the docs/ directory:
π Documentation Index - Complete documentation overview
ποΈ Modular Architecture - AppleScript modular structure
π¨ Theme-Aware Content - Best practices for theme elements
πΊοΈ Project Roadmap - Future development plans and features
Quick Links
Getting Started: Follow the Quick Setup section above
For Developers: Modular Architecture
Best Practices: Theme-Aware Content
π‘ Usage Examples
Theme-Aware Content (Recommended)
Manual Content Placement
π What's New in This Fork
This enhanced version includes significant improvements over the original:
β¨ Major Enhancements
ποΈ Modular Architecture: Split monolithic AppleScript into 5 specialized modules for better maintainability
π¨ Theme-Aware Content: Smart content placement using Keynote's built-in design elements
π Comprehensive Documentation: Complete guides in the
docs/folderπ§ Enhanced Integration: Improved Python-AppleScript modular execution
π Internationalization: All Chinese comments translated to English
π― Key Benefits
Professional Results: Theme-aware functions create presentations with consistent styling
Better Performance: Modular loading only loads necessary AppleScript code
Easier Maintenance: Specialized files for different functionality areas
Developer Friendly: Complete documentation and architecture guides
Credits: This fork is based on the original keynote-mcp by @easychen. We've enhanced it with modern architecture and professional content management features.
License
MIT License