article
README
🚀 模型上下文协议(MCP)画图应用程序自动化
本项目展示了如何借助模型上下文协议(MCP)实现与遗留Windows应用程序(MSPaint)的自动化交互。它运用pywinauto对绘图应用程序进行控制,并借助fastmcp定义工具,这些工具可供AI代理调用。由Google的Gemini模型提供支持的AI代理,能够依据自然语言指令执行任务,例如在Paint画布上绘制矩形以及添加文本。
🚀 快速开始
要求
- Python版本:3.6及以上
- 依赖项:
python-dotenvhttp.serverargparse
设置
- 安装所需的Python包:
pip install python-dotenv - 下载并安装MCP协议的最新版本。
- 将
requirements.txt中的所有依赖项安装到您的环境中。 - 配置环境变量,将Google Gemini API密钥存储在
.env文件中:GEMINI_API_KEY=your_api_key_here
使用方法
- 运行MCP服务器:
python mcp_server.py --port 8000 - 启动MCP客户端:
python mcp_client.py --mode automation
✨ 主要特性
- 此项目展示了如何通过AI代理自动化控制MSPaint。代理可以打开Paint、绘制矩形和添加文本,所有操作均由自然语言指令驱动。
- 通过模型上下文协议(MCP),AI代理能够调用定义在Python代码中的特定函数。
📦 安装指南
安装步骤
- 安装所需的Python包:
pip install python-dotenv - 下载并安装MCP协议的最新版本。
- 将
requirements.txt中的所有依赖项安装到您的环境中。 - 配置环境变量,将Google Gemini API密钥存储在
.env文件中:GEMINI_API_KEY=your_api_key_here
📚 详细文档
模型上下文协议(MCP)
模型上下文协议(MCP)是一个框架,使AI模型能够与外部工具和资源交互。它提供了一种标准方式,供模型调用功能、检索数据并执行现实世界中的操作。在此项目中,MCP用于将Paint自动化功能作为工具公开,这些工具可以由AI代理调用。
项目结构
├── MSPaint-MCP-Server/
│ ├── mcp_server.py # 定义包含Paint自动化功能的MCP服务器
│ ├── mcp_client.py # 定义与服务器和AI模型交互的MCP客户端
│ ├── requirements.txt # 列出项目依赖项
│ └── .env # 存储Google Gemini API密钥
工作原理
- MCP协议:作为通信桥梁,连接AI代理和Paint应用程序。
- 自然语言处理:AI代理解析用户指令并选择适当的工具执行操作。
- 绘图自动化:利用
pywinauto库控制Paint窗口,实现图形绘制。
关键组件
- mcp_server.py:负责接收和处理来自客户端的请求,管理与Paint应用程序的交互。
- mcp_client.py:作为用户界面,接收输入指令并调用相应的MCP服务。
- requirements.txt:列出项目所需的所有Python包。
- .env:存储敏感信息如API密钥。
故障排除
- 权限问题:以管理员身份运行脚本。
- 坐标问题:根据屏幕分辨率和窗口大小调整坐标,使用代码中的调试打印语句确定正确坐标。
- 工具选择问题:检查系统提示,确保工具描述准确无误。
- API密钥问题:确认
.env文件中正确设置了Gemini API密钥。
贡献
欢迎贡献!请通过提交拉取请求的方式分享您的更改。
微信扫一扫