Point at the DOM — right here
Hover any element in the panel and the Selection frame morphs to fit it. Click to leave a mark — pointing is scope-locked to the panel, so it never picks the wrong thing.
Account settings
Manage your profile, sign-in and notification preferences.
What the agent actually receives
The mark you just made — read back over MCP as a low-noise AgentMark payload. No raw DOM dump, no styling soup.
The handoff is lossy today
See it → switch to the editor → describe “the blue button top-right” → agent guesses the component → maybe edits the wrong file → back-and-forth.
Point at the real node → write one line of intent → the agent reads a project-scoped mark with a stable locator → finds the code and fixes it.
Locating is the trust
Multi-evidence locating
A locator bundle, weighted resolve, and ambiguity downgrade — not one fragile selector. Low confidence is surfaced as drifted / lost, never a silent wrong pick.
Project & session isolation
Every mark carries project_id, route_key and session_id. Marks never bleed across projects; a project is a mark’s trust boundary.
Local-first, token-guarded
Everything runs on an authenticated local daemon over loopback. The MAIN world stays read-only; the MCP payload never leaks tokens, raw storage, or screenshot bytes.
Done is a real state
resolve_mark closes a task; delete_mark is an explicit user deletion that writes a tombstone. The agent always knows what’s still open.
Install
Three honest pieces. No single-line curl-pipe-bash — Loupe never pretends.
- STEP 1
Run the daemon
The local daemon hosts the MCP endpoint on 127.0.0.1:7373 and stores your marks.
$ npm i -g @loupe-server/server$ loupe serve # starts on 127.0.0.1:7373 - STEP 2
Chrome extension Coming soon
The in-page picker and surfaces live in the extension. Not on the Web Store yet — load it unpacked.
Load unpacked (guide) → - STEP 3
Claude plugin Coming soon
Wires the MCP tools into Claude over a token-free stdio proxy. Coming soon.