io.github.borisgujvin/dittu
io.github.borisgujvin/dittuTurns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
Tools · 12
Capture the current screen via the Dittu phone camera. Returns a JPEG image. Call this to see what's on screen before acting.
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 on top.
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(nx, ny) near a scree…
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. when troubleshooting wh…
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) in the RAW camera fra…
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-left of the monitor …
Move mouse cursor to normalized coordinates WITHOUT clicking. nx, ny: float 0.0000–1.0000.
Click at normalized screen coordinates. nx, ny: float 0.0000–1.0000 where (0,0) = top-left, (1,1) = bottom-right.
Double-click at normalized screen coordinates.
Type text on the computer keyboard.
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=75, Win=227 Exam…
Scroll the mouse wheel. delta: number of ticks. Positive = scroll down, negative = scroll up.
Similar MCP servers embedding-nearest
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"io.github.borisgujvin/dittu": {
"url": "https://app.dittu.org/mcp",
"transport": "streamable-http"
}
}
}