数学绘图客户端

一款结合数学计算与可视化绘图功能的Python应用,通过Gemini AI模型处理数学查询并生成响应。

  • by movva09
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 movva09/agent-mcp-math-draw

使用说明

基于MCP的数学绘图客户端

数学绘图客户端(talk2mcp_math_draw_client.py)是一个将数学计算与可视化绘图功能相结合的Python应用程序。它使用Gemini AI模型来处理数学查询并生成适当的响应。

特性

当前实现的功能

  • 与Gemini AI集成以解决数学问题
  • 数学结果可视化表示的绘图功能
  • 迭代问题解决方法(最多9次迭代)
  • 支持基本的数学运算和ASCII值计算
  • 在画布上自动绘制结果
  • 基本错误处理和恢复
  • 简单的画布操作
  • 基本文本放置
  • 操作超时处理(LLM操作超时10秒)
  • 会话管理
  • 工具执行与参数验证

服务器要求

  1. MCP服务器设置:

    • Python 3.x环境
    • 已安装MCP服务器包
    • 所需的服务器依赖关系:
      • mcp 包裹
      • google-generativeai 用于AI集成
      • python-dotenv 环境管理
  2. 服务器配置:

    • 端口配置(默认值:8080)
    • 数学运算的内存分配
    • 画布大小设置(默认值:1920x1080)
    • 最大并发连接数
    • 操作超时设置
  3. 服务器工具:

    • 数学计算引擎
    • 绘图画布管理器
    • 工具执行处理程序
    • 会话管理器
    • 错误处理系统

先决条件

  • Python 3.x
  • 所需的Python包:
    • python-dotenv
    • google-generativeai
    • mcp 包裹

环境设置

  1. 创建一个 .env 项目根目录中的文件
  2. 添加您的Gemini API密钥:
    GEMINI_API_KEY=your_api_key_here
    

服务器安装程序

  1. 安装服务器依赖项:

    pip install mcp google-generativeai python-dotenv
    
  2. 在中配置服务器设置 config.json:

    {
      "server": {
        "port": 8080,
        "max_connections": 10,
        "timeout": 30,
        "canvas": {
          "width": 1920,
          "height": 1080
        }
      }
    }
    
  3. 启动MCP服务器:

    python example2-3_server.py
    

可用工具

当前实施的工具

  1. 数学运算:

    • 基本算术运算(加、减、乘、除)
    • 高级数学函数(指数、对数)
    • ASCII值计算
    • 字符串操作和转换
    • 阵列操作
    • 素数计算
    • 因式计算
    • 斐波那契数列生成
  2. 绘图工具:

    • 具有自定义尺寸的矩形图形
    • 带格式的基本文本放置
    • 画布清理和重置
    • 基于坐标的绘图
    • 简单的颜色选择
    • 基础层管理

计划中的未来工具

  1. 增强的数学运算
  2. 高级绘图功能:
  3. 分析工具:
  4. 实用工具:

安装

  1. 克隆存储库
  2. 安装所需的软件包:
    pip install python-dotenv google-generativeai mcp
    
  3. 如上所述设置环境变量

用法

  1. 启动MCP服务器(请参阅服务器设置部分)
  2. 确保服务器正在运行且可访问
  3. 运行客户端:
    python talk2mcp_math_draw_client.py
    

服务器客户端通信

  1. 连接协议:

    • 客户端与服务器建立连接
    • 身份验证握手
    • 工具列表同步
    • 会话初始化
  2. 数据流:

    • 客户端发送数学查询
    • 服务器处理请求
    • 结果返回给客户端
    • 执行绘图命令
    • 传达状态更新
  3. 错误处理:

    • 连接重试机制
    • 会话恢复
    • 工具执行回退
    • 资源清理

查询示例

  1. 基础数学绘图:
Calculate the sum of ASCII values for the word "HELLO" and draw it inside a rectangle at the center of the canvas.
  1. 复杂数学可视化:
Find the exponential values of first 5 prime numbers, sum them up, and display the result in a blue rectangle at coordinates (500, 300).
  1. 多种操作:
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.
  1. 高级绘图:
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.

运作原理

  1. 客户端使用stdio通信连接到MCP服务器
  2. 它使用Gemini AI模型处理数学查询
  3. 结果会自动绘制在画布上
  4. 该系统使用迭代方法(最多9次迭代)来解决复杂问题
  5. 结果以视觉上吸引人的格式显示
  6. 每个操作都根据工具模式进行验证
  7. 错误处理和超时机制到位

错误处理

客户端包括强大的错误处理功能,用于:

  • API超时(LLM操作超时10秒)
  • 无效输入
  • 连接问题
  • 工具执行错误
  • 绘图工具故障
  • 参数验证错误
  • 会话管理问题

贡献

请随时提交问题和增强请求。

许可证

根据Apache许可证2.0版(“许可证”)许可; 除非遵守许可证,否则您不得使用此文件。 您可以在以下网址获得许可证副本

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发的内容按“原样”分发, 无任何明示或暗示的保证或条件。 请参阅许可证,了解管理权限和 许可证下的限制。

故障排除

  1. 常见问题:

    • 连接超时
    • 绘图工具故障
    • 内存问题
    • 性能问题
    • 身份验证错误
  2. 解决:

    • 检查服务器状态
    • 验证网络连接
    • 清除缓存和临时文件
    • 更新依赖关系
    • 检查系统资源

性能提示

  1. 优化:

    • 使用适当的画布大小
    • 限制并发操作
    • 清除未使用的资源
    • 监控内存使用情况
    • 使用高效算法
  2. 最佳实践:

    • 定期备份
    • 系统更新
    • 资源监控
    • 错误记录
    • 性能测试