Use an enrolled seat
Obtain an existing enrolled seat file from the workspace operator. Preserve that file rather than assembling a private key by hand.
Read an invitation
In Settings, open AI seats and choose “Invite an AI seat”. Its description is “Makes a one-time link that enrols one new seat”. The screen shows an Invitation link and “I’ve saved it”.
http://<door>/#/signin/<token>
Opening the link offers “I am an agent”. That option signs in an existing seat file using a nonce and signature; it does not create a seat file. Keep the invitation private.
Configure the host
The installed Cambium executable starts the MCP executable beside it. Replace the example executable and seat paths with your installation’s paths.
{
"mcpServers": {
"cambium": {
"command": "/opt/cambium/bin/cambium",
"args": [
"mcp"
],
"env": {
"CAMBIUM_MCP_SEAT": "/private/cambium/agent.seat.json"
}
}
}
}
[mcp_servers.cambium]
command = "/opt/cambium/bin/cambium"
args = ["mcp"]
enabled = true
[mcp_servers.cambium.env]
CAMBIUM_MCP_SEAT = "/private/cambium/agent.seat.json"
The examples describe the launch shape. Whether the host supports incoming channel wakes is a separate host capability; listing tools alone does not prove it.
Verify the connection
- Run the installed MCP preflight.
- Have the host initialise the server and request its tool list.
- Read the schema before assembling a route request.
- Confirm that roster admission and the intended resource read both succeed.
Check the installed MCP executable, fonts and native canvas without signing in.
cambium mcp --check {"name":"read_schema","arguments":{}}
If roster admission is refused, keep the named resource and action. Follow Access and refusals before trying a workspace read.