MCP Server for Microsoft Paint
LocalAbout MCP Server for Microsoft Paint
MCP Server for Microsoft Paint is a JSON-RPC 2.0 server written in Rust that controls the Paint application on Windows. It suits users who want to script drawing operations in Paint. The project is a basic implementation with a small set of documented methods.
Key features
- 01Launch or connect to a Paint window
- 02Draw lines, shapes and single pixels
- 03Set colors and tool properties
- 04Activate and control the Paint window
Use cases
- 01Scripting automated drawing on a Paint canvas
- 02Testing JSON-RPC based drawing control
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP 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 foregroundget_canvas_dimensions- Returns the current canvas sizedraw_pixel- Draws a single pixeldraw_shape- Draws a shape (rectangle, ellipse, etc.)select_tool- Selects a drawing toolset_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:
- Make sure Microsoft Paint is installed and accessible
- Try manually launching Paint before starting the server
- Check the server logs for detailed error messages
License
This project is available under the MIT License.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.