Token导航 LogoToken导航

MCP Server · AI代理

Custom MCP Server To Paint In Python

一个通过MCP工具控制无API的GUI绘图应用的代理(LLM),能够自动打开绘图应用、绘制矩形并在矩形内添加文本。

stdio官方级别未说明来源级核验工具 3
PythonmacOS工具AI代理

快速开始

作者 / 组织
sushant097
提供方
sushant097
运行时
Python

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Custom MCP Server To Paint In Python 属于AI代理类 MCP Server,公开资料标注 3 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

EAG v2 — 作业4(代理 → MCP → 图形用户界面“绘图”)

制作一个 代理(大型语言模型) 控制一个GUI绘图应用 没有API 通过调用MCP工具。代理必须打开一个类似绘图的应用程序,绘制一个矩形,然后输入文本 里面 矩形——带有 无需手动调用绘图功能 在客户端代码中。

这个仓库包含一个 已准备好连接Mac 使用……的解决方案 Preview.app(预览应用) + 标记 使用其他工具,而不是MS Paint。

______________________________________________________________________

这个仓库里有什么

  • server.py – MCP(微型计算机原理/最小系统配置/多点控制单元,具体含义根据上下文确定) 服务器 展示图形用户界面(GUI)工具:

- open_paint() → 打开 预览 在空白画布上,调整窗口大小,显示标记工具栏 - draw_rectangle(x1, y1, x2, y2) → 通过 Preview 绘制一个矩形 工具 → 添加注释 → 矩形 - add_text_in_paint(text) → 插入一个 文本 框选并输入您的文本 - 所有坐标均为 窗口相对的 (原点 = 预览前端窗口的左上角)

  • talk2mcp.py – MCP(最小成本路径/多协议控制器等,具体含义需根据上下文确定) 客户端代理:

- 通过标准输入输出启动服务器并列出可用工具

- 使用Gemini Flash 2.0(通过 google-genai) 带着一个 严格的系统提示 这迫使模型输出 每一步一行:

- FUNCTION_CALL: |arg1|arg2|... - 或者 FINAL_ANSWER: DONE

- 解析这一行并调用MCP工具。 无手动GUI调用 在这里——代理驱动着一切。

  • requirements.txt – macOS 依赖项(无仅适用于 Windows 的库):
  mcp
  google-genai
  python-dotenv
  pyautogui
  pyobjc
  pillow

______________________________________________________________________

与(讲师使用的)Windows/MS Paint基线相比,发生了什么变化

  1. 操作系统切换(Windows → macOS)

- 替换 pywinauto / pywin32 (介词)与……一起;带着 pyautogui + AppleScript(苹果脚本) 控制 Preview.app(预览应用) (适用于 Apple Silicon)。 - 移除了仅适用于Windows的软件包;已更新 requirements.txt 因此,相应地。

  1. 相对于窗口的坐标

- 服务器 读取预览窗口的边界 并且将窗口相对(的坐标/位置)转换为 (x, y) 转换为绝对屏幕坐标。 - 这使得事物具有了抵御(或抵抗)……的能力 多显示器 设置和不同的分辨率。

  1. 客户端无需手动调用绘图功能

- talk2mcp.py 现在 仅 转发代理的 FUNCTION_CALL: 连接到服务器的线路。 - 代理本身决定顺序: open_paint → draw_rectangle → add_text_in_paint → FINAL_ANSWER。

  1. 强大的工具激活

- 预览标记工具栏是通过程序切换的。 - 工具通过 菜单导航 (AppleScript),其在不同设置中的可靠性高于键盘快捷键。

______________________________________________________________________

它是如何工作的(流程)

+--------------------+       MCP (stdio)        +------------------+      mac GUI
|  talk2mcp.py       |    |    server.py     |   (Preview.app)
|  (Agent client)    |                          |   (MCP server)   |
+--------------------+                          +------------------+
        |  list_tools()                                  |
        |----------------------------------------------->|
        |                                                |
        |  prompt LLM (system prompt lists tools)        |
        |                                                |
        |  LLM: "FUNCTION_CALL: open_paint"              |
        |----------------------------------------------->|  open Preview + Markup toolbar
        |  LLM: "FUNCTION_CALL: draw_rectangle|x1|y1|x2|y2"
        |----------------------------------------------->|  drag to draw rectangle
        |  LLM: "FUNCTION_CALL: add_text_in_paint|Hello" |
        |----------------------------------------------->|  place text box + type
        |  LLM: "FINAL_ANSWER: DONE"                     |
        v
     complete

______________________________________________________________________

设置(macOS)

  1. 创建虚拟环境并安装
   python -m venv venv
   source venv/bin/activate
   pip install -r requirements.txt
  1. API密钥

创建一个 .env 项目根目录中的文件:

   GEMINI_API_KEY=your_google_api_key_here
  1. 权限(非常重要)

- 系统设置 → 隐私与安全

- 无障碍性 → 允许您的终端/iTerm/Python - 屏幕录制 → 允许同样的(行为/情况)

- 如果更改未生效,请重启您的终端。

______________________________________________________________________

跑

打开两个终端(或标签页):

航站楼A – 服务器

source venv/bin/activate
python server.py

B航站楼 - 客户区

source venv/bin/activate
python talk2mcp.py

你应该看到代理发出类似这样的调用:

FUNCTION_CALL: open_paint
FUNCTION_CALL: draw_rectangle|400|250|1100|650
FUNCTION_CALL: add_text_in_paint|What is the capital of Nepal?
FINAL_ANSWER: DONE

在预览中,你会看到一个矩形框,里面是你输入的文本。

______________________________________________________________________

调整智能体的行为

  • 在 talk2mcp.py:

- 在矩形框内设置您想要书写的内容:

    user_text = "Hello from the Agent!"
    query = f'Task: Draw a rectangle and write the following text inside it: "{user_text}".'

- 这个(或“它”) 系统提示 已经采用了单行回复格式,并提到了三种工具。

  • 如果代理(或代表)移出画布范围:

- 调整您建议的矩形坐标(代理通常会在首次运行成功后选择合理的值)。 - 你也可以添加一个提示到 query例如,“使用窗口大致中心的坐标。”

______________________________________________________________________

坐标与多显示器笔记

  • 所有工具坐标均相对于窗口 in server.py。

- (0,0) 是的 预览窗口的左上角。 - 如果你的矩形不可见,请尝试使用更小的值(例如。, x1=200, y1=150, x2=1000, y2=600)。

  • 服务器将窗口调整为已知的矩形尺寸(默认值: left=100, top=80, width=1400, height=900) 以使此过程可重复。你可以更改这些(内部设置) open_paint()。

______________________________________________________________________

故障排除

  • 预览无响应/点击无效果

- 检查 无障碍性 + 屏幕录制 权限。 - 确保“预览”处于最前面(服务器调用时) activate_app("Preview"),但请尝试手动点击一次“预览”)。

  • “文本”工具未插入

- 菜单可以本地化。在 server.py菜单点击是:

    Tools → Annotate → Text

如果您的系统语言不同,请更改 "Text" 到您当地的菜单标签。

  • 双子座错误(认证/模型)

- 确认 .env 具有有效性 GEMINI_API_KEY。 - 需要互联网 google-genai.

  • 代理一直说着“完成”却不进行绘制

- 系统提示强制要求调用工具,但如果仍然发生(这种情况),请增加循环迭代次数 talk2mcp.py 或者在其中加入更明确的提示 query 就像“先调用open_paint,然后draw_rectangle,接着add_text_in_paint。”

______________________________________________________________________

快速常见问题解答

问:如果我以后换用Windows系统,还能继续使用MS Paint吗?

A: 是的。交换 server.py 翻译为中文是:“对于使用(某功能/技术)的Windows版本” pywinauto 并保持 talk2mcp.py 未更改(工具名称保持不变)。

问:代理可以自行选择坐标吗?

A: 是的;提示语会鼓励这样做。如果选择不佳,可以在提示语中添加坐标提示或提供一个“安全默认矩形”。

问:我如何验证代理确实调用了工具?

A: 两者都是 talk2mcp.py 并且 server.py 为每个工具调用打印日志——你会看到 FUNCTION_CALL: 控制台中的命令行和服务器的响应。

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

GUI自动化Python本地部署LLM控制绘图工具macOS工具MCP协议

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Custom MCP Server To Paint In Python

MCP World · 本页

3stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Custom MCP Server To Paint In Python 怎么安装?

公开资料给出的安装命令是 python -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Custom MCP Server To Paint In Python 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Custom MCP Server To Paint In Python 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Custom MCP Server To Paint In Python 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Custom MCP Server To Paint In Python 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP