Cómo funciona
Le pedís algo a Claude — “abrí la app, logueate y fijate que el inbox tenga tres mensajes” — y fingertip le da ojos y un dedo para hacerlo.
Lee la pantalla
Le pide al sistema la lista de lo que hay en pantalla: botones, textos, campos. Cada cosa llega con un nombre corto, como @1:3.
Toca lo que eligió
Claude decide qué hacer y lo señala por ese nombre. fingertip tapea, escribe, scrollea o elige de un menú, sin adivinar coordenadas.
Mira el resultado
Después de cada acción vuelve a leer, así Claude ve qué pasó. Si la pantalla cambió antes de tocar, frena en vez de tocar lo equivocado.
Dónde funciona
Simulador de iOS
Tu app corriendo en el simulador de Xcode, en la misma Mac.
Apps de macOS
Tu app de Mac, o cualquier otra abierta. Las sensibles, como terminales o gestores de contraseñas, quedan bloqueadas.
Qué instalás
Fingertip.app
Vive en la barra de menú. Conecta fingertip con Claude Code en un clic y, mientras el agente trabaja, te muestra un puntero y un aviso con lo que está haciendo.
fingertip-mcp
El servidor MCP que usa Claude Code. Viene adentro de la app; si preferís, lo compilás desde el código.
Por qué confiar
Un agente que toca tu app tiene que ser rápido, preciso y no meterse donde no debe.
No se pierde lo que dura un segundo
Esperar pasa del lado de fingertip, no de Claude: mira la pantalla cada cuarto de segundo y puede tocar un botón en el instante en que aparece, aunque solo esté un momento.
wait_for · tap: true
No toca lo equivocado
Cada nombre recuerda de qué lectura vino. Si la pantalla cambió desde entonces, fingertip frena y avisa en vez de tocar lo que quedó en ese lugar.
@L:N · screen_changed
No se mete con tus apps sensibles
Todo lo que lee llega a Claude como texto, y un mail o una página podría esconder instrucciones. Por eso terminales, gestores de contraseñas y herramientas de automatización quedan bloqueadas, y solo vos podés habilitarlas.
FINGERTIP_UNRESTRICTED=1
Te dice qué salió mal
Cada error trae un código y si es seguro reintentar. Cuando lo es, viene con la pantalla actual, así Claude sigue sin volver a leer.
code · retry_safe
Herramientas MCPfingertip-mcp
Claude decide cada paso; con run_instruction, los decide Jev. Las que dicen macOS no aplican al simulador.
list_targetssimuladores y apps disponiblesconnectpor udid o bundle_idlist_windowslas ventanas de una app de Macread_screenla pantalla, por regiones si es densawait_forespera un texto, y lo toca al aparecertappor alias L:N o por x,ytype_textescribe en el campo activoerase_textborra lo escritosubmitReturn en el campo activoselectelige una opción de un pop-up o menúset_valuetexto, fecha o slider · macOStogglecheckbox, radio o switch · macOSscrolldesplaza la pantallaswipegesto direccionalpress_buttonbotones de hardwarescreenshotJPEG inline, PNG en discostart_recordinggraba un .mov de la pantallastop_recordinglo cierra y devuelve la rutarelaunch_appreinicia la app bajo pruebaterminate_appla cierrarun_instructiondelega la corrida entera a JevInstalación
La forma corta es la app: trae fingertip-mcp adentro y lo registra en Claude Code por vos.
- Descargá
Fingertip.dmgy arrastrá Fingertip a Aplicaciones. Está firmada y notarizada.
Descargar Fingertip.dmg - Abrila: vive en la barra de menú. En Ajustes → General, registrá fingertip en Claude Code y reconectá con
/mcp. Queda a nivel de usuario, disponible desde el repo de cualquier app bajo prueba. - Para
run_instruction, pegá tuTYPESAFE_API_KEYen Ajustes → Jev antes de registrar. Se guarda en el Llavero; si la cambiás, volvé a registrar desde General.
Requisitos
- macOS 27.
- Para el simulador: Xcode 27, un simulador booteado y
sim-use(brew tap lycorp-jp/tap && brew install lycorp-jp/tap/sim-use). - Para apps de Mac: permiso de Accessibility, y de Screen Recording para capturas y grabaciones. Se le dan a la app que corre fingertip — para el MCP, la terminal donde corre Claude Code.
Desde el código
Necesita Xcode 27 (Swift 6.2+). Después de cambiar el paquete, recompilar en release y reconectar el MCP (/mcp).
TYPESAFE_API_KEY en el entorno del servidor (claude mcp add … -e TYPESAFE_API_KEY=…, o exportada en la shell que arranca Claude Code).Límites
- Escribir en el simulador pasa por un teclado US: los acentos y cualquier texto fuera de ASCII se rechazan.
- Si tu app de Mac está pausada en el debugger de Xcode, fingertip no la maneja: mientras está pausada, toda lectura se colgaría.
- Solo el simulador de iOS y apps de macOS en la misma Mac: nada de dispositivos físicos ni Android.
Hablemos
¿Lo estás probando en tu app, o encontraste algo que no anda? fingertip lo hace deadcode: escribinos.