MCP based Math Drawing Client
代理式 MCP 客户端服务器,解决数学任务并在绘图应用程序中以矩形绘制输出。
movva09
README
基于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-dotenv
google-generativeai
mcp
包
环境设置
- 在项目根目录中创建一个
.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
服务器-客户端通信
-
连接协议:
- 客户端建立与服务器的连接
- 身份验证握手
- 工具列表同步
- 会话初始化
-
数据流:
- 客户端发送数学查询
- 服务器处理请求
- 结果返回给客户端
- 执行绘图命令
- 状态更新进行通信
-
错误处理:
- 连接重试机制
- 会话恢复
- 工具执行回退
- 资源清理
示例查询
- 基本数学绘图:
计算单词 "HELLO" 的 ASCII 值之和,并将其绘制在画布中心的矩形内。
- 复杂数学可视化:
找到前 5 个质数的指数值,将它们加起来,并将结果显示在坐标 (500, 300) 的蓝色矩形中。
- 多重运算:
将单词 "MATH" 转换为 ASCII 值,计算它们的总和,找到平方根,并将结果显示在带有白色文本的红色矩形中。
- 高级绘图:
在 (200, 200) 处绘制一个宽度为 400,高度为 300 的矩形,然后将 (2^10 + 3^5) 的结果放置在其中,并使用居中文本。
工作原理
- 客户端使用 stdio 通信连接到 MCP 服务器
- 它使用 Gemini AI 模型处理数学查询
- 结果会自动绘制在画布上
- 系统使用迭代方法(最多 9 次迭代)来解决复杂问题
- 结果以视觉上吸引人的格式显示
- 每个操作都根据工具模式进行验证
- 错误处理和超时机制已到位
错误处理
客户端包括强大的错误处理功能,用于:
- API 超时(LLM 操作的 10 秒超时)
- 无效输入
- 连接问题
- 工具执行错误
- 绘图工具故障
- 参数验证错误
- 会话管理问题
贡献
欢迎提交问题和增强请求。
许可证
根据 Apache License, Version 2.0(“许可证”)获得许可; 除非遵守许可证,否则您不得使用此文件。 您可以在以下位置获得许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或以书面形式达成协议,否则根据“按原样”基础分发的软件 不附带任何形式的保证或条件,无论是明示的还是暗示的。 请参阅许可证,以了解管理权限和 限制的特定语言。
故障排除
-
常见问题:
- 连接超时
- 绘图工具故障
- 内存问题
- 性能问题
- 身份验证错误
-
解决方案:
- 检查服务器状态
- 验证网络连接
- 清除缓存和临时文件
- 更新依赖项
- 检查系统资源
性能提示
-
优化:
- 使用适当的画布大小
- 限制并发操作
- 清除未使用的资源
- 监控内存使用情况
- 使用高效的算法
-
最佳实践:
- 定期备份
- 系统更新
- 资源监控
- 错误日志记录
- 性能测试
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。