使用说明
交互式绘图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的更复杂的应用程序。
