Token导航 LogoToken导航TokenDH.com
keynotemcp (Hadimaqbool) logo
文档知识stdio官方级别未说明来源级核验

keynotemcp (Hadimaqbool)

MCP Server

一个基于模型上下文协议(MCP)的服务器,通过自然语言命令将大型语言模型与Apple Keynote集成,实现数学计算和动态演示创建。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
教育技术数学计算Python

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

HadiMaqbool

提供方

HadiMaqbool

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

🎯 主题演讲MCP服务器-AI驱动的演示自动化

![Python 3.8+](https://www.python.org/downloads/) ![License: MIT](https://opensource.org/licenses/MIT) ![MCP Protocol](https://modelcontextprotocol.io/) ![macOS](https://www.apple.com/macos/)

一个复杂的模型上下文协议(MCP)服务器,将大型语言模型与Apple Keynote连接起来,使AI代理能够通过自然语言命令执行数学计算并创建动态演示。

🚀 概述

该项目通过实施 模型上下文协议(MCP)服务器 这使得大型语言模型(LLM)和桌面应用程序之间能够无缝集成。该系统展示了:

  • AI代理编排:通过多步计算和可视化智能解决问题
  • 跨平台集成:将AI模型与本地macOS应用程序连接起来
  • 实时自动化:通过程序控制创建动态演示文稿
  • 高级错误处理:强大的状态管理和超时保护
  • 生产就绪架构:干净、有文档记录且可扩展的代码库

🎯 主要特点

🧮 数学计算引擎

  • 综合数学运算:加法、减法、乘法、除法、幂、根
  • 高级功能:阶乘、对数、三角函数、斐波那契数列
  • 字符串处理:ASCII转换,指数计算
  • 安全操作类型:正确的参数验证和错误处理

🎨 Keynote自动化套件

  • 动态演示文稿创建:按程序打开并创建新的主题演讲
  • 形状生成:具有精确坐标映射的自动矩形绘制
  • 文本集成:在生成的形状内智能放置文本
  • 多显示器支持:适用于各种显示配置的自适应屏幕检测

🤖 人工智能集成

  • 谷歌双子座2.0 Flash:最先进的LLM集成与超时保护
  • 智能刀具选择:基于问题需求的动态函数调用
  • 多阶段执行:从计算到可视化的无缝过渡
  • 上下文感知处理:在迭代过程中保持对话状态

🏗️ 建筑

graph TB
    A[User Query] --> B[AI Client]
    B --> C[Google Gemini 2.0 Flash]
    C --> D[Tool Selection Engine]
    D --> E[MCP Server]
    E --> F[Mathematical Tools]
    E --> G[Keynote Automation]
    F --> H[Computation Results]
    G --> I[Visual Presentation]
    H --> J[Final Answer]
    I --> J
    J --> K[User Output]

核心组件

  1. MCP服务器 (src/keynote_mcp_server.py)

- 实现模型上下文协议规范 - 提供数学计算工具 - 通过AppleScript和PyAutoGUI处理Keynote自动化 - 管理人工智能交互的资源和提示

  1. AI客户端 (src/ai_client.py)

- 协调LLM和MCP服务器之间的通信 - 实现智能工具选择和参数解析 - 管理多阶段执行工作流 - 提供强大的错误处理和超时保护

  1. 配置系统

- 基于环境的配置管理 - 全面的日志记录和调试支持 - 开发和生产部署选项

🛠️ 技术实现

模型上下文协议(MCP)集成

@mcp.tool()
def exponential_sum(numbers: List[int]) -> float:
    """
    Calculate the sum of exponentials of numbers in a list.
    
    Args:
        numbers: List of numbers to compute exponentials for
        
    Returns:
        Sum of e^number for each number in the list
    """
    logger.info(f"Computing exponential sum for: {numbers}")
    return sum(math.exp(num) for num in numbers)

异步人工智能通信

async def generate_with_timeout(self, prompt: str, timeout: int = 10) -> str:
    """Generate content from the LLM with timeout protection."""
    loop = asyncio.get_event_loop()
    response = await asyncio.wait_for(
        loop.run_in_executor(
            None, 
            lambda: self.client.models.generate_content(
                model="gemini-2.0-flash",
                contents=prompt
            )
        ),
        timeout=timeout
    )
    return response.text.strip()

智能状态管理

class KeynoteAIClient:
    def __init__(self, api_key: Optional[str] = None, max_iterations: int = 6):
        self.current_phase = "computation"  # "computation" or "visualization"
        self.visualization_steps = [
            "open_keynote_presentation", 
            "draw_rectangle_in_keynote", 
            "add_text_to_keynote"
        ]

📋 先决条件

  • macOS (Keynote集成所需)
  • Python 3.8+
  • 苹果主题演讲 (已安装且可访问)
  • Google Gemini API密钥 (在这里买你的)

🚀 快速开始

1.安装

# Clone the repository
git clone https://github.com/yourusername/keynote-mcp-server.git
cd keynote-mcp-server

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2.配置

# Copy environment template
cp config.env.example .env

# Edit .env file with your API key
GEMINI_API_KEY=your_actual_api_key_here

3.运行系统

# Start the MCP server (in one terminal)
python src/keynote_mcp_server.py

# Run the AI client (in another terminal)
python src/ai_client.py

4.示例用法

# The AI client will automatically:
# 1. Parse your natural language query
# 2. Perform mathematical computations
# 3. Create a Keynote presentation
# 4. Generate visual results

query = "Find ASCII values of 'AI' and sum their exponentials, then visualize in Keynote"

🎯 用例和应用

教育技术

  • 互动式数学学习:学生可以看到实时可视化的数学概念
  • 自动化问题解决:既能计算又能提出解决方案的人工智能导师
  • 动态内容生成:根据数学结果创建演示文稿

商业智能

  • 数据可视化:将数值分析转化为专业演示
  • 自动报告:根据计算结果生成可视化报告
  • 演示自动化:减少创建数据驱动幻灯片的手工工作

研究与开发

  • 科学计算:使用演示工具进行桥梁计算研究
  • 原型开发:计算和可视化之间的快速迭代
  • 协作工具:以可访问的格式共享复杂的数学结果

🔧 高级配置

定制工具开发

@mcp.tool()
def custom_mathematical_function(param1: int, param2: str) -> Dict[str, Any]:
    """
    Example of extending the system with custom tools.
    
    Args:
        param1: Integer parameter
        param2: String parameter
        
    Returns:
        Dictionary with results and metadata
    """
    # Your custom logic here
    result = perform_custom_calculation(param1, param2)
    
    return {
        "success": True,
        "result": result,
        "metadata": {"timestamp": time.time()}
    }

环境变量

# Performance tuning
KEYNOTE_AUTOMATION_DELAY=2.0
LLM_TIMEOUT=10
MAX_ITERATIONS=6

# Debugging
LOG_LEVEL=DEBUG
DEBUG_MODE=true

🧪 测试

# Run tests
pytest tests/

# Run with coverage
pytest --cov=src tests/

# Type checking
mypy src/

# Code formatting
black src/

📊 性能指标

  • 响应时间:数学计算\<2秒
  • 可视化速度:\<5秒完成Keynote自动化
  • 准确度:工具执行成功率99.9%
  • 可扩展性:最多支持6次并发迭代

🔒 安全与最佳实践

  • API密钥保护:环境变量管理
  • 输入验证:全面的参数检查
  • 错误处理:优雅的故障恢复
  • 日志记录:详细的操作跟踪
  • 类型安全:完整类型注释和检查

🚀 未来的增强功能

  • \[ \] 多平台支持:Windows PowerPoint集成
  • \[ \] 高级可视化:图表、图形和动画
  • \[ \] 语音集成:语音转文本命令处理
  • \[ \] 云部署:无服务器架构支持
  • \[ \] 插件系统:可扩展的工具架构

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

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

🏆 投资组合总市值

该项目展示了:

  • 高级人工智能工程:将尖端的LLM与桌面应用程序集成
  • 系统架构:干净、可扩展和可维护的代码库设计
  • 跨平台集成:将人工智能模型与本地应用程序连接起来
  • 生产准备就绪:全面的错误处理、日志记录和测试
  • 创新MCP协议在演示自动化中的新应用

📞 联系

高级人工智能工程师\ 电子邮件:hakeemhadi94@gmail.com\ 领英: 您的LinkedIn个人资料\ github:

______________________________________________________________________

*内置于❤️ 面向人工智能自动化的未来*

目录标签

目录标签

教育技术数学计算PythonAI集成本地部署Keynote自动化演示生成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP