Keynote-MCP
Provides tools for controlling Keynote presentations, enabling creation, editing, and presentation management through AppleScript automation.
Supports environment variable configuration for storing API keys and other sensitive information.
Integrates with macOS through AppleScript to enable Keynote automation and presentation management.
Allows searching and adding high-quality images from Unsplash directly into Keynote presentations.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Keynote-MCP
https://github.com/user-attachments/assets/fb293e54-0795-434f-a811-7f850d36619f
⚠️ Development Notice: This project was developed using Cursor AI without human code review. It's provided for educational and experimental purposes only. Please use with caution in production environments and conduct thorough testing before deployment.
A Model Context Protocol (MCP) server that enables AI assistants to control Keynote presentations through AppleScript automation.
✨ Features
🎨 Complete Presentation Management - Create, open, save, and close presentations
📊 Rich Slide Operations - Add, delete, duplicate, and move slides
📝 Powerful Content Management - Add text, images, shapes, tables, and charts
📸 Flexible Export Options - Screenshot slides, export to PDF and images
🖼️ Unsplash Integration - Automatically search and add high-quality images
🔒 Secure & Reliable - Comprehensive error handling and permission management
🧪 Well Tested - Unit and integration test coverage
Related MCP server: Keynote-MCP
🚀 Quick Start
Prerequisites
macOS 10.14 or later
Keynote application
Python 3.8 or later
Installation
Clone the repository
git clone https://github.com/easychen/keynote-mcp.git cd keynote-mcpInstall dependencies
pip install -r requirements.txtConfigure environment (optional for Unsplash features)
cp env.example .env # Edit .env file and add your Unsplash API keySet up macOS permissions
Go to System Preferences > Security & Privacy > Privacy
Add Terminal and Python to Accessibility permissions
Add Python to Automation permissions for Keynote
Usage with MCP Clients
Gemini CLI Configuration
Add this configuration to your MCP client:
{
"KeynoteServer": {
"command": "python",
"args": ["start_server.py"],
"env": {
"UNSPLASH_KEY": "your_unsplash_api_key_here"
},
"cwd": "/path/to/keynote-mcp",
"timeout": 5000
}
}Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"keynote": {
"command": "python",
"args": ["/path/to/keynote-mcp/start_server.py"],
"env": {
"UNSPLASH_KEY": "your_unsplash_api_key_here"
}
}
}
}Other MCP Clients
For other MCP-compatible clients, use these connection details:
Command:
pythonArgs:
["start_server.py"]Working Directory:
/path/to/keynote-mcpEnvironment:
{"UNSPLASH_KEY": "your_api_key"}(optional)
📖 Available Tools
The server provides comprehensive tools for Keynote automation:
🎨 Presentation Management
Create, open, save, and close presentations
Set themes and get presentation information
List all open presentations
📊 Slide Operations
Add, delete, duplicate, and move slides
Set slide layouts and get slide information
Navigate between slides
📝 Content Management
Add text boxes, titles, and subtitles
Insert images from files or Unsplash
Create bullet lists and numbered lists
Add code blocks and quotes
📸 Export & Screenshot
Take screenshots of individual slides
Export presentations to PDF
Export as image sequences
🖼️ Unsplash Integration (Optional)
Search high-quality images
Automatically add images to slides
Support for different orientations and styles
💡 Usage Examples
Once connected to your MCP client, you can use natural language to control Keynote:
"Create a new presentation about AI trends"
"Add a slide with the title 'Machine Learning Basics'"
"Insert an image about technology on slide 2"
"Export the presentation as PDF"
🔧 Unsplash Configuration (Optional)
To use Unsplash image features:
Get API Key: Visit Unsplash Developers
Configure: Add your API key to the
.envfile:UNSPLASH_KEY=your_unsplash_access_key_here
📚 Documentation
Installation Guide - Detailed setup instructions
Technical Documentation - API reference and architecture
Examples - Usage examples and demos
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🏆 Acknowledgments
Model Context Protocol - Standardized tool calling protocol for AI models
Unsplash - High-quality free images
AppleScript - Powerful macOS automation
📞 Contact
🐛 Issues: GitHub Issues
💬 Discussions: GitHub Discussions
⭐ Support
If this project helps you, please give it a ⭐️!
Empowering AI assistants to create and manage Keynote presentations effortlessly.
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Create, edit, export and manage presentations. Requires a paid PPT.AI API merchant account.
Build it. Rehearse it. Own the room. The hosted MCP server for Kadal Deck (deck.kadal.cc), which has your back for the whole talk, from the first idea to the last applause. Connect once with OAuth and your AI agent can list and inspect your decks, read a talk in progress (current slide, who is watching, polls and questions by votes), check analytics, change titles, visibility and passcodes, roll back versions, create share links, and quick-edit and publish decks through the web builder, with conflict-safe publishing that never overwrites newer work. Pair it with the local server (npx @kadal/deck mcp) to write, check and build decks on your machine. Open source.
Related MCP Servers
- AlicenseAqualityFmaintenanceProvides a Model Context Protocol server for executing AppleScript and JavaScript for Automation scripts on macOS, featuring a knowledge base of pre-defined scripts and supporting automation of macOS applications and system functions.2762 npm883MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to control Keynote presentations through AppleScript automation, supporting slide operations, theme-aware content management, and export functions.11MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables execution of AppleScript and JavaScript for Automation scripts on macOS, allowing programmatic control of applications and system functions through a rich knowledge base of pre-defined scripts.2762 npm9MIT
- 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-