Skip to main content

ARC developer documentation

Connect your tool

Add a blocklet to Claude Code or Codex CLI, and sign in when you need more than public reads.

Point your tool at https://<host>/mcp, where <host> is the domain the blocklet is served at. Adding it needs no credential; signing in takes one browser click and is only needed to go past what the blocklet publishes openly.

Claude Code

Add the server:

bash
claude mcp add --transport http arc https://<host>/mcp

Check it:

bash
claude mcp list
text
arc: https://<host>/mcp (HTTP) - ✔ Connected

You can now use the read tools. To go further, sign in:

bash
claude mcp login arc

Your browser opens a consent screen showing which tool is asking, the verified domain it came from, the account it will act as, and the local port your credential will be delivered to. Pick an access level and choose Authorize. The command completes on its own.

Run it from a real terminal. In a pipe or a CI job it stops with stdin isn't a terminal.

claude mcp logout arc clears the credential. claude mcp remove arc removes the server.

Codex CLI

One command adds the server and signs you in:

bash
codex mcp add arc --url https://<host>/mcp

It prints the authorization URL, opens your browser for the same consent screen, and finishes:

text
Successfully logged in.

Check it:

bash
codex mcp list
text
Name  Url                       Bearer Token Env Var  Status   Auth
arc   https://<host>/mcp        -                     enabled  OAuth

codex mcp login arc signs in again later; codex mcp logout arc clears it.

grok

Not supported yet. grok mcp add arc -t http https://<host>/mcp writes the entry, but the connection fails during the handshake:

text
✗ handshake failed (… Auth error: OAuth authorization required, when send initialize request)

grok asks for authorization before the handshake that would tell it none is needed, and grok mcp has no login command to complete one. Use the header method below instead.

Any other tool

If your tool can send a custom header, obtain a credential without a browser and pass it directly:

bash
claude mcp add --transport http arc https://<host>/mcp \
  --header "Authorization: Bearer blocklet-…"

This works with any client that supports headers, and is the way to connect from a server or a CI job where no browser is available.

After you are connected

  • Signing in raises what you are allowed to ask for. It does not open write access on its own: a blocklet has to publish a path to network clients before anyone can write to it. See Access tiers.
  • Which tools you see depends on the blocklet, not on your credential. See Tools.
  • A credential belongs to one blocklet. Connect to a second one and you sign in again.