MSPaint自动化工具

通过Model Context Protocol (MCP)和AI代理实现MSPaint的自动化操作,包括绘制矩形和添加文本等功能。

  • by shettysaish20
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 shettysaish20/mspaint-mcp-server

使用说明

模型上下文协议(MCP)MSPaint应用程序自动化

该项目演示了如何使用模型上下文协议(MCP)自动化与旧版Windows应用程序(MSPaint)的交互。它利用 pywinauto 控制油漆应用 fastmcp 定义AI代理可以调用的工具。AI代理由谷歌的Gemini模型提供支持,使用这些工具执行绘制矩形和向Paint画布添加文本等任务。

目录

引言

该项目展示了使用AI代理实现MSPaint的自动化。该代理可以打开Paint、绘制矩形和添加文本,所有这些都由自然语言指令驱动。这是通过模型上下文协议(MCP)实现的,它允许AI代理调用Python代码中定义的特定函数(工具)。

模型上下文协议(MCP)

模型上下文协议(MCP)是一个框架,使AI模型能够与外部工具和资源进行交互。它为模型在现实世界中调用函数、检索数据和执行操作提供了一种标准化的方法。在这个项目中,MCP用于将Paint自动化功能作为AI代理可以使用的工具公开。

项目结构

├── MSPaint-MCP-Server/
│ ├── mcp_server.py # Defines the MCP server with tools for Paint automation 
│ ├── mcp_client.py # Defines the MCP client that interacts with the server and AI model 
│ ├── requirements.txt # Lists the project dependencies 
│ └── .env # Stores the Gemini API key 
├── README.md # This file

需求

  • Python 3.11+
  • Conda(推荐用于环境管理)
  • Google Gemini API密钥
  • pywin32
  • pywinauto
  • fastmcp
  • python dotenv
  • 谷歌genai

设置

  1. 创建Conda环境:

    conda create -n eagenv python=3.11
    conda activate eagenv
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 设置Gemini API密钥:

    • 创建一个 .env 目录中的文件。

    • 将Gemini API密钥添加到 .env 文件:

      GEMINI_API_KEY=YOUR_API_KEY
      

用法

  1. 运行MCP客户端:

    python mcp_paint_app/mcp_client.py
    

    这将启动连接到MCP服务器的MCP客户端,初始化AI代理,并开始自动化过程。

运作原理

  1. MCP服务器(mcp_server.py):

    • 定义用于与MSPaint交互的工具(例如。, open_paint, draw_rectangle, add_text_in_paint).
    • 用途 pywinauto 以控制MSPaint应用程序。
    • 通过以下方式显示这些工具 fastmcp 图书馆。
  2. MCP客户端(mcp_client.py):

    • 连接到MCP服务器。
    • 使用Google Gemini模型生成指令。
    • 分析模型的输出以确定调用哪个工具。
    • 调用MCP服务器上的相应工具。
    • 处理来自工具的响应并将其反馈给模型。
  3. 人工智能代理(谷歌双子座):

    • 接收查询(例如,“返回前20个斐波那契数的总和。”)。
    • 使用可用工具(在系统提示中定义)解决问题。
    • 生成函数调用(例如。, FUNCTION_CALL: fibonacci_numbers|20)使用工具。
    • 提供最终答案(例如。, FINAL_ANSWER: 6765)并使用Paint显示结果。

关键组件

  • mcp_server.py: 包含自动化MSPaint的核心逻辑。这 open_paint, draw_rectangle,以及 add_text_in_paint 函数是AI代理使用的关键工具。
  • mcp_client.py: 管理AI代理和MCP服务器之间的交互。它设置系统提示、调用工具并处理响应。
  • requirements.txt: 列出项目所需的所有Python包。
  • .env: 存储Google Gemini API密钥。

故障排除

  • 权限问题: 如果遇到权限问题,请尝试以管理员身份运行脚本。
  • 协调问题: 用于在MSPaint中单击的坐标可能需要根据您的屏幕分辨率和窗口大小进行调整。使用代码中的调试打印语句来标识正确的坐标。
  • 工具选择问题: 如果AI代理没有选择正确的工具,请查看系统提示并确保工具描述准确。
  • API关键问题: 确保Gemini API密钥在 .env 文件。

贡献

欢迎投稿!请提交一个包含您的更改的拉取请求。

许可证

MIT许可证