mcpField
4
46a-mcp

46a-mcp

Remote
github.com/johnroyDeveloper Tools1Updated 1w ago
Repository

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

  1. 01List live browser connections
  2. 02Read page, project, and object state
  3. 03Perform editor actions
  4. 04Add project objects in batches
  5. 05Run code in a browser session
  6. 06Connect with OAuth or basic auth

Use cases

  1. 01Inspect pages and objects in an open project
  2. 02Select objects or change pages in the editor
  3. 03Add multiple objects to a project
  4. 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.

Endpointhttps://46a.co/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

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.

All endpoints
Streamable HTTPhttps://46a.co/mcpAuth required

Tools

Details

From the project README

46a 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?"

  1. 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)

Screenshot 2026-10-09 at 11 46 06 PM

Workflow

  1. listConnections → pick a live connectionId.
  2. callTools and/or inject against that connectionId.

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 emailOrUsername filter. Returns connectionId -> { 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 } }. code must 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

Markdown supported

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.