Interactive Drawing MCP

by AaronGoldsmith

1 303 downloads Not rated yet

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.