// Documentation
Connect your AI tools to ArtifactBridge
MCP server URL
https://app.artifactbridge.com/mcpServer name: com.artifactbridge/artifactbridge. Official MCP Registry entry ↗
Browser assistants
Runs in a tab. Nothing to install.
Local tools
Runs on your computer. Set up from the terminal.
Browser assistants
These run in a browser tab and reach ArtifactBridge from the vendor's cloud, so there is nothing to install. Most ask for the MCP server URL, then sign you in; ChatGPT uses its official app instead. Several need an administrator to add the connector, noted in each section. Your workspace's app permissions still apply.
Assistants assume production unless you or an explicit target specify otherwise. They verify workspace access, but do not ask you to confirm production after a successful connection. Existing approval requirements still apply. Self-hosted or on another deployment? Copy that deployment's endpoint from Settings → Connect AI tools instead.
Claude on claude.ai and Claude Desktop both use these Customize → Connectors steps. Claude Code is the local CLI under Claude Code.
- 01
Open Customize → Connectors
- 02
Select + then Add custom connector
- 03
Paste the URL below, select Add, then sign in when Claude asks
MCP server URL
https://app.artifactbridge.com/mcpPaste it where Claude asks for a custom MCP server.
- 04
Set tool permissions (optional)
If Tool permissions is available for the ArtifactBridge connector, open the connector, then Tool permissions. Tools are grouped, for example read-only versus write or delete. Set read-only tools to Always allow so Claude can look up documents without asking each time. Keep write, delete, and other consequential tools on Needs approval. Blocked stops Claude from using that tool.
On Team and Enterprise, an owner can set these levels for everyone, and members cannot override them. Anthropic documents these labels in Use connectors to extend Claude's capabilities ↗.
Any plan. A free account holds one custom connector. On Team and Enterprise an owner adds it first in Organization settings → Connectors.
↑ All toolsChatGPT
Official listing: OpenAI ↗- 01
Open the official ArtifactBridge app using the link below
- 02
Connect ArtifactBridge and sign in when ChatGPT asks
When prompted, choose the target workspace.
- 03
Select Try in chat to start using ArtifactBridge
Taking the product tour? Clear any prefilled example and paste the same tour prompt into that chat. If you stay in the original chat, say Continue.
The official ArtifactBridge app connects to production and cannot be repointed. This guide does not document an alternate-deployment ChatGPT route. For a preview or self-hosted deployment, use a documented host that accepts your endpoint instead. Your workspace's app permissions still apply.
To put an image in ArtifactBridge, attach it in ChatGPT on the web or desktop and ask ChatGPT to put it in a room or in the Library. ChatGPT mobile cannot pass an attached image to ArtifactBridge. On mobile, upload the image in ArtifactBridge instead.
Open the ArtifactBridge app in ChatGPT ↗
↑ All toolsGemini
Official steps: Google ↗- 01
Open business.gemini.google → Settings & help → Manage team → Connected apps
- 02
Select Add MCP Server and paste the URL below
- 03
Enable the connection; it starts disabled
MCP server URL
https://app.artifactbridge.com/mcpPaste it where Gemini asks for a custom MCP server.
Gemini Enterprise only, and only an administrator. The consumer Gemini app has no field for a custom MCP server.
↑ All tools- 01
Open grok.com/connectors
- 02
Select New Connector, then Custom
- 03
Paste the URL below, then sign in when Grok asks
MCP server URL
https://app.artifactbridge.com/mcpPaste it where Grok asks for a custom MCP server.
xAI documents custom MCP connectors for Business and Enterprise. A team admin provisions the connector before members use it.
↑ All toolsPerplexity
Official steps: Perplexity ↗- 01
Open Settings → Connectors and select + Custom connector
- 02
Choose Remote, then name it and paste the URL below
- 03
Set Authentication to OAuth 2.0 and Transport to Streamable HTTP, acknowledge the warning, then Add and sign in
MCP server URL
https://app.artifactbridge.com/mcpPaste it where Perplexity asks for a custom MCP server.
Pro, Max, and Enterprise. In an organization an admin decides whether members may add their own.
↑ All toolsLe Chat
Official steps: Mistral ↗- 01
Open Connectors and select Add connector
- 02
Switch to the custom MCP connector tab
- 03
Name it, paste the URL below, then select Connect
MCP server URL
https://app.artifactbridge.com/mcpPaste it where Le Chat asks for a custom MCP server.
An administrator adds the connector. On a personal plan the account owner is the administrator.
↑ All toolsMicrosoft Copilot
Official steps: Microsoft ↗- 01
In the Microsoft 365 admin center, an administrator opens Copilot → Connectors and creates a custom connector
- 02
Under Connect to MCP server, they enter the Base URL below and the authentication they set up
- 03
After rollout, Copilot calls the server's tools from chat
MCP server URL
https://app.artifactbridge.com/mcpPaste it where the connector asks for a custom MCP server.
Microsoft 365 Copilot. Copilot chat has no dialog for a pasted MCP server URL, so this is an administrator task.
↑ All toolsLocal tools
These run on your computer or a remote machine. Claude Code, Codex, and Grok Build connect through the local ArtifactBridge connector that the desktop app adds on the computer where the tool runs, and ArtifactBridge then works only with the tool accounts you allow. The other tools add the server from their own command line, config file, or install link, then sign in; each of their commands and links below carries the endpoint. Copy commands one at a time; some tools start sign-in as soon as you add the server.
The desktop app finds the supported tools on this computer (Claude Code, Codex, Grok, OpenCode, and Hermes), sets each one up after you review the plan, and stays in your menubar. If you have it, open Settings → General → AI tools and turn on each of Claude Code, Codex, and Grok Build that you use, then skip to Did it work?
Claude Code
Official steps: Anthropic ↗Claude in a browser tab or Claude Desktop uses the Claude connector steps. This section is the local CLI on your computer.
- 01 / CONNECT
Turn on Claude Code in the desktop app
Install the desktop app and sign in. Open Settings → General → AI tools and turn on Claude. The app adds the local ArtifactBridge connector to Claude Code for every project.
Claude Code connects its servers when it starts. If Claude Code was already open, exit it, then run
claude --continueto pick up the same conversation. - 02 / ALLOW
Allow your Claude account
ArtifactBridge works only with the Claude Code accounts you allow. A Claude account with the same email as your verified ArtifactBridge email is allowed automatically. For another account, the agent tells you which Claude account is signed in to Claude Code and stops. To allow that account, run
artifactbridge agent accounts allow --client claudein your own terminal. An agent cannot allow an account. - 03 / CHECK
Check it worked
Start a new conversation and send the check prompt under Did it work?
- 04 / GATEWAY
Using a gateway or a custom base URL? Turn on tool search
This step applies only when Claude Code reaches the model through a gateway or proxy, that is, when
ANTHROPIC_BASE_URLis set. On the Anthropic API, tool search is on by default, so you can skip this step.Without tool search, Claude Code sends every ArtifactBridge tool definition to the model with every request, and these definitions use a large share of the context. With tool search, the model receives a short list of tool names first and loads the full definition of a tool only when it needs it. This makes each request much smaller.
Set
ENABLE_TOOL_SEARCH=true(orauto) before you start Claude Code. Export it in your shell, or add it under theenvkey of~/.claude/settings.jsonso that it applies to every session.~/.claude/settings.json
{ "env": { "ENABLE_TOOL_SEARCH": "true" } }Merge the env key into your existing settings file, then start Claude Code.
- 01 / CONNECT
Turn on Codex in the desktop app
Install the desktop app and sign in. Open Settings → General → AI tools and turn on ChatGPT, the row for Codex. The app adds the local ArtifactBridge connector to Codex on the computer where the app runs.
Codex connects its servers when it starts. If Codex was already open, restart it.
- 02 / ALLOW
Allow your ChatGPT account
ArtifactBridge works only with the Codex accounts you allow. A ChatGPT account with the same email as your verified ArtifactBridge email is allowed automatically. For another account, the agent tells you which ChatGPT account is signed in to Codex and stops. To allow that account, run
artifactbridge agent accounts allow --client codexin your own terminal. An agent cannot allow an account. - 03 / CHECK
Check it worked
Start a new conversation and send the check prompt under Did it work?
- 04 / MODEL
Using a custom or unlisted model? Expect the full catalog
Codex decides how it loads MCP tools from the metadata of the model you configure. The models in Codex's own model list carry this metadata, and Codex then loads an ArtifactBridge tool definition only when the model needs that tool. A custom provider with a model slug that Codex does not know has no metadata. Codex then sends every ArtifactBridge tool definition to the model with every request. To avoid it, use a model that has Codex model metadata.
Grok Build
Official steps: xAI ↗- 01 / CONNECT
Turn on Grok Build in the desktop app
Install the desktop app and sign in. Open Settings → General → AI tools and turn on Grok. The app adds the local ArtifactBridge connector to Grok Build.
Grok Build connects its servers when it starts. If Grok Build was already open, restart it.
- 02 / ALLOW
Allow your Grok account
ArtifactBridge works only with the Grok Build accounts you allow. A Grok account with the same email as your verified ArtifactBridge email is allowed automatically. For another account, the agent tells you which Grok account is signed in to Grok Build and stops. To allow that account, run
artifactbridge agent accounts allow --client grokin your own terminal. An agent cannot allow an account. - 03 / CHECK
Check it worked
Start a new conversation and send the check prompt under Did it work?
OpenCode
Official steps: OpenCode ↗- 01 / ADD
Add the server to your config
OpenCode reads remote servers from
opencode.json. Add this entry undermcp(the URL is already in it).opencode.json
"artifact-bridge": { "type": "remote", "url": "https://app.artifactbridge.com/mcp", "enabled": true }Replace the URL if your deployment is self-hosted.
- 02 / SIGN IN
Sign in
Run this to complete the browser OAuth flow.
opencode mcp auth artifact-bridgeOpens a browser window to sign in and choose a workspace.
- 03 / CHECK
Check it worked
Start a new conversation and send the check prompt under Did it work?
Or let the desktop app do this for you: install the desktop app.
↑ All tools- 01 / ADD
Add the server
Run this on the machine and profile that runs Hermes.
hermes mcp add artifact-bridge --url https://app.artifactbridge.com/mcp --auth oauthReplace the endpoint if your deployment is self-hosted. --auth oauth tells Hermes to sign in through your browser.
- 02 / SIGN IN
Sign in
Run this to complete the browser sign-in, then run
/reload-mcpin an open conversation to load the tools.hermes mcp login artifact-bridgeSign in with your ArtifactBridge account and choose a workspace.
- 03 / CHECK
Check it worked
Start a new conversation and send the check prompt under Did it work?
Or let the desktop app do this for you: install the desktop app.
To let your whole workspace hand Room tasks to a Hermes agent, see Connect Hermes as a shared agent. That setup uses A2A and a plugin, not this sign-in.
↑ All toolsGemini CLI
Official steps: Google ↗- 01 / ADD
Add the server
Run this once in the shell you use Gemini CLI from.
gemini mcp add --transport http artifact-bridge https://app.artifactbridge.com/mcpReplace the endpoint if your deployment is self-hosted.
- 02 / SIGN IN
Sign in
In the Gemini CLI session, run
/mcp auth artifact-bridgeand sign in in the browser. Use/mcpto check the server's status. - 03 / CHECK
Check it worked
Start a new conversation and send the check prompt under Did it work?
The desktop app does not set up Gemini CLI. Add it with the command above.
↑ All toolsCursor
Official steps: Cursor ↗- 01 / ADD
Add the server with one link
Select the link below. Your browser asks to open Cursor, and Cursor shows the server before it adds it. The link holds only the server URL and no token.
- 02 / SIGN IN
Sign in
On first connect, Cursor registers itself and opens the sign-in page in your browser. Sign in with your ArtifactBridge account and choose a workspace.
- 03 / CHECK
Check it worked
Start a new conversation and send the check prompt under Did it work?
If the link does not open Cursor, paste the config under Any other MCP client into Cursor's mcp.json file. The desktop app does not set up Cursor.
VS Code
Official steps: Microsoft ↗- 01 / ADD
Add the server with one link
Select the link for your VS Code edition. Your browser asks to open VS Code, and VS Code shows the server before it installs it. The link holds only the server URL and no token.
- 02 / SIGN IN
Sign in
When VS Code starts the server, it opens the sign-in page in your browser. Sign in with your ArtifactBridge account and choose a workspace.
- 03 / CHECK
Check it worked
Open Copilot Chat in agent mode and send the check prompt under Did it work?
If the link does not open VS Code, run MCP: Add Server from the Command Palette, choose HTTP, and paste the MCP server URL. The desktop app does not set up VS Code.
↑ All toolsAny other MCP client
Using a tool that is not listed above? Most MCP clients read a
mcpServers map. Paste this config; it names the same
endpoint and carries no token, and the client signs you in on first
connect. Change the name or URL if your deployment is self-hosted.
mcpServers config
{
"mcpServers": {
"artifact-bridge": {
"type": "http",
"url": "https://app.artifactbridge.com/mcp"
}
}
}Paste it into the client's MCP config file.
Cursor reads this map from its mcp.json file. On first
connect, Cursor registers itself and opens the sign-in page in your
browser. For a one-link install, see Cursor.
Server and cron agents
An unattended agent on a server or in a cron job connects as an agent of a person, not as that person. Its actions show as an agent in the workspace.
On that machine, run the CLI command login --agent
(see the CLI reference).
You sign in once in the browser. The tools that the CLI connects
on that machine then use agent credentials. The command does not
connect Claude Code, Codex or Grok Build, because their local
connector uses your own sign-in. Use a client such as Hermes.
Another MCP client can add agent=1 to its
authorization request. The sign-in page then shows
Connect as an agent of <you>. Select it
before you select Authorize. If you do not
select it, the client connects as you.
An agent cannot:
- approve or reject changes;
- grant access;
- publish private documents;
- create more credentials.
The agent credential shows with an Agent label in Settings → Agents & credentials. Revoke it there to disconnect the agent.
↑ All toolsConnect an external A2A service
Outside the pooled rollout: the registration and service-management steps below describe the retained original-agent path. They do not enroll arbitrary A2A endpoints into the shared slot pool.
Prerelease pooled rollout: create fixed-Space identities in the rail Agents view. Settings → Executors lists cloud runners only. A computer does not run shared tasks and does not show in the list. Only workspace admins connect cloud runners, and any current admin manages any workspace-owned cloud runner's slots, pause, stop, and removal. A supported runner needs current assignment/capability proof and explicit open-pool, no-sandbox consent; an Agent Card or an unconfirmed conversion is not enough. Cloud runners offer 1 to 20 slots, default 1. Until the workspace has a configured cloud runner, the Agents view shows No cloud runner connected, and an agent card shows Needs a cloud runner. See cloud runner controls and pooled task placement. These prerelease instructions do not authorize installation or activate the rollout.
A registered service is an external agent that speaks the A2A protocol over HTTPS (JSON-RPC binding). The API and configuration keys call the feature Agent Gateway. A service that is already registered keeps its one credential. The service uses that credential only to obtain short-lived access for a specific delegated task.
Registered services
Settings → Executors lists cloud runners
only. It has no form to register an external A2A service or to
show the services that are already registered. The Agent Card URL
of a registered service is the agent's HTTPS origin, such as
https://agent.example.com/; ArtifactBridge reads the
card from .well-known/agent-card.json under it. The
runtime that operates the service keeps the agent key (the
service credential) and the bootstrap URL from the one-time reveal.
What the runtime must do
Registering the Agent Card does not configure the runtime. For each delegated task the runtime, outside the model, must:
- Read the locatorEach A2A request carries a delegation locator in its request metadata (
artifactbridge.delegation: the delegation id, the execution generation, and the bootstrap URL). The locator identifies the task; it grants nothing, and it is untrusted input from whoever sent the message. - Bootstrap at the configured URL onlyKeep the bootstrap URL from the enrollment reveal in the runtime's configuration next to the service credential. Send the locator's delegation id and generation to that configured URL with the service credential as the bearer, over HTTPS, without following redirects. Ignore a locator whose bootstrap URL is not exactly the configured one: it is not a delegation from your ArtifactBridge, and the service credential must never be sent anywhere else. The reply is a short-lived credential, the task's scope, and the tools URL, which must be on the same origin as the bootstrap URL. Renew the credential the same way before it expires while the task legitimately runs on.
- Mount the tools for this task onlyConnect the tools URL as an MCP server with that credential as the bearer, isolated per task. The server exposes the delegation tools and the familiar ArtifactBridge tool names (join, read events, publish, upload an image, read, list and search documents, create, propose) restricted to that task's Room and scope. In prerelease, for a task that comes with a space, it also exposes
artifactbridge_read_space_contextandartifactbridge_read_skill, which read only that space, with the sender's access (see Send a space with a task for a shared agent). Every call is attributed to the shared agent. A posted event is not completion: the agent completes the A2A task, and its summary becomes the one task result, linked to what it posted. - Discard the credentialWhen the task completes or is canceled, drop the credential. ArtifactBridge revokes it on its side at completion, cancellation, disablement, Room closure, and every new execution generation.
Do not connect the same agent to /mcp with a personal
token for the Rooms it serves as a shared agent. A personal
connection acts as a second identity, and a task result it posts
is a duplicate that never completes the delegation. Delegations to
shared agents are executed by ArtifactBridge over A2A; they do not
appear in any personal agent's action items or wakes. A runtime
that cannot perform these steps cannot act inside a delegation;
its A2A replies still complete the task. The repository ships a
dependency-free reference implementation of steps 1, 2, and 4
(src/agent-gateway/runtime-bootstrap.ts) exercised by
the reference agent in the test suite.
Running Hermes Agent? Use the ArtifactBridge plugin for Hermes instead of building these steps yourself. See Connect Hermes as a shared agent.
Manage a service
For design delivery, the scoped artifactbridge_delegation_create_document tool and its artifactbridge_create_document alias accept format: "html" and the delegation's room_id. Pass the complete self-contained HTML in content_md, at most 10,000,000 UTF-8 bytes, with an idempotency_key for retries. Do not pass a folder for Room context. The server creates and attaches the artifact under the shared agent's identity; the final A2A task result links the attachment event. Creation requires document.create in the delegation scope. Library creation still requires an authorized destination folder. Check the runtime plugin's tool schema before using these fields; the server update does not update installed plugins.
- A token stored before this protection existed is not sent anywhere until its owner enters it again in the agent's connection settings; until then the agent pauses. Entering it again waits while work of the agent may still need the old connection (see the next item).
- ArtifactBridge re-reads each service's Agent Card on a schedule. Descriptive changes (name, description, skills) are applied automatically and appear in the change history. A changed endpoint or security requirement is never applied automatically: the agent shows Needs attention to its owner and workspace admins, and the cached card stays in use until the owner confirms the change. Other members see it as Ready, because work still runs. A service that stops answering shows Offline; no new work is sent to it until a later check passes, and queued work waits.
- If the owner is suspended or leaves the workspace, the agent is paused and its open work is canceled. It cannot be resumed until the owner is back.
- Pause turns away new requests and asks running requests to stop: they lose access to ArtifactBridge at once, and each affected Room gets a status line. A remote agent may still be finishing its work, and may take up to the five-minute cancellation deadline to confirm that it stopped. Waiting requests are held, not canceled. The owner or any workspace admin can pause an agent. The owner can resume it, which releases the held requests; for an agent shared with everyone in the workspace, a workspace admin can resume it too. A request that still needs the owner's approval then waits for it.
- A published agent appears in a Room under its agent name once a member who may use it sends a Room message that @-mentions it, or once it has work there; the Room never shows its owner. Picking the agent in the @-mention list only puts it in the draft. Members who may use the agent delegate tasks by @-mentioning it in a Room message, or through their connected agent. Room members who cannot use it still see its name and its past contributions. See Delegate work to an external service.
Server setup
Executors and shared agents need two server settings:
PUBLIC_BASE_URL, so the bootstrap and tools URLs given
to services are absolute, and AGENT_GATEWAY_SECRET_KEY,
a base64 32-byte key that encrypts stored service tokens. Without
the key, registering a service that needs a token is refused with a
clear message instead of storing the token in plain text. Two
managed settings tune the coordinator:
AGENT_GATEWAY_STATUS_CHECK_INTERVAL_SECONDS (default 60)
sets how often running work is checked at the service, and
AGENT_GATEWAY_CANCEL_DEADLINE_SECONDS (default 300) sets
how long a cancel request waits for confirmation before it times
out.
Matching a task to shared agents uses Cloudflare Workers AI (the
@cf/cloudflare/clef model) through the Worker's AI
binding. When an agent asks for services with a task summary, the summary
and each published service's name, description, and skills are
processed by Cloudflare Workers AI. ArtifactBridge adds no Room content, documents,
or endpoint URLs. The agent writes the summary, so anything the
agent puts in it is sent. Without Workers AI, agents get the list
without a ranking or a recommendation. Each member and each
workspace can match at most 30 tasks per minute; over that limit,
agents get the list without a ranking. Two managed settings tune matching:
AGENT_GATEWAY_MATCHING_THRESHOLD (default 0.5) sets
the fit at or above which a service counts as suitable, and
AGENT_GATEWAY_MATCHING_MAX_CANDIDATES (default 30)
sets the most services one request can judge. A larger catalog is
listed without a ranking.
Did it work?
If you are taking the Product tour, return to the same conversation and say Continue. If setup opened a new conversation, paste the same starting prompt you used before setup. Your assistant assumes production unless you specified another target, verifies workspace access, then recovers your saved tour progress before working on your private Welcome. Use the general check below when you are not taking the tour.
- Start a new conversation in the toolA conversation that was open before you connected does not see the server.
- Send the check promptCopy it below.
- Read the replyIt names the workspace you chose at sign-in and lists the documents you can open, or reports that the workspace has none yet. Either reply names the workspace, so it confirms the whole path works, even in a brand-new, empty workspace with no documents.
Verify in a new conversation
Read the current ArtifactBridge workspace name and list the documents I can access.Send it in a new conversation.
Manage access
Open Settings → Members & access → Access to see every connected tool and revoke one. Revoke the affected access if a device is lost or a tool should no longer connect. Removing a Skill does not revoke a credential. A second tool does not gain broader permission because the first one can read an item; access follows the identity that signed in.
To see or revoke the Claude Code, Codex, and Grok Build accounts you allowed, open
Settings → General → AI tools in the desktop app, or run
artifactbridge agent accounts list and
artifactbridge agent accounts revoke <id>. If one of these tools
reports agent_connector_required, it still connects the old way. The
desktop app moves it to the new connection once after an update. If the tool still
reports it, open Settings → General → AI tools in the desktop app,
choose Update or Repair on that tool, or turn it on,
then restart the tool.
ArtifactBridge allows one of these accounts automatically when its email is the same as your verified ArtifactBridge email. You can revoke it in the same list, and ArtifactBridge then does not add it again automatically.
Running without a browser, for example in CI? Use a workspace API token from the same page instead of sign-in, and inject it from a secret store. Never paste a token into a chat.