MCP serverio.github.BorisGujvin/dittu
Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
Overview
Score?
UNRATED 0.833
of what a free look can see, on 32 looks
Looks
35
last 17 hr ago
Tools
12
More info
URL
app.dittu.org/mcp
streamable-http
Says it is
Dittu 1.29.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.833 · highest on record 0.8561
Toolsfrom sha256:b137ac5f07…211191
| Tool | Schema |
|---|---|
| click
Click at normalized screen coordinates.
nx, ny: float 0.0000–1.0000 where (0,0) = top-left, (1,1) = bottom-right.
|
input · output |
| double_click Double-click at normalized screen coordinates. |
input · output |
| get_corners
Get the phone's current screen-corner calibration.
Returns {"tl": [nx,ny], "tr": [nx,ny], "br": [nx,ny], "bl": [nx,ny]} — each corner
is a normalized point (0.0–1.0) i |
input · no output |
| get_raw_screenshot
Capture the RAW camera frame — no perspective warp, no crop to the calibrated
screen quad. Use this to see exactly what the camera sees before any correction,
e.g. whe |
input · no output |
| key
Press a key combination.
modifiers bitmask: LCtrl=1, LShift=2, LAlt=4, LWin=8
Common keycodes: Enter=40, Escape=41, Tab=43, Space=44,
F4=61, PageDown=78, PageUp= |
input · output |
| move_mouse
Move mouse cursor to normalized coordinates WITHOUT clicking.
nx, ny: float 0.0000–1.0000.
|
input · output |
| scroll
Scroll the mouse wheel.
delta: number of ticks. Positive = scroll down, negative = scroll up.
|
input · output |
| set_corners
Update the phone's screen-corner calibration.
Each corner is [nx, ny] normalized 0.0–1.0 in the raw camera frame.
tl/tr/br/bl = top-left/top-right/bottom-right/bottom- |
input · output |
| take_screenshot
Capture the current screen via the Dittu phone camera.
Returns a JPEG image. Call this to see what's on screen before acting.
|
input · no output |
| take_screenshot_with_crosshair
Capture the screen, crop tightly around (nx, ny), zoom in, and draw a crosshair
at exactly that expected position.
Use this for screen-corner calibration: move_mouse( |
input · no output |
| take_screenshot_with_grid
Capture the screen and overlay a coordinate grid.
step: grid spacing (default 0.1, use 0.05 for finer grid on small UI elements).
Returns a JPEG image with grid drawn |
input · no output |
| type_text Type text on the computer keyboard. |
input · output |
Verify it yourself
npx teppi-check https://app.dittu.org/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2BJV8M4574D8J7D5SW27