mcpField
K
Kira Mcp

Kira Mcp

本地服务
github.com/Anmol202005开发工具119 周前更新

关于 Kira Mcp

Kira Mcp 是供 Agent 通过兼容 MCP 的主机查看并控制计算机的本地 MCP 服务。它将屏幕解析与鼠标、键盘和剪贴板操作结合;主要针对 Windows 调优,macOS 和 Linux 则为尽力支持。

主要功能

  1. 01截取屏幕并识别界面元素
  2. 02本地 OmniParser-v2 图标检测
  3. 03鼠标移动、点击与拖动
  4. 04键盘输入和组合键
  5. 05读写剪贴板文本

适用场景

  1. 01识别屏幕控件并点击
  2. 02自动执行桌面输入与导航
  3. 03读取或设置剪贴板文本

MCP 相关

它作为本地 stdio JSON-RPC MCP 服务运行,由 Agent 主机启动。MCP 客户端可调用其屏幕、鼠标、键盘和剪贴板工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

   ██╗  ██╗██╗██████╗  █████╗
   ██║ ██╔╝██║██╔══██╗██╔══██╗
   █████╔╝ ██║██████╔╝███████║
   ██╔═██╗ ██║██╔══██╗██╔══██║
   ██║  ██╗██║██║  ██║██║  ██║
   ╚═╝  ╚═╝╚═╝╚═╝  ╚═╝╚═╝  ╚═╝
        local · MCP · computer-use

CI PyPI Python 3.10+ MCP 1.2+ 许可证:MIT 平台


kira-mcp 是一个本地 Model Context Protocol 服务,为任何兼容 MCP 的 Agent 宿主(Claude Desktop、Claude Code、Cursor、Cline、Continue 等)提供在主机上完整的计算机使用能力。

https://github.com/user-attachments/assets/b9b65987-32b1-43f5-bdf0-006ea71c6d13

Kira 端到端解决 CAPTCHA——只需一次 perceive_screen,即可获取可点击的像素坐标,无需人工介入。

专为 Windows 构建和调优。macOS 和 Linux 尽力支持——大多数工具都能正常工作,但部分 UI 习惯有所不同。

  • 视觉——perceive_screen 是 Agent 用于“一次性查看屏幕”的工具。它会在内存中截取当前屏幕,运行本地 microsoft/OmniParser-v2 YOLO 图标检测器,并返回带标注的图像,以及包含每个元素 {id, bbox, cx, cy, confidence} 的 JSON,坐标为绝对屏幕像素——因此 Agent 可以将 cx, cy 直接传给 mouse_click。无需 API 密钥,也不会发起网络请求。
  • 桌面自动化——通过 pyautogui、mss 和 pyperclip 实现像素级精准的鼠标控制、键盘输入(包括组合键和按键保持)以及剪贴板读写。

该服务使用 stdio JSON-RPC 通信,并由 Agent 宿主作为子进程启动。

快速开始

你需要 Python 3.10+ 和一个 MCP 宿主(示例使用 Claude Desktop)。选择你的操作系统。

🪟 Windows

1. 安装(在 PowerShell 或 Terminal 中):

pip install kira-mcp

2. 告知 Claude Desktop。 打开 %APPDATA%\Claude\claude_desktop_config.json 并添加:

{
  "mcpServers": {
    "kira-mcp": { "command": "kira-mcp" }
  }
}

3. 重启 Claude Desktop。 现在会显示 kira-mcp 工具。让它“查看我的屏幕并点击 X”——就这么简单。

🍎 macOS

1. 安装(在 Terminal 中):

pip install kira-mcp

2. 授予权限,以便服务查看屏幕并移动鼠标。在系统设置 → 隐私与安全性中:

  • 辅助功能 → 添加启动服务的应用(Claude Desktop 或 Terminal)。
  • 屏幕录制 → 添加同一个应用。macOS 也会在首次截屏时提示。

⚠️ 授予这些权限后,请完全退出并重新打开应用——macOS 只会在重启后应用权限。

3. 告知 Claude Desktop。 打开 ~/Library/Application Support/Claude/claude_desktop_config.json 并添加:

{
  "mcpServers": {
    "kira-mcp": { "command": "kira-mcp" }
  }
}

如果找不到 kira-mcp,请使用完整路径(which kira-mcp),或使用模块形式 "command": "python", "args": ["-m", "kira_mcp"]。

4. 重启 Claude Desktop。 现在会显示 kira-mcp 工具。

🐧 Linux
sudo apt install python3-tk python3-dev scrot xdotool   # or your distro's equivalent
pip install kira-mcp

然后添加与上文相同的 claude_desktop_config.json 配置块。仅支持 X11——Wayland 会阻止直接截取屏幕(参见 Wayland 说明)。

💡 还想匹配文本? pip install "kira-mcp[ocr]" 可启用 find_element(text="Send"),让 Agent 按标签点击,而不必凭图标判断。

安装选项

上面的快速入门使用了 pip。如需进行隔离的全局安装,且不影响任何项目的 site-packages:

pipx install kira-mcp

这两种形式都会安装 kira-mcp 控制台脚本,并注册所有工具模块。

OmniParser-v2 YOLO 图标检测器权重(icon_detect/model.pt,约 39 MB)已包含在 wheel 中,无需单独下载。服务启动时会从磁盘加载并预热这些权重。

如果你正在开发 kira-mcp 本身?克隆仓库并以可编辑模式安装:git clone https://github.com/Anmol202005/kira-mcp.git && cd kira-mcp && pip install -e .

如果你的克隆缺少权重(例如浅克隆,或你已将其删除),请通过以下方式恢复:

hf download microsoft/OmniParser-v2.0 \
  icon_detect/model.pt \
  icon_detect/model.yaml \
  --local-dir src/kira_mcp/weights

或者,在环境中设置 KIRA_YOLO_WEIGHTS,指向磁盘上其他位置的 model.pt。

其他 Agent 宿主

快速入门介绍了 Claude Desktop。其他所有宿主都使用相同的配置格式——将其指向 kira-mcp 命令:

  • Claude Code — claude mcp add kira-mcp -- kira-mcp
  • Cursor / Cline / Continue / Windsurf — 在宿主的 MCP 配置中添加相同的 mcpServers 代码块。

不想依赖已安装的脚本?在任何需要命令的位置都可以使用模块形式:

{ "command": "python", "args": ["-m", "kira_mcp"] }

编辑配置后,重启宿主。所有工具都会显示在 kira-mcp 命名空间下。

工具

视觉
工具用途
perceive_screen单步感知:截取当前显示画面(或其中 {x, y, width, height} 区域),在画面上运行本地 OmniParser-v2 YOLO 图标检测器,并返回内嵌的标注图像,以及包含 {width, height, count, elements} 的 JSON。每个元素的格式为 {id, bbox, cx, cy, confidence},坐标以屏幕绝对像素表示——可将 cx, cy 直接传给 mouse_click。模型会在服务启动时加载并预热,因此每次调用都不会有冷启动;GPU 上的典型延迟为 50-200ms,CPU 上为 300-800ms。无需 API 密钥,也不会发起网络调用。
鼠标
工具用途
mouse_move移动到绝对坐标 (x, y)。duration=0 表示立即移动。
mouse_position读取光标当前的 (x, y)。
mouse_click单击 left / middle / right。可选提供 (x, y) 以先移动;使用 clicks 指定多次单击。
mouse_double_click双击。可选提供 (x, y)。
mouse_press / mouse_release按住按钮并在之后松开(拖放基础操作)。
mouse_drag一步完成:移动 → 按下 → 拖动到目标位置 → 松开。
mouse_scroll向 up / down / left / right 滚动 N 格。
键盘
工具用途
keyboard_type输入原样文本。
keyboard_tap按下并释放一个组合键,例如 ["ctrl", "c"]、["cmd", "shift", "t"]。
keyboard_press / keyboard_release按住按键并在之后松开(修饰键状态基础操作)。
keyboard_key_check调试辅助工具——将按键名称解析为 pyautogui 规范形式。

按键名称可使用 pyautogui.KEYBOARD_KEYS 中的任意值,以及常见别名(ctrl、alt、shift、cmd/command、win/windows/super、meta、esc/escape、enter/return、space/spacebar、pgup/pageup、pgdn/pagedown、del、ins)。

屏幕
工具用途
screen_size主显示器的 { width, height }。可用于检查边界,不过 perceive_screen 已会在响应中返回屏幕尺寸。
剪贴板
工具用途
clipboard_get将系统剪贴板内容作为文本读取。
clipboard_set将文本写入系统剪贴板。

典型 Agent 循环

perceive_screen()                             # → annotated JPEG inline + JSON: {width, height, elements: [{id, bbox, cx, cy, confidence}, …]}
# agent picks an element by id, reads its (cx, cy) — already in absolute screen pixels
mouse_click(x=cx, y=cy)
perceive_screen()                             # verify the action landed

用一个工具观察,用一个工具操作,重复直到完成。

目录结构

src/kira_mcp/
├── __main__.py        # entry — `python -m kira_mcp` or `kira-mcp`
├── _mcp.py            # shared FastMCP instance + system instructions
├── lib/
│   ├── keys.py        # key-name normalization for pyautogui
│   ├── cache.py       # screenshot + per-element OCR hash cache
│   └── ocr.py         # optional OCR backend shim
└── tools/
    ├── __init__.py    # side-effect imports → registers tools
    ├── parse.py       # `perceive_screen` — screenshot + local YOLO icon-detector
    ├── screen.py      # `screen_size` + the `Region` model
    ├── mouse.py
    ├── keyboard.py
    └── clipboard.py

要添加新工具,请编写一个使用 @mcp.tool() 装饰的函数(从 kira_mcp._mcp 导入),并在 tools/__init__.py 中导入该模块。

本地开发

pip install -e .
python -m kira_mcp        # stdio server — drive it from your MCP host

安全

启动时会启用 pyautogui.FAILSAFE——将鼠标猛移到左上角会引发 FailSafeException,并中止 Agent 正在执行的操作。请保持启用状态。 服务明确不会通过工具调用提供禁用它的方式。

Wayland 说明

在 Linux Wayland 会话中,原始 X11 屏幕截图会返回黑色缓冲区。GNOME Wayland 还会阻止未提权的调用方以编程方式截图。如果 perceive_screen 返回黑色图像(或完全没有检测结果),请登录 X11 会话,或切换到附带 wlr-screencopy 的 Wayland 合成器(Hyprland、Sway、river、Niri)或 KDE Plasma 会话。

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。