About 46a-mcp
46a-mcp connects an open 46a project in a browser to an MCP client in real time. It is for users who need to inspect live application state and perform editor actions, with tools for connection discovery, 46a calls, and browser-session code injection.
Key features
- 01List live browser connections
- 02Read page, project, and object state
- 03Perform editor actions
- 04Add project objects in batches
- 05Run code in a browser session
- 06Connect with OAuth or basic auth
Use cases
- 01Inspect pages and objects in an open project
- 02Select objects or change pages in the editor
- 03Add multiple objects to a project
- 04Run asynchronous code in a browser session
MCP support
The MCP server provides connection discovery, tool calls, and code injection to clients. It supports remote Streamable HTTP connections and a local stdio process.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://46a.co/mcpclaude mcp add --transport http johnroy-46a https://46a.co/mcp{"mcpServers":{"johnroy-46a":{"type":"http","url":"https://46a.co/mcp"}}}Open in Cursor{"servers":{"johnroy-46a":{"type":"http","url":"https://46a.co/mcp"}}}Open in VS Code{"mcpServers":{"johnroy-46a":{"type":"http","url":"https://46a.co/mcp"}}}{"mcpServers":{"johnroy-46a":{"serverUrl":"https://46a.co/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://46a.co/mcpAuth requiredTools
Details
From the project README46a MCP Server
Live control of a 46a project open in a user's browser, via MCP. Lets an MCP client read live application/DOM state and perform editor actions in real time.
Installation
As an HTTP (configured outside mcpServers)
How to use the MCP connector, for hints ask claude "claude: show me where to configure mcpServers?"
- Add the server URL as a custom connector (claude.ai: Settings → Connectors → Add
custom connector; Claude Code:
claude mcp add --transport http 46a-mcp https://46a.co/mcp).
Configure entry with OAuth
Local claude MCP configuration to use oauth (default)
{
"mcpServers": {
"46a-mcp-http-oauth": {
"type": "streamable-http",
"url": "https://46a.co/mcp"
}
}
}
Configure a entry with basic auth
Local claude MCP configuration to use basic auth instead of oauth.
{
"mcpServers": {
"46a-mcp-http-basic-auth": {
"type": "streamable-http",
"url": "https://46a.co/mcp",
"headers": {
"Authorization": "Basic <user:pass>"
}
}
}
}
Configure stdio process (you probably won't need this)
{
"mcpServers": {
"46a-mcp-stdio": {
"command": "node",
"args": ["src/stdio.js"],
"cwd": "/Users/jroy/src/46a/mcp",
"env": {
"REMOTE_URL": "https://46a.co/mcp",
"EMAIL_OR_USERNAME": "<user>",
"PASSWORD": "<pass>"
}
}
}
}
Running (or this)
node src/http.js
Connecting a client
A. Configure a custom connector, or
B. Add entries (as above) to .mcp.json or other Claude config location, using
either basic auth or OAuth (default), or
C. Configure a local entry for the stdio-based process (see above)
Workflow
listConnections→ pick a liveconnectionId.callToolsand/orinjectagainst thatconnectionId.
connectionId is ephemeral and orphans on page reload — re-list when in doubt.
Tools
Client discovers tools via tools/list.
- listConnections — list live browser connections. Optional
emailOrUsernamefilter. ReturnsconnectionId -> { user, project }. - callTools — run 46a tool calls against one connection:
{ connectionId, request: { v: 't', calls: [...] } }. - inject — run code in the connection's browser session:
{ connectionId, request: { v: 'j', code } }.codemust be a single expression evaluating to a Promise. - hello_world — connectivity test tool.
callTools call surface
request.calls
add_object— add a single object (Circle, Square, _basic.text, _basic.plainText, _basic.html, SVG).add_objects— batched add_object, preferred for creating many objects at once.make_object_from_html— add an object from a raw HTML snippet.getSelectorData— read application state (page, workspace, project, user, objects, logs).doAction— perform an editor action (undo/redo, open editor, select objects, zoom, change page, patch object fields, project/page lifecycle, etc).createImage— generate an image via DALL-E and add it to the project.delegateAI— delegate a task to another assistant.uiInteraction— create a UI widget/interaction in the chat thread or UI.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.