kira-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
██╗ ██╗██╗██████╗ █████╗
██║ ██╔╝██║██╔══██╗██╔══██╗
█████╔╝ ██║██████╔╝███████║
██╔═██╗ ██║██╔══██╗██╔══██║
██║ ██╗██║██║ ██║██║ ██║
╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═╝ ╚═╝
local · MCP · computer-usekira-mcp is a local Model Context Protocol server that gives any MCP-compatible agent host (Claude Desktop, Claude Code, Cursor, Cline, Continue, …) full computer-use capabilities on the host machine.
https://github.com/user-attachments/assets/b9b65987-32b1-43f5-bdf0-006ea71c6d13
Kira solving a CAPTCHA end-to-end — one
perceive_screen, click-ready pixels, no human in the loop.
Built and tuned for Windows. macOS and Linux are best-effort — most tools work, but some UI conventions differ.
Vision —
perceive_screenis the agent's one-shot "look at the screen" tool. It grabs the current display in memory, runs the local microsoft/OmniParser-v2 YOLO icon-detector on it, and returns an annotated image plus JSON with each element's{id, bbox, cx, cy, confidence}in absolute screen pixels — so the agent can pipecx, cystraight intomouse_click. No API key, no network call.Desktop automation — pixel-accurate mouse control, keyboard input (incl. chords and key holds), and clipboard read/write via pyautogui, mss, and pyperclip.
The server speaks stdio JSON-RPC and is launched as a child process by your agent host.
Quick start
You need Python 3.10+ and an MCP host (the examples use Claude Desktop). Pick your OS.
1. Install (in PowerShell or Terminal):
pip install kira-mcp2. Tell Claude Desktop about it. Open %APPDATA%\Claude\claude_desktop_config.json and add:
{
"mcpServers": {
"kira-mcp": { "command": "kira-mcp" }
}
}3. Restart Claude Desktop. The kira-mcp tools now appear. Ask it to "look at my screen and click X" — that's it.
1. Install (in Terminal):
pip install kira-mcp2. Grant permissions so the server can see the screen and move the mouse. In System Settings → Privacy & Security:
Accessibility → add the app that launches the server (Claude Desktop, or your Terminal).
Screen Recording → same app. macOS also prompts on the first screenshot.
⚠️ After granting these, fully quit and reopen the app — macOS only applies the permission on restart.
3. Tell Claude Desktop about it. Open ~/Library/Application Support/Claude/claude_desktop_config.json and add:
{
"mcpServers": {
"kira-mcp": { "command": "kira-mcp" }
}
}If kira-mcp isn't found, use the full path (which kira-mcp) or the module form "command": "python", "args": ["-m", "kira_mcp"].
4. Restart Claude Desktop. The kira-mcp tools now appear.
sudo apt install python3-tk python3-dev scrot xdotool # or your distro's equivalent
pip install kira-mcpThen add the same claude_desktop_config.json block as above. X11 only — Wayland blocks raw screen grabs (see Wayland note).
💡 Want text matching too?
pip install "kira-mcp[ocr]"enablesfind_element(text="Send")so the agent can click by label instead of eyeballing icons.
Related MCP server: computer-use-mcp
Install options
The Quick start above uses pip. For an isolated global install that won't touch any project's site-packages:
pipx install kira-mcpEither form installs the kira-mcp console script and registers every tool module.
The OmniParser-v2 YOLO icon-detector weights (icon_detect/model.pt, ~39 MB) ship inside the wheel — no separate download step. They are loaded and warmed up from disk at server startup.
Working on kira-mcp itself? Clone and install editable:
git clone https://github.com/Anmol202005/kira-mcp.git && cd kira-mcp && pip install -e .If your clone is missing the weights (e.g. a shallow checkout, or you stripped them), restore them with:
hf download microsoft/OmniParser-v2.0 \ icon_detect/model.pt \ icon_detect/model.yaml \ --local-dir src/kira_mcp/weightsOr point to a model.pt elsewhere on disk by setting
KIRA_YOLO_WEIGHTSin your environment.
Other agent hosts
The Quick start covers Claude Desktop. Every other host uses the same config shape — point it at the kira-mcp command:
Claude Code —
claude mcp add kira-mcp -- kira-mcpCursor / Cline / Continue / Windsurf — add the same
mcpServersblock to the host's MCP config.
Prefer not to rely on the installed script? Use the module form anywhere a command is expected:
{ "command": "python", "args": ["-m", "kira_mcp"] }After editing config, restart the host. All tools appear under the kira-mcp namespace.
Tools
Vision
Tool | Purpose |
| One-shot perceive step: screenshots the current display (or a |
Mouse
Tool | Purpose |
| Move to absolute |
| Read the cursor's current |
| Click |
| Double-click. Optional |
| Hold and later release a button (drag-and-drop primitives). |
| One-shot: move → press → drag to target → release. |
| Scroll |
Keyboard
Tool | Purpose |
| Type literal text. |
| Press + release a key chord, e.g. |
| Hold and later release keys (modifier-state primitives). |
| Debug helper — resolve a key name to its pyautogui canonical form. |
Key names accept any value from pyautogui.KEYBOARD_KEYS, plus common aliases (ctrl, alt, shift, cmd/command, win/windows/super, meta, esc/escape, enter/return, space/spacebar, pgup/pageup, pgdn/pagedown, del, ins).
Screen
Tool | Purpose |
|
|
Clipboard
Tool | Purpose |
| Read the system clipboard as text. |
| Write text to the system clipboard. |
Typical agent loop
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 landedOne tool to look, one tool to act, repeat until done.
Layout
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.pyAdd a new tool by writing a function decorated with @mcp.tool() (imported from kira_mcp._mcp) and importing the module from tools/__init__.py.
Local development
pip install -e .
python -m kira_mcp # stdio server — drive it from your MCP hostSafety
pyautogui.FAILSAFE is enabled at startup — slamming the mouse to the top-left corner raises FailSafeException and aborts whatever the agent was doing. Leave it on. The server explicitly does not expose a way to disable it from tool calls.
Wayland note
On Linux Wayland sessions, raw X11 screen grabs return a black buffer. GNOME Wayland additionally blocks programmatic screenshots from unprivileged callers. If perceive_screen returns a black image (or no detections at all), log in to an X11 session, or switch to a Wayland compositor that ships wlr-screencopy (Hyprland, Sway, river, Niri) or a KDE Plasma session.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Skills, agents and memory in the cloud, plus a gateway to your other MCP servers.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA local, dependency-free MCP server that gives AI agents controlled access to the active Windows desktop, enabling automated interaction with applications through screenshots, clicks, typing, and window management.83 npm1MIT
- AlicenseNot gradedqualityDmaintenanceA framework-agnostic computer-use MCP server that exposes core desktop operations (screen capture, mouse, keyboard, and file access) as standard MCP tools, enabling any MCP-compatible agent to drive a computer.1,698 npmMIT
- AlicenseAqualityCmaintenanceCross-platform desktop automation MCP server that lets AI agents capture screenshots, run OCR with UI-element classification, control mouse/keyboard, and launch programs on Linux, macOS, and Windows.201MIT
- AlicenseNot gradedqualityBmaintenanceMCP server providing AI-friendly computer-use primitives (capture, detect, click) to let LLM agents drive desktop GUI applications on Windows, macOS, and Linux.2MIT