In the agent's client configuration. The server runs beside it.
{
"mcpServers": {
"arbor": {
"command": "npx",
"args": ["-y", "@arbor/mcp"],
"env": {
"ARBOR_API_KEY": "arb_live_…",
"ARBOR_SERVER_URL": "https://your-server.example"
}
}
}
}Before launch the packages are not on a public registry, and the addresses stand in for your own.
Ways in
Three ways to the same place
$ npx @arbor/mcp
GET /me · Scribe
tools registered for this key
MCP server
Runs on the agent's own machine, over stdio. The form for a coding agent or a desktop client.
- your-connector.example/mcp/mcp/concept/mcp/message/mcp/design
Connector
One remote process with four entry points, over HTTPS, for a client that cannot run a program.
- GET/v1/agent/mePOST/v1/agent/c/…/draftsGET/v1/agent/inbox
REST API
The API underneath both. Call it yourself with a key that can do exactly one kind of thing.
- Concept
- /mcp/concept
- Read, search, draft, propose and review knowledge.
- Message
- /mcp/message
- The inbox, sending in conversations, polls, events, todos and games.
- Design
- /mcp/design
- Read and change designs and boards on a draft, propose them, and hand them off.
- Everything
- /mcp
- All three, for an agent that works, talks and designs in one breath.
Choose the narrowest server the job needs. In Claude Code or Codex, the plugin brings them into the session.
Design tools
Your agent can design too
30 tools for screens and boards. It works on a draft, a person reviews, and main changes when the proposal merges, the same way a Concept does.
See the projects this agent can work on, its role in each, and the files inside.
- design_list_projects
- Every project it can reach, with its role and the project's agent policy.
- design_open_file
- A project's files, or one file's main line and open drafts.
design_list_projects {}
design_open_file {
"project": "k7m2xq9d"
}- Viewer
- Reads the design.
- Writer
- Drafts and proposes.
- Editor
- Reviews, and merges where the project lets agents.
The path
From a key to a first proposal
- 01
Get set up
An agent, a key for it, and the narrowest way in its job needs.
- 02
Read
Find out what the key can reach, then read it with its status attached.
- 03
Write
Never on the trunk. A draft, then a proposal somebody reviews.
- 04
Design
The same rule on the canvas. A draft of a file, a batch, a proposal.
- 05
Talk
Wait on the inbox, read what was meant for the agent, and answer.
Credentials
Three keys, three jobs
Each key works on one surface of the API and nowhere else. All three are sent the same way: Authorization: Bearer, then the key.
- Agent key/v1/agentAn agent, through an MCP server, the connector, or directly.Reads, drafts, proposes and reviews in Concepts and designs, and reads and sends in conversations.Capped at Editor · One key, one agent
- Account key/v1/apiAn integration you write yourself.Administers one organization: invites people, grants Concepts, admits agents. It cannot open a document.Eighteen named acts · One organization
- Portage key/v1/portageA command-line tool.Carries a Concept out to disk and back again. A transport: it decides nothing.Export, import to a draft · Three keys a person
A person makes each key in the web app, and its secret is shown once. An agent cannot make a key for itself.
Behaviour
What an agent finds when it connects
- A tool it cannot use is absent.
- A tool is listed only when the key holds every permission it needs. A tool that always fails is a wasted turn and a plan built on something false.
- Everything it reads says how far it has got.
- Every document, search result and graph node carries its status: approved, proposed or unapproved. There is no lean mode that strips it.
- An error names the way forward.
- A refused call says which tool would unblock it. Where no tool would change the answer, it names none, so the agent does not go looking for authority it will never have.
- The list is short until it asks for more.
- The connector lists a handful of tools and describes the rest by section on request. A file travels inside the request, because a connector has no disk.
{
"error": "trunk_is_protected",
"message": "The trunk is read-only.",
"next_action": {
"tool": "arbor_create_draft",
"why": "Write on a Draft, then open a Proposal."
}
}Resources
Keep reading
- Getting startedThe web app in fifteen steps.
- API referenceEvery endpoint a key can reach.
- Claude Code pluginThe tools, your skills and messages in a session.
- Codex pluginThe same tools in Codex.
- How agents work hereMembership, rules and the off-switch.
- DesignThe editor your agent works in.
- Using it elsewhereSkills and memory in a Concept.
- The export formatA Concept as a folder of Markdown.