Pair a device
Ask for a session:Start an Uplink sessionYou get back a link to a pairing page. Open it, then pair from there:
1
Open the pairing page
Your client hands you a link to Uplink Console. Open it on your desktop — it shows a QR code, a pairing code, and live connection status.
2
Point your phone at it
iPhone — scan the QR with the Camera app. It launches the Connect App Clip; nothing to install.Android — install Connect first, then scan from inside the app.Connect already open? Type the 6-digit code instead.
3
Wait for it to catch
The page flips to connected, and your client notices on its own. You don’t need to tell it you’re done.
Drive the page
Now talk to the site through the phone:Go to news.ycombinator.com and tell me what the top story is
Log into my account — I’ll type the password on my phone
Click through to the account page and show me the DOMYou are driving a real browser on a real device, so anything you’d do by hand works.
A worked example
Say you want to analyze your own auto insurance coverage — pull the limits, deductibles, and vehicles off your policy so you can check for gaps, and then keep pulling it as it changes. Pair a device, then:Go to my insurer’s site and stop at the login pageLog in on the phone yourself, including whatever 2FA it asks for — credentials are typed on the device and never reach your AI client.
I’m in. Navigate to my policy details
What network requests fired loading that page? I’m looking for whichever one returns the coverage dataYour client comes back with the requests the site actually made — not the rendered page, the JSON behind it. Usually one of them is obvious:
Show me the full response body for that oneNow you have the real shape:
coverages[] with type, limitPerPerson, limitPerOccurrence, deductible, and a vehicles[] alongside it. Ask for the analysis:
Compare my liability limits against my state’s minimums and flag anything underinsuredAnd then make it repeatable:
Write me an SDK script that logs in, calls that declarations endpoint, and prints the coverage tableYou get a standalone script — it runs on its own against the JavaScript SDK, with no dependency on the MCP server or on your AI client:
The MCP server is where you discover how a site works, interactively and once. The SDK is where you run it — on a schedule, for many users, without an AI in the loop.
Prompts that work well
Finding an undocumented API
Finding an undocumented API
Drive to the page that shows my order history, then show me every XHR the page made and which one has the orders in it
Understanding an auth flow
Understanding an auth flow
I’m going to log in on my phone. Capture every request during login and tell me how the session token gets set
Debugging a broken flow
Debugging a broken flow
Walk through checkout and stop when something fails. Show me the console errors and the last request before it broke
Checking a page renders
Checking a page renders
Go to this URL and give me the DOM snapshot — I want to know if the price is server-rendered or filled in by JS
When something goes wrong
For what the model is actually calling underneath, see the tool reference.