MCP ExplorerExplorer

Mcp Server Microsoft Paint

@ghuntleyon 9 months ago
10 MIT
FreeCommunity
AI Systems
#mcp#microsoft-paint#model-context-protocol#mspaint
The mcp-server-microsoft-paint is a Rust-based server enabling programmatic interaction with Microsoft Paint. It features an HTTP API for drawing shapes, selecting tools, setting colors, and saving drawings, making it easy for applications to automate painting tasks on Windows systems.

Overview

What is Mcp Server Microsoft Paint

mcp-server-microsoft-paint is a Rust implementation of a Model Context Protocol (MCP) server that enables programmatic interaction with Microsoft Paint on Windows systems through an HTTP API.

Use cases

Use cases include automated drawing applications, educational tools for teaching drawing concepts, and integration into larger software systems that require graphical output.

How to use

To use mcp-server-microsoft-paint, clone the repository, build the project using Cargo, and run the server. You can then interact with Microsoft Paint via the provided API endpoints.

Key features

Key features include the ability to connect to an existing Paint instance or launch a new one, draw basic shapes (lines, rectangles, circles), select different drawing tools, set colors, and save drawings.

Where to use

mcp-server-microsoft-paint can be used in software development, educational projects, and automation tasks where interaction with Microsoft Paint is required.

Content

MCP Server for Microsoft Paint

A JSON-RPC 2.0 compatible server for controlling Microsoft Paint through the Microsoft Commandline Protocol (MCP).

Features

  • Launch and connect to Microsoft Paint
  • Draw lines, shapes, and pixels
  • Set colors and tool properties
  • Control the Paint window

Requirements

  • Windows 10/11 with Microsoft Paint installed
  • Rust (for building the server)
  • Python (for the test client examples)

Building and Running

To build the server:

cargo build --release

To run the server:

cargo run --release

The server accepts JSON-RPC 2.0 requests via stdin and responds via stdout.

JSON-RPC Methods

initialize

Finds or launches Microsoft Paint.

Request:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {}
}

connect

Connects to an already running Paint window.

Request:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "connect",
  "params": {
    "client_id": "your-client-id",
    "client_name": "Your Client Name"
  }
}

draw_line

Draws a line from one point to another.

Request:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "draw_line",
  "params": {
    "start_x": 100,
    "start_y": 100,
    "end_x": 300,
    "end_y": 100,
    "color": "#FF0000",
    "thickness": 3
  }
}

Other Methods

  • activate_window - Brings the Paint window to the foreground
  • get_canvas_dimensions - Returns the current canvas size
  • draw_pixel - Draws a single pixel
  • draw_shape - Draws a shape (rectangle, ellipse, etc.)
  • select_tool - Selects a drawing tool
  • set_color - Sets the current color
  • And more…

Example Test Client

A simple test client is provided in final_test.py to demonstrate how to use the server:

python final_test.py

Troubleshooting

If you encounter issues with the server connecting to Paint:

  1. Make sure Microsoft Paint is installed and accessible
  2. Try manually launching Paint before starting the server
  3. Check the server logs for detailed error messages

License

This project is available under the MIT License.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers