关于 MCP based Math Drawing Client
这是一个使用 Gemini 处理数学问题并在画布上绘制结果的 Python 应用,适合需要将计算答案可视化的用户。它支持迭代求解,并通过画布工具呈现结果。
主要功能
- 01基于 Gemini 求解数学问题
- 02数学计算与字符串操作
- 03绘制矩形和文本
- 04最多迭代 9 次求解
- 05清空画布与选择颜色
适用场景
- 01计算数值并将结果绘制在矩形中
- 02将单词转换为 ASCII 值并可视化其总和
MCP 相关
客户端通过 stdio 连接 MCP 服务,同步工具列表,并发送数学查询以进行计算和绘图。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
基于 MCP 的数学绘图客户端
数学绘图客户端(talk2mcp_math_draw_client.py)是一个将数学计算与可视化绘图功能结合起来的 Python 应用。它使用 Gemini AI 模型处理数学查询并生成适当的回复。
功能
当前已实现的功能
- 集成 Gemini AI,解决数学问题
- 绘图功能,用于直观呈现数学结果
- 迭代式问题求解方法(最多 9 次迭代)
- 支持基本数学运算和 ASCII 值计算
- 自动在画布上绘制结果
- 基本错误处理与恢复
- 简单的画布操作
- 基本文本放置
- 操作超时处理(LLM 操作的超时时间为 10 秒)
- 会话管理
- 带参数验证的工具执行
服务端要求
-
MCP 服务设置:
- Python 3.x 环境
- 已安装 MCP 服务包
- 必需的服务端依赖项:
mcp包- 用于 AI 集成的
google-generativeai - 用于环境管理的
python-dotenv
-
服务端配置:
- 端口配置(默认值:8080)
- 数学运算的内存分配
- 画布尺寸设置(默认值:1920x1080)
- 最大并发连接数
- 操作超时设置
-
服务端工具:
- 数学计算引擎
- 绘图画布管理器
- 工具执行处理器
- 会话管理器
- 错误处理系统
前置条件
- Python 3.x
- 必需的 Python 包:
python-dotenvgoogle-generativeaimcp包
环境设置
- 在项目根目录中创建
.env文件 - 添加你的 Gemini API 密钥:
GEMINI_API_KEY=your_api_key_here
服务端设置
-
安装服务端依赖项:
pip install mcp google-generativeai python-dotenv -
在
config.json中配置服务端设置:{ "server": { "port": 8080, "max_connections": 10, "timeout": 30, "canvas": { "width": 1920, "height": 1080 } } } -
启动 MCP 服务:
python example2-3_server.py
可用工具
当前已实现的工具
-
数学运算:
- 基本算术运算(加、减、乘、除)
- 高级数学函数(指数、对数)
- ASCII 值计算
- 字符串操作与转换
- 数组操作
- 素数计算
- 阶乘计算
- 斐波那契数列生成
-
绘图工具:
- 按自定义尺寸绘制矩形
- 带格式设置的基本文本放置
- 清空和重置画布
- 基于坐标的绘图
- 简单的颜色选择
- 基本图层管理
计划中的未来工具
- 增强的数学运算
- 高级绘图功能:
- 分析工具:
- 实用工具:
安装
- 克隆仓库
- 安装所需软件包:
pip install python-dotenv google-generativeai mcp - 按上述说明设置环境变量
使用方法
- 启动 MCP 服务(参见“服务端设置”部分)
- 确保服务端正在运行且可以访问
- 运行客户端:
python talk2mcp_math_draw_client.py
服务端与客户端通信
-
连接协议:
- 客户端与服务端建立连接
- 身份验证握手
- 工具列表同步
- 会话初始化
-
数据流:
- 客户端发送数学查询
- 服务端处理请求
- 将结果返回给客户端
- 执行绘图命令
- 传达状态更新
-
错误处理:
- 连接重试机制
- 会话恢复
- 工具执行回退
- 资源清理
查询示例
- 基本数学绘图:
Calculate the sum of ASCII values for the word "HELLO" and draw it inside a rectangle at the center of the canvas.
- 复杂数学可视化:
Find the exponential values of first 5 prime numbers, sum them up, and display the result in a blue rectangle at coordinates (500, 300).
- 多项操作:
Convert the word "MATH" to ASCII values, calculate their sum, find the square root, and display the result in a red rectangle with white text.
- 高级绘图:
Draw a rectangle at (200, 200) with width 400 and height 300, then place the result of (2^10 + 3^5) inside it with centered text.
工作原理
- 客户端通过 stdio 通信连接到 MCP 服务
- 使用 Gemini AI 模型处理数学查询
- 结果会自动绘制在画布上
- 系统采用迭代方法(最多 9 次迭代)解决复杂问题
- 结果以赏心悦目的格式显示
- 每项操作都会根据工具架构进行验证
- 系统已实现错误处理和超时机制
错误处理
客户端包含完善的错误处理机制,可处理:
- API 超时(大模型操作的超时时间为 10 秒)
- 无效输入
- 连接问题
- 工具执行错误
- 绘图工具故障
- 参数验证错误
- 会话管理问题
贡献
欢迎提交问题和改进建议。
许可证
本项目根据 Apache License 2.0 版(“许可证”)授权; 除非遵守许可证,否则不得使用此文件。 您可以通过以下网址获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件均按“按原样”提供, 不附带任何明示或暗示的保证或条件。 请参阅许可证,了解管理权限和限制的具体语言。
故障排除
-
常见问题:
- 连接超时
- 绘图工具故障
- 内存问题
- 性能问题
- 身份验证错误
-
解决方案:
- 检查服务状态
- 验证网络连接
- 清除缓存和临时文件
- 更新依赖项
- 检查系统资源
性能提示
-
优化:
- 使用合适的画布大小
- 限制并发操作
- 清除未使用的资源
- 监控内存使用情况
- 使用高效算法
-
最佳实践:
- 定期备份
- 更新系统
- 监控资源
- 记录错误日志
- 进行性能测试
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。