A Model Context Protocol (MCP) server that enables AI assistants to control Keynote presentations through AppleScript automation.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"keynote-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity / design
Persistent memory using a knowledge graph
Dynamic problem-solving through sequential thought chains
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
MCP Security Weekly
Get CVE alerts and security updates for Keynote Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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.
Clone the repository
git clone https://github.com/easychen/keynote-mcp.git
cd keynote-mcp
Install dependencies
pip install -r requirements.txt
Configure environment (optional for Unsplash features)
cp env.example .env
# Edit .env file and add your Unsplash API key
Set up macOS permissions
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
}
}
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"
}
}
}
}
For other MCP-compatible clients, use these connection details:
python["start_server.py"]/path/to/keynote-mcp{"UNSPLASH_KEY": "your_api_key"} (optional)The server provides comprehensive tools for Keynote automation:
Once connected to your MCP client, you can use natural language to control Keynote: