Interactive Drawing MCP
About
MCP Server for collaborative drawing with Large Language Models
Explore
- Drawing Grid Interface:
- Offers a 16x16 grid where each cell can be toggled between two states (filled or empty).
- Provides a clear grid button to reset all cells.
- Server Capabilities:
- Start Drawing Session: Initializes a new session and launches the UI.
- Toggle Cell: Toggle the color of individual cells via a command interface.
- Get Grid State: Retrieve the current grid configuration as a text representation.
- Persistence: Grid state is saved to a JSON file (board_state.json) to maintain consistency across sessions.
- UI and State Synchronization:
- Real-Time UI Update: A background thread continuously watches for updates to the grid state file and reflects changes visually.
1. Clone this repository:
git clone https://github.com/AaronGoldsmith/interactive_draw_mcp
cd interactive_draw_mcp
2. Install the package:
pip install -e .
- Server Tools:
- start_drawing_session(): Initializes a drawing session and opens the UI.
- toggle_cell_color(row, col): Toggles the cell's color at specified row and col.
- get_grid_state(): Provides a string representation of the grid's current state.
This project is an example of a Model Context Protocol (MCP) server with an interactive drawing interface. It demonstrates how to build an MCP extension that includes a separate UI window for drawing, using Tkinter as the graphical interface.
Features
- Drawing Grid Interface:
- Offers a 16x16 grid where each cell can be toggled between two states (filled or empty).
- Provides a clear grid button to reset all cells.
- Server Capabilities:
- Start Drawing Session: Initializes a new session and launches the UI.
- Toggle Cell: Toggle the color of individual cells via a command interface.
- Get Grid State: Retrieve the current grid configuration as a text representation.
- Persistence: Grid state is saved to a JSON file (board_state.json) to maintain consistency across sessions.
- UI and State Synchronization:
- Real-Time UI Update: A background thread continuously watches for updates to the grid state file and reflects changes visually.
Installation
Option 1: Install from Source
1. Clone this repository:
git clone https://github.com/AaronGoldsmith/interactive_draw_mcp
cd interactive_draw_mcp
2. Install the package:
pip install -e .
Usage
As a Standalone MCP Server
Run the server to open the drawing window:
interactive-draw-mcp
With Goose
Option 1: Using Goose CLI (recommended)
Start Goose with your extension enabled:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



