io.github.BorisGujvin/dittu
Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
Open source Repository Open in the app JSON README (API)
About
Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- borisgujvin
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.0
- Last push
- 2026-07-09T10:30:25Z
- Repository state
- ativo
- Added
- 2026-08-29 03:01:43
- Updated
- 2026-08-29 03:01:43
- Origin id
io.github.BorisGujvin/dittu
README
# Dittu MCP Server Dittu turns a phone into the eyes and hands of an AI assistant. Stand the phone on a tripod facing a monitor — the camera reads the screen, Bluetooth pairs as a real mouse and keyboard. No software to install on the target computer, no remote-desktop setup. - Website: https://dittu.org - Setup instructions (Claude Desktop / Claude Code / Cursor / ChatGPT): https://dittu.org/setup - Remote MCP endpoint: `https://app.dittu.org/mcp` (streamable-http, `Authorization: Bearer <API_KEY>`) - Get an API key: register a device in the Dittu Android app — https://play.google.com/store/apps/details?id=com.dittu ## Tools | Tool | What it does | Output | When to use | |---|---|---|---| | `take_screenshot` | Captures what the phone's camera currently sees on the monitor | Image | Before any action, to check current screen state | | `take_screenshot_with_grid` | Same as `take_screenshot` but overlays a coordinate grid | Image | To locate exact click targets by coordinate | | `take_screenshot_with_crosshair(nx, ny)` | Zoomed crop around a point with a crosshair marking the target | Image | To verify the cursor will land exactly where intended, before clicking a small/important target | | `get_raw_screenshot` | Unprocessed camera frame, no corner-mapping applied | Image | Debugging camera alignment issues | | `move_mouse(nx, ny)` | Moves the cursor to a normalized screen coordinate without clicking | Confirmation | Positioning the cursor before a verified click | | `click(nx, ny)` | Left-clicks at a normalized screen coordinate | Confirmation | Standard click actions | | `double_click(nx, ny)` | Double left-clicks at a normalized screen coordinate | Confirmation | Opening files/apps, other double-click actions | | `scroll` | Scrolls the screen in a given direction | Confirmation | Navigating long pages or lists | | `key` | Sends a keyboard key or shortcut | Confirmation | Shortcuts, Enter, Escape, arrow keys, etc. | | `type_text` | Types a string of text via the Bluetooth keyboard | Confirmation | Filling in text fields, search boxes, documents | | `get_corners` | Reads the current four-corner monitor calibration | Coordinates | Diagnosing why clicks land off-target | | `set_corners` | Sets the four-corner monitor calibration | Confirmation | Fixing calibration when the camera view is misaligned or cropped | ## Why a camera instead of screen-sharing? Because it works on any computer — no software to install, no permissions to configure, no remote-desktop setup. If the monitor is in front of the phone, an AI assistant can see it and control it. ## Built for - Automating repetitive desktop tasks - Controlling a computer you can't install anything on - Letting an AI assistant actually do things on-screen, not just describe them