微软画图控制服务器

一个通过JSON-RPC 2.0协议控制Microsoft Paint的服务器,支持绘图、颜色设置和窗口控制等功能。

  • by ghuntley
  • Rust
  • 本地部署
  • 25 星标
  • 更新于
在 GitHub 查看 ghuntley/mcp-server-microsoft-paint

使用说明

Microsoft Paint的MCP服务器

一个兼容JSON-RPC 2.0的服务器,用于通过Microsoft命令行协议(MCP)控制Microsoft Paint。

特性

  • 启动并连接到Microsoft Paint
  • 绘制线条、形状和像素
  • 设置颜色和工具属性
  • 控制“绘制”窗口

需求

  • 安装了Microsoft Paint的Windows 10/11
  • Rust(用于构建服务器)
  • Python(用于测试客户端示例)

建立和运行

要构建服务器,请执行以下操作:

cargo build --release

要运行服务器,请执行以下操作:

cargo run --release

服务器通过stdin接受JSON-RPC 2.0请求,并通过stdout进行响应。

JSON-RPC方法

initialize

查找或启动Microsoft Paint。

请求:

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

connect

连接到已运行的“绘制”窗口。

请求:

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

draw_line

从一点到另一点画一条线。

请求:

{
  "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
  }
}

其他方法

  • activate_window -将“绘制”窗口置于前景
  • get_canvas_dimensions -返回当前画布大小
  • draw_pixel -绘制单个像素
  • draw_shape -绘制形状(矩形、椭圆形等)
  • select_tool -选择绘图工具
  • set_color -设置当前颜色
  • 还有更多。..

示例测试客户端

中提供了一个简单的测试客户端 final_test.py 演示如何使用服务器:

python final_test.py

故障排除

如果服务器连接到Paint时遇到问题:

  1. 确保Microsoft Paint已安装且可访问
  2. 尝试在启动服务器之前手动启动Paint
  3. 检查服务器日志以获取详细的错误消息

许可证

该项目在MIT许可证下可用。