Keynote演示控制协议

一个通过AppleScript自动化控制Keynote演示文稿的AI助手服务,支持创建、编辑、导出演示文稿及集成Unsplash图片搜索功能。

  • by easychen
  • Python
  • 本地部署
  • 78 星标
  • 更新于
在 GitHub 查看 easychen/keynote-mcp

使用说明

主题演讲MCP

https://github.com/user-attachments/assets/fb293e54-0795-434f-a811-7f850d36619f

⚠️ 发展公告:该项目是使用Cursor AI开发的,没有人工代码审查。它仅用于教育和实验目的。请在生产环境中谨慎使用,并在部署前进行彻底测试。

模型上下文协议(MCP)服务器,使AI助手能够通过AppleScript自动化控制Keynote演示。

中文文档 | 英语

✨ 特性

  • 🎨 完整的演示文稿管理 -创建、打开、保存和关闭演示文稿
  • 📊 丰富的幻灯片操作 -添加、删除、复制和移动幻灯片
  • 📝 强大的内容管理 -添加文本、图像、形状、表格和图表
  • 📸 灵活的导出选项 -截图幻灯片,导出为PDF和图像
  • 🖼️ Unsplash集成 -自动搜索和添加高质量图像
  • 🔒 安全可靠 -全面的错误处理和权限管理
  • 🧪 测试良好 -单元和集成测试覆盖率

🚀 快速开始

先决条件

  • macOS 10.14或更高版本
  • 主题演讲应用
  • Python 3.8或更高版本

安装

  1. 克隆存储库

    git clone https://github.com/easychen/keynote-mcp.git
    cd keynote-mcp
    
  2. 安装依赖项

    pip install -r requirements.txt
    
  3. 配置环境(Unsplash功能可选)

    cp env.example .env
    # Edit .env file and add your Unsplash API key
    
  4. 设置macOS权限

    • 首选 系统首选项 > 安全与隐私 > 隐私
    • 添加终端和Python 无障碍 权限
    • 将Python添加到 自动化 Keynote的权限

与MCP客户端一起使用

Gemini CLI配置

将此配置添加到MCP客户端:

{
  "KeynoteServer": {
    "command": "python",
    "args": ["start_server.py"],
    "env": {
      "UNSPLASH_KEY": "your_unsplash_api_key_here"
    },
    "cwd": "/path/to/keynote-mcp",
    "timeout": 5000
  }
}

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "keynote": {
      "command": "python",
      "args": ["/path/to/keynote-mcp/start_server.py"],
      "env": {
        "UNSPLASH_KEY": "your_unsplash_api_key_here"
      }
    }
  }
}

其他MCP客户端

对于其他MCP兼容客户端,请使用以下连接详细信息:

  • 命令: python
  • 参数: ["start_server.py"]
  • 工作目录: /path/to/keynote-mcp
  • 环境: {"UNSPLASH_KEY": "your_api_key"} (可选)

📖 可用工具

服务器为Keynote自动化提供了全面的工具:

🎨 展示管理

  • 创建、打开、保存和关闭演示文稿
  • 设置主题并获取演示信息
  • 列出所有打开的演示文稿

📊 滑动操作

  • 添加、删除、复制和移动幻灯片
  • 设置幻灯片布局并获取幻灯片信息
  • 在幻灯片之间导航

📝 内容管理

  • 添加文本框、标题和字幕
  • 从文件或Unsplash插入图像
  • 创建项目符号列表和编号列表
  • 添加代码块和引号

📸 导出和截图

  • 对每张幻灯片进行截图
  • 将演示文稿导出为PDF
  • 导出为图像序列

🖼️ Unsplash集成(可选)

  • 搜索高质量图像
  • 自动将图像添加到幻灯片中
  • 支持不同的方向和风格

💡 使用示例

连接到MCP客户端后,您可以使用自然语言控制Keynote:

  • “创建关于人工智能趋势的新演示文稿”
  • “添加标题为“机器学习基础知识”的幻灯片”
  • “在幻灯片2上插入一张关于技术的图片”
  • “将演示文稿导出为PDF”

🔧 Unsplash配置(可选)

要使用Unsplash图像功能,请执行以下操作:

  1. 获取API密钥:参观 Unsplash开发者
  2. 配置:将API密钥添加到 .env 文件:
    UNSPLASH_KEY=your_unsplash_access_key_here
    

📚 文档

🤝 贡献

我们欢迎捐款!请看 贡献.md 了解如何开始的详细信息。

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🏆 致谢

📞 联系

⭐ 支持

如果这个项目对你有帮助,请给它一个⭐️!


使AI助手能够轻松创建和管理Keynote演示文稿。