关于 Interactive Drawing MCP
这是一个将 Tkinter 绘图窗口与 16×16 网格控制工具结合的 MCP 服务示例,适用于与 Goose 等 MCP 客户端进行交互绘图,并将网格状态保存到会话之间。
主要功能
- 01交互式 16×16 绘图网格
- 02启动绘图会话
- 03切换单个网格单元
- 04以文本读取网格状态
- 05将状态保存为 JSON
适用场景
- 01通过工具调用绘制图案
- 02查看当前网格状态
- 03继续编辑已保存的绘图
MCP 相关
提供启动会话、切换网格单元和获取网格状态的工具,并将 Goose AI 的工具调用连接到 Tkinter 界面。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
交互式绘图 MCP
本项目是一个带有交互式绘图界面的 Model Context Protocol(MCP)服务示例。它展示了如何构建包含独立绘图窗口的 MCP 扩展,并使用 Tkinter 作为图形界面。
功能
-
绘图网格界面:
- 提供一个 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
与 Goose 搭配使用
选项 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 与绘图界面之间的通信。
- 交互式 UI:提供网格的可视化界面。
- 与 Goose AI 集成:来自 Goose AI 的工具调用会直接反映在网格状态上,反之亦然。
优势
- 职责分离:清晰区分服务逻辑和 UI 展示。
- 提升用户体验:在基于文本的命令界面之外,提供直观的视觉反馈。
- 适应性:可扩展到涉及 AI 和交互式 UI 的更复杂应用。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。