使用说明
基于MCP的数学绘图客户端
数学绘图客户端(talk2mcp_math_draw_client.py)是一个将数学计算与可视化绘图功能相结合的Python应用程序。它使用Gemini AI模型来处理数学查询并生成适当的响应。
特性
当前实现的功能
- 与Gemini AI集成以解决数学问题
- 数学结果可视化表示的绘图功能
- 迭代问题解决方法(最多9次迭代)
- 支持基本的数学运算和ASCII值计算
- 在画布上自动绘制结果
- 基本错误处理和恢复
- 简单的画布操作
- 基本文本放置
- 操作超时处理(LLM操作超时10秒)
- 会话管理
- 工具执行与参数验证
服务器要求
-
MCP服务器设置:
- Python 3.x环境
- 已安装MCP服务器包
- 所需的服务器依赖关系:
mcp包裹google-generativeai用于AI集成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超时(LLM操作超时10秒)
- 无效输入
- 连接问题
- 工具执行错误
- 绘图工具故障
- 参数验证错误
- 会话管理问题
贡献
请随时提交问题和增强请求。
许可证
根据Apache许可证2.0版(“许可证”)许可; 除非遵守许可证,否则您不得使用此文件。 您可以在以下网址获得许可证副本
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发的内容按“原样”分发, 无任何明示或暗示的保证或条件。 请参阅许可证,了解管理权限和 许可证下的限制。
故障排除
-
常见问题:
- 连接超时
- 绘图工具故障
- 内存问题
- 性能问题
- 身份验证错误
-
解决:
- 检查服务器状态
- 验证网络连接
- 清除缓存和临时文件
- 更新依赖关系
- 检查系统资源
性能提示
-
优化:
- 使用适当的画布大小
- 限制并发操作
- 清除未使用的资源
- 监控内存使用情况
- 使用高效算法
-
最佳实践:
- 定期备份
- 系统更新
- 资源监控
- 错误记录
- 性能测试
