交互式绘图MCP
该项目是一个具有交互式绘图界面的模型上下文协议(MCP)服务器的示例。它演示了如何使用Tkinter作为图形界面构建一个MCP扩展,该扩展包括一个用于绘图的单独UI窗口。
特性
- 绘制网格界面:
- 提供16x16网格,每个单元格可以在两种状态(填充或空)之间切换。 - 提供一个清晰的网格按钮来重置所有单元格。
- 服务器功能:
- 开始绘画课程:初始化新会话并启动UI。 - 切换单元格:通过命令界面切换单个单元格的颜色。 - 获取电网状态:以文本表示形式检索当前网格配置。
- 持久性:网格状态保存为JSON文件(
board_state.json)以保持会话之间的一致性。
- UI和状态同步:
- 实时UI更新:后台线程持续监视网格状态文件的更新,并直观地反映更改。
安装
选项1:从源代码安装
- 克隆此存储库:
git clone https://github.com/AaronGoldsmith/interactive_draw_mcp
cd interactive_draw_mcp- 安装软件包:
pip install -e .用法
作为独立的MCP服务器
运行服务器以打开绘图窗口:
interactive-draw-mcp与鹅
选项1:使用Goose CLI(推荐)
启用扩展后启动Goose:
# Local Development
goose session --with-extension "python -m interactive-draw-mcp"工具
- 服务器工具:
- start_drawing_session():初始化绘图会话并打开UI。 - toggle_cell_color(row, col):在指定位置切换单元格的颜色 row 和 col. - get_grid_state():提供网格当前状态的字符串表示。
资源和参考
- 灵感:本MCP的灵感来自 Kvadratni/tik tak toe mcp.
架构概述
该项目的架构展示了:
- MCP服务器:通过定义良好的工具管理Goose AI和绘图界面之间的通信。
- 交互式用户界面:为网格提供可视化界面。
- 与Goose AI集成:Goose AI的工具调用直接反映到网格状态上,反之亦然。
益处
- 职责分离:保持服务器逻辑和UI演示之间的清晰分离。
- 改善用户体验:提供直观的视觉反馈以及基于文本的命令界面。
- 适应性:可以扩展到涉及人工智能和交互式UI的更复杂的应用程序。


