streamable-httpupdated 2mo ago
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.
What can you do with dittu?
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
Install
Add dittu to your client. Pick the one you use.
claude mcp add --transport http dittu https://app.dittu.org/mcpcodex mcp add dittu --url https://app.dittu.org/mcp{
"mcpServers": {
"dittu": {
"url": "https://app.dittu.org/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"dittu": {
"type": "http",
"url": "https://app.dittu.org/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"dittu": {
"url": "https://app.dittu.org/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"dittu": {
"serverUrl": "https://app.dittu.org/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
6 tools
dittu exposes 6 tools to a connected agent.
- take_screenshot
- Captures what the phone's camera currently sees on the monitor
- take_screenshot_with_grid
- Same as `take_screenshot` but overlays a coordinate grid
- get_raw_screenshot
- Unprocessed camera frame, no corner-mapping applied
- type_text
- Types a string of text via the Bluetooth keyboard
- get_corners
- Reads the current four-corner monitor calibration
- set_corners
- Sets the four-corner monitor calibration
Score
56 / 100
Adequate
- Documentation16/25
- Maintenance16/25
- Trust6/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 54 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 6 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Jul 9, 2026 |