mcpField
M
MCP based Math Drawing Client

MCP based Math Drawing Client

本地服务
github.com/movva09AI 与智能体081 周前更新

关于 MCP based Math Drawing Client

这是一个使用 Gemini 处理数学问题并在画布上绘制结果的 Python 应用,适合需要将计算答案可视化的用户。它支持迭代求解,并通过画布工具呈现结果。

主要功能

  1. 01基于 Gemini 求解数学问题
  2. 02数学计算与字符串操作
  3. 03绘制矩形和文本
  4. 04最多迭代 9 次求解
  5. 05清空画布与选择颜色

适用场景

  1. 01计算数值并将结果绘制在矩形中
  2. 02将单词转换为 ASCII 值并可视化其总和

MCP 相关

客户端通过 stdio 连接 MCP 服务,同步工具列表,并发送数学查询以进行计算和绘图。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

基于 MCP 的数学绘图客户端

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

功能

当前已实现的功能
  • 集成 Gemini AI,解决数学问题
  • 绘图功能,用于直观呈现数学结果
  • 迭代式问题求解方法(最多 9 次迭代)
  • 支持基本数学运算和 ASCII 值计算
  • 自动在画布上绘制结果
  • 基本错误处理与恢复
  • 简单的画布操作
  • 基本文本放置
  • 操作超时处理(LLM 操作的超时时间为 10 秒)
  • 会话管理
  • 带参数验证的工具执行

服务端要求

  1. MCP 服务设置:

    • Python 3.x 环境
    • 已安装 MCP 服务包
    • 必需的服务端依赖项:
      • mcp 包
      • 用于 AI 集成的 google-generativeai
      • 用于环境管理的 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 超时(大模型操作的超时时间为 10 秒)
  • 无效输入
  • 连接问题
  • 工具执行错误
  • 绘图工具故障
  • 参数验证错误
  • 会话管理问题

贡献

欢迎提交问题和改进建议。

许可证

本项目根据 Apache License 2.0 版(“许可证”)授权; 除非遵守许可证,否则不得使用此文件。 您可以通过以下网址获取许可证副本:

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

除非适用法律要求或书面同意,否则根据许可证分发的软件均按“按原样”提供, 不附带任何明示或暗示的保证或条件。 请参阅许可证,了解管理权限和限制的具体语言。

故障排除

  1. 常见问题:

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

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

性能提示

  1. 优化:

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

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。