ZBS Index What actually exists in applied AI, with the source next to it

mcp server

dittu

Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.

Description as published by the maintainer. Source

  • version 1.0.0
  • active

active — Most recent push to the repository was 2026-07-09.

What this server can do

12 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.

click(nx, ny)
Click at normalized screen coordinates. nx, ny: float 0.0000–1.0000 where (0,0) = top-left, (1,1) = bottom-right. Required: nx, ny.
double_click(nx, ny)
Double-click at normalized screen coordinates. Required: nx, ny.
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) in the RAW camera frame, defining the perspective warp that maps the camera view onto a flat rectangle representing the monitor. These four points are an arbitrary quadrilateral (trapezoid), not a bounding box — adjust one corner at a time without assuming the others move symmetrically.
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. when troubleshooting why take_screenshot looks wrong, or before adjusting corners with get_corners/set_corners.
key(keycodes, modifiers)
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 Examples: Alt+F4 → key(4, [61]) Ctrl+W → key(1, [26]) Required: modifiers, keycodes.
move_mouse(nx, ny)
Move mouse cursor to normalized coordinates WITHOUT clicking. nx, ny: float 0.0000–1.0000. Required: nx, ny.
scroll(delta)
Scroll the mouse wheel. delta: number of ticks. Positive = scroll down, negative = scroll up. Required: delta.
set_corners(bl, br, tl, tr)
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 as seen by the camera (an arbitrary trapezoid due to perspective — not a rectangle). Call get_corners() first to read the current values before nudging one of them. Required: tl, tr, br, bl.
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.
take_screenshot_with_crosshair(nx, ny, zoom)
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 screen edge, then call this to see whether the actual cursor lines up with the crosshair (where it SHOULD be if calibration is perfect). If the cursor is offset from the crosshair, or missing entirely (edge is cropped out of frame), corners need adjusting — see get_corners/set_corners. nx, ny: the same coordinates you passed to move_mouse. zoom: magnification factor for the cropped region (default 4x). Required: nx, ny.
take_screenshot_with_grid(step)
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.
type_text(text)
Type text on the computer keyboard. Required: text.

Last successful function declaration observed on . Source: https://app.dittu.org/mcp. We list what the server declared; we do not call any of these functions.

Endpoint status observed on . Source: https://app.dittu.org/mcp.

Signals

These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.

Signal Value What it measures Window Observed Source
GitHub stars 0 Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. cumulative, all time GitHub
Last commit 2026-07-09 Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. point in time GitHub
Open issues 0 Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. as of fetch GitHub
Latest published version 1.0.0 Latest version string the maintainer published to the registry. as of fetch Model Context Protocol
Registry record last updated 2026-07-09 When the registry record was last updated by its maintainer. point in time Model Context Protocol
First listed in the MCP Registry 2026-07-09 Date this server was first published to the official MCP Registry. Not a usage or quality measure. point in time Model Context Protocol
repository status active The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. as of fetch GitHub
mcp tools declared 12 tools Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. as of probe app.dittu.org
mcp endpoint status ok The server listed 12 functions when asked. as of probe app.dittu.org

Where to get it

Related, by what their authors tagged them

  • aden-hive-hive-browser-edge-cases — last commit 2026-05-29, shares automation
    SOP for debugging browser automation failures on complex websites. Use when browser tools fail on specific sites like L…
  • aden-hive-hive-hive-browser-automation — last commit 2026-05-29, shares automation
    Required before any browser_* tool call. Teaches the screenshot + browser_click_coordinate workflow that reaches shadow…
  • aden-hive-hive-hive-chart-creation-foundations — last commit 2026-05-29, shares automation
    Required reading whenever any chart_* tool is available. Teaches the one-tool embedding contract (call chart_render → l…
  • aden-hive-hive-hive-colony-progress-tracker — last commit 2026-05-29, shares automation
    Claim tasks, record step progress, and verify SOP gates in the colony SQLite queue. Applies when your spawn message inc…
  • aden-hive-hive-hive-context-preservation — last commit 2026-05-29, shares automation
    Proactively extract critical values from tool results into working notes before automatic context pruning destroys them.
  • aden-hive-hive-hive-error-recovery — last commit 2026-05-29, shares automation
    Follow a structured recovery decision tree when tool calls fail instead of blindly retrying or giving up.
  • aden-hive-hive-hive-linkedin-automation — last commit 2026-05-29, shares automation
    Read before automating LinkedIn with browser_* tools. LinkedIn combines shadow DOM (#interop-outlet), strict Trusted Ty…
  • aden-hive-hive-hive-note-taking — last commit 2026-05-29, shares automation
    Maintain a free-form scratchpad of decisions, extracted values, and open questions so context pruning doesn't lose anyt…
  • aden-hive-hive-hive-quality-monitor — last commit 2026-05-29, shares automation
    Periodically self-assess output quality to catch degradation before the judge does.
  • aden-hive-hive-hive-terminal-tools-foundations — last commit 2026-05-29, shares automation
    Required reading whenever any shell_* tool is available. Teaches the foreground/background dichotomy (terminal_exec aut…

These share tags the maintainers applied themselves, such as automation. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.

This is not a recommendation and not a test result. It is a map of what the authors said their work is about.

How the author describes it

Topics the maintainer set on GitHub: ai-agent, automation, claude, mcp, mcp-server, model-context-protocol, remote-control.

This record as data

Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.

GET /api/v1/entries/mcp_server.json

Sources

  1. borisgujvin/dittu-mcp on GitHub — GitHub, observed , trust tier 3.
  2. Tools declared by the MCP server at https://app.dittu.org/mcp — app.dittu.org, observed , trust tier 1.
  3. Official MCP Registry — Model Context Protocol, observed , trust tier 1.