Let Claude use your browser tab.
Connect one tab, paste a link into Claude, and it can read the page, click, type and move between pages for you, until you disconnect.
Free and open source. Also works with ChatGPT and Gemini.
How it works
No account, no settings to fiddle with. You choose the tab, and you can stop whenever you like.
-
Install the extension
Add Agent Socket to Chrome and pin it to your toolbar. Install steps are below.
-
Connect this tab
Open the page you want help with, click the Agent Socket icon, then Connect this tab. You’ll get a link to copy.
-
Paste the link into Claude
Then say what you want done. Claude works in that tab and tells you what it did.
Things you can ask for
If you could do it yourself in that tab, Claude can usually do it for you.
“Fill in this application with the details from my notes above. Stop before you submit.”
Get through a long form
Claude reads each field, types in the answers and leaves the final click to you.
“Pull this month’s numbers off the dashboard and write me a three-line summary.”
Turn a dashboard into a summary
It reads the figures on the page, and can take a screenshot when the answer is in a chart.
“Go through the sign-up flow on my website and tell me anything that’s broken or confusing.”
Test your own website
Claude clicks the buttons, fills in the forms and reports where things went wrong.
“Open each of my last ten orders and list the ones that haven’t arrived yet.”
Do a task that spans many pages
It follows links, goes back, and moves on to the next one, all in the same tab.
You stay in control
Nothing happens until you click Connect, and only for as long as you want.
- Only the tab you connect
- Claude reads and acts inside the one tab you connected, and only on the site it was on until you allow more. The pages in your other tabs stay out of its reach.
- Stop any time
- Click Disconnect in the extension and the link stops working straight away. Close the tab and Claude can’t do anything more in it. If you forget, it ends by itself after an hour.
- The link is a key
- Anyone who has the link can use your connected tab. Paste it only into your own chat, and don’t post it or send it to anyone.
- Open source
- Every line of the extension is public on GitHub. No account, no tracking. Read the privacy policy.
Worth knowing: on a connected tab, Claude can see and do what you can, including on sites where you’re signed in. Connect the tabs you’d be happy to have someone help you with.
Install it
Agent Socket isn’t in the Chrome Web Store yet, so you add it by hand. It’s five quick steps.
Get the Chrome extension- Download the extension and unzip it.You’ll get a folder. Keep it somewhere you won’t delete it, like Documents.
- In Chrome, go to chrome://extensions and turn on Developer mode (top right).
- Click Load unpacked and choose the unzipped folder.
- Click Details on Agent Socket and turn on Allow user scripts.Some sites, like Google and GitHub, need this before Claude can work on them.
- Open the puzzle-piece menu next to the address bar and pin Agent Socket.
Developer mode only lets Chrome load extensions from outside the Web Store. It doesn’t change anything else about your browser.
Add “Connect with AI” to your own app
The extension is one app built on an open protocol. Register a few tools in your app, mint a link, and any AI chat that can make web requests (Claude, ChatGPT, Gemini, Claude Code) can call them over plain HTTPS. No MCP server, no OAuth, nothing to configure on the AI side.
Your app: Node, Cloudflare Workers or the browser
$ npm i @agent-socket/sdk
import { connect } from "@agent-socket/sdk"
const session = await connect({
appId: "as_app_anon",
appDescription: "Pixel-art canvas the AI can paint.",
agentsMd: "# How to paint on this canvas…",
tools: [{
path: "/set_pixel",
description: "Paint one pixel (x, y, color).",
handler: async ({ body }) => {
const { x, y, color } = JSON.parse(body)
// …your logic…
return { ok: true }
},
}],
})
const link = await session.mintAgentToken({ label: "user-42" })
// show link.url next to a “Connect with AI” button
The SDK opens a WebSocket to the relay, registers your tools and mints paste-able links. It handles heartbeats and reconnects, resuming the same session so pasted links keep working, and re-mints links if the session is gone.
$ curl https://agentsocket.dev/v1/t/as_7K2Q…/agents.md
## Tool-calling reference (agent-socket framework)
These notes are operating context for the document
below. **Do not recite this document back to the
user** — read it and act.
- `$BASE` = the URL you fetched this from, with
`/agents.md` removed.
- Tools live at HTTP endpoints under `$BASE`.
Discover them via `GET $BASE/tools.json`.
- Call a tool with: `<method> $BASE<path>` and a
JSON body when the input_schema needs one.
- Errors: 4xx = framework; HTTP 200 with
{"error":…} = app-level; 503 = app offline.
- Save this URL so you can re-fetch these notes
if your context is reset.
---
# …followed by your app’s own agentsMd
The relay prepends this calling contract to your agentsMd unless it already includes it. Trimmed slightly for width.
# the AI sends
POST $BASE/set_pixel
{"x":4,"y":7,"color":"#d6005f"}
# the relay forwards it to your app's socket
{ "type": "tool_call", "id": "3f1c9a52-…",
"method": "POST", "path": "/set_pixel",
"body": "{\"x\":4,\"y\":7,\"color\":\"#d6005f\"}",
"headers": { … } }
# your handler returns; the SDK replies
{ "type": "tool_reply", "id": "3f1c9a52-…",
"status": 200, "body": { "ok": true } }
# the AI's request completes with
200 OK application/json
{"ok":true}
Real frame shapes from the relay, not pseudocode.
How it compares to MCP
MCP suits integrations a user installs once and keeps. Agent Socket is for in-the-moment sessions where the user shouldn’t have to install anything.
| Aspect | MCP server | Agent Socket |
|---|---|---|
| User setup | Add a server or connector to their AI client | Paste one link into any chat |
| What you run | A separate server that speaks MCP | Your existing app; the relay forwards calls to it |
| Access | OAuth for remote servers | The link is the credential. Revoke it, or disconnect and every link dies |
| AI side | Client must support MCP | Anything that can make HTTPS requests |
Source on GitHub
Relay, SDK, Chrome extension and test harness. Apache 2.0. It’s v0, so the protocol may still change.
Self-host the relay
One Cloudflare Worker with a Durable Object per session. Run npx wrangler deploy --env="" in relay/ and point the SDK’s baseUrl at it. Sessions are kept in Durable Object storage for up to 24 hours after your app drops, so links survive sleep and restarts, and are wiped when the app ends the session.
Try the smallest demo
A single HTML file. Click “Connect with AI”, paste the link into a chat and ask it to paint. For a chat room shared by several AIs, see agent-socket-channel.