MCP数学MacOS工具
使用模型控制协议实现一个数学代理,执行数学计算并将结果以视觉形式在Keynote中呈现,从而实现在幻灯片中绘制形状和添加文本的功能。
服务介绍
MCP 简介;在 MacOS 上的 Keynote 中绘图和添加文本
该项目实现了一个使用模型控制协议 (MCP) 的数学代理,该代理可以在 macOS 的 Keynote 中执行数学计算并以可视化方式呈现结果。代理可以在 Keynote 幻灯片上绘制形状和添加文本,使其对于创建数学演示文稿非常有用。
功能
- 数学运算(加法、减法、乘法、除法等)
- 高级数学函数(阶乘、对数、三角函数)
- ASCII 值计算和指数和运算
- 在 Keynote 中的可视化展示:
- 绘制矩形
- 向幻灯片中添加文本
- 自动幻灯片管理
先决条件
- Python 3.x
- macOS(用于 Keynote 集成)
- 系统中安装了 Keynote
- Google Gemini API 密钥
安装
- 克隆仓库:
git clone <your-repository-url>
cd keynote-drawing-text
- 安装所需依赖项:
pip install -r requirements.txt
- 在项目根目录下创建一个
.env文件,并添加您的 Gemini API 密钥:
GEMINI_API_KEY=your_api_key_here
项目结构
mcp-server.py:包含具有数学工具和 Keynote 集成的服务器实现mcp-client.py:实现与 LLM 通信并管理工作流的客户端requirements.txt:列出所有 Python 依赖项
使用方法
客户端脚本 (mcp-client.py) 会自动处理 MCP 服务器的启动和通信。您只需要运行带有查询参数的客户端:
python mcp-client.py "Your mathematical query here"
例如:
python mcp-client.py "Find the ASCII values of characters in INDIA and then return sum of exponentials of those values"
如果没有提供查询参数,脚本将使用上面示例中提到的默认查询。
客户端将执行以下操作:
- 自动在后台启动 MCP 服务器
- 打开 Keynote 并创建新文档
- 执行请求的数学运算
- 在幻灯片上绘制一个矩形
- 将结果作为文本添加到矩形内
注意:MCP 服务器由客户端脚本内部管理,因此无需手动启动。服务器处理所有的数学运算和 Keynote 交互,而客户端则管理与语言模型的通信并协调整个工作流程。
可用的数学工具
-
基本运算:
- 加法 (
add) - 减法 (
subtract) - 乘法 (
multiply) - 除法 (
divide) - 幂运算 (
power) - 平方根 (
sqrt) - 立方根 (
cbrt)
- 加法 (
-
高级运算:
- 阶乘 (
factorial) - 自然对数 (
log) - 余数 (
remainder) - 三角函数 (
sin,cos,tan) - 斐波那契数列 (
fibonacci_numbers) - ASCII 值计算 (
strings_to_chars_to_int) - 指数和 (
int_list_to_exponential_sum)
- 阶乘 (
Keynote 集成
项目包括用于 Keynote 集成的工具:
mac_open_keynote:打开 Keynote 并创建新文档mac_draw_rectangle:在当前幻灯片上绘制矩形mac_add_text_in_keynote:向当前幻灯片添加文本
错误处理
系统包括全面的错误处理功能:
- API 通信问题
- 无效的数学运算
- Keynote 集成问题
- LLM 响应的超时处理
工具
- 框架的 Model Control Protocol (MCP)
- 语言模型使用 Google Gemini
- 演示平台使用 Apple Keynote
贡献
欢迎贡献!请随时提交 Pull Request。