Back to the catalog

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

More