Build with Alchemist.
Alchemist is Olbrain's agent builder, inside Claude Code, Codex, Antigravity, Cursor, GitHub Copilot or claude.ai. Describe the agent in plain words; Alchemist plans it, builds it, tests it, and asks you before anything goes live.
Install
Claude Code
/plugin marketplace add Olbrain/alchemist-plugin
/plugin install alchemist@alchemist
Then run /mcp, pick alchemist, and sign in with your Olbrain
account. New to Olbrain? Choose Create account on the sign-in page.
Codex
codex mcp add alchemist --url https://alchemist.olbrain.com/mcp/
codex mcp login alchemist
Optional: copy plugins/alchemist/skills/alchemist from the
plugin repo to
~/.agents/skills/alchemist so Codex follows the same workflow as Claude.
Antigravity
agy plugin install https://github.com/Olbrain/alchemist-plugin/tree/main/plugins/alchemist
Or in the Antigravity app: Customizations → Plugins → Install from URL
with the same URL. Sign in with your Olbrain account when Antigravity asks; to sign in again,
open /plugin, expand alchemist and choose Sign in.
Cursor
Install Olbrain Alchemist from the Cursor plugin directory: cursor.directory/plugins/alchemist. Then sign in with your Olbrain account when Cursor asks. A team admin can also add the plugin repo under Dashboard → Plugins & MCPs → Import from Repo.
GitHub Copilot
copilot plugin marketplace add Olbrain/alchemist-plugin
copilot plugin install alchemist@alchemist
Then ask Copilot to use Alchemist and sign in with your Olbrain account when the browser opens.
claude.ai and Claude Code on the web
Add a custom connector with the URL https://alchemist.olbrain.com/mcp/
(Customize → Connectors → Add custom connector; on Team and Enterprise
plans an owner adds it under Organization settings → Connectors). Then click
Connect and sign in.
Build an agent
Ask in plain words:
Use Alchemist to build an agent that answers questions about our pricing
and hands refunds to a person.
| In Claude Code | Does |
|---|---|
/alchemist:build <what the agent should do> | Starts a build. |
/alchemist:status | Your account, organization, builds, and any cards waiting on you. |
A build can be a conversational agent or a job that runs on a schedule, on demand, or from a webhook. Every build can also be opened in Noesis.
Requirements first
A new build starts with Cortex, Olbrain's business analyst. It asks a few questions to narrow down what the agent should do and writes a requirements document. When the document is ready, an approval card lists the agents to build: choose Build them to have Alchemist build them from the documents, Keep refining to keep talking to Cortex, or Stop here. The documents stay saved either way. Changing an existing agent skips this step.
Not sure what to build? Ask which agents your business needs, and Cortex will suggest some:
Use Alchemist: I run a bakery with two shops and online orders.
Which agents should I have?
Before Alchemist publishes an agent, makes it live, merges agents, or changes how one behaves, it stops with an approval card. Claude shows you the card and waits for your choice, and Claude Code asks your permission before sending it.
Best practices
Say who it serves and where it stops
A good request names who the agent talks to, what it does, what it must never do, and when it hands over to a person. Add a few questions real customers ask: they become the agent's tests.
Use Alchemist to build a chat agent for our website visitors. It answers
pricing and delivery questions from our FAQ, never promises discounts,
and hands refunds to support@acme.com. Customers often ask:
"Do you deliver on Sundays?" and "Can I change my order after paying?"
Build from your project
Start Claude Code or Codex in the folder that holds your docs, site or code. Your coding agent drafts the brief, the plan and the tests from what it finds there, and asks you only for what it can't find.
Decide which cards Claude answers
Put your rule in CLAUDE.md, AGENTS.md or GEMINI.md, for
example "Approve plans and tests yourself; ask me before publishing." Without a rule,
Claude answers every card itself in auto mode and asks you otherwise. Removing an agent,
forgetting a customer and publishing despite failing tests are always answered in the browser,
from the link Claude gives you.
Continue a build; don't start another
- Say "pick up my support agent build". Claude finds it by name and carries on, and a card waiting on you comes first.
- A long step returns
still_running. That isn't an error: let Claude follow it, and don't send the request again. - To change a published agent, ask for the change. Alchemist opens a new build on that agent, and customers keep the live version until the new one is tested and published.
- Builds are private to you. A teammate changes your published agent in a build of their own.
Ask before ruling something out
Ask "Can Alchemist …?". Claude checks the live capability list before saying yes or no. Charts in the chat, PowerPoint, PDF, Word and Excel files, and a job's multi-sheet Excel workbook are all built in. When something really can't be built yet, Alchemist reports it to the Olbrain team and tells you.
Give a job a real input
- Share one real example of what starts the job (a webhook body, an email, a file). Its live test runs on that input before you publish.
- Say whether a list is one piece of work or many. A report or workbook built from a whole list is one run; separate items, such as each invoice in an email, are one run each.
- Read the live test's result before publishing. A job that does nothing with its input fails its test.
Let the tests drive fixes
Fix what a failing test shows, then run the tests again. Each agent has a budget of passes. When a build reaches it, Claude shows the best result so far and asks before going on. Don't start a new build to reset the budget; a stronger model usually gets through the tests first time.
Keep keys out of the chat
Cards collect API keys, passwords and signing secrets in the browser. If one is pasted into the chat, rotate it and use the card. Keep your Olbrain Access Key on your server, never in browser code.
Read errors by their code
Act on an error's code, not its wording (see Errors).
service_unavailable is an outage on Olbrain's side: your build is kept, so wait,
then say "continue", and don't retry in a loop. insufficient_credits means
top up, then continue.
Review it once it's live
After launch, ask "Review how my support agent did this week." Alchemist reads real conversations, groups what went wrong, turns failures into tests, and proves a fix on them before you publish it.
What it costs
- Building is billed to your own Olbrain account as Alchemist credits. Verify your email to get free credits; after that, subscribe or top up on the Billing page. If you run out, Alchemist tells you and links you there.
- Running the live agent is billed to your organization. Before it takes real traffic, an organization owner starts its free trial and creates an Access Key; the hand-over below walks you through it.
See Billing & plans for the details.
After it goes live
When an agent goes live, Alchemist hands over the steps to use it:
- Start the free trial and create an Access Key (an owner does this).
- Save the key in your shell as
OLBRAIN_API_KEY. Never paste it into the chat. - Test it with one
curlcall. - Call it from your code with the JavaScript or
Python SDK — chat agents with
AgentClient, jobs withOlbrain. Webhook jobs take a webhook call, with file uploads when they need files. - For a public website, paste the website chat embed code. It is locked to your site's domains.
Keep the Access Key on your server. It never goes in browser code.
Tools
| Tool | What it does |
|---|---|
whoami | Who you are signed in as, and your organizations. |
create_org | Create an organization and make it active. |
select_org | Switch your active organization (everywhere you are signed in). |
list_members | Who is in your organization. |
alchemist | One builder turn: describe or continue a build. |
alchemist_answer | Send your choice on an approval card. |
alchemist_builds | List your builds. |
alchemist_build | One build: its plan, agents, and waiting cards. |
alchemist_stop | Stop the turn a build is running. |
Inviting people and joining an organization happen in Noesis.
Errors
A failed tool call has isError set. Its structuredContent, and its text as
JSON, is one envelope. Branch on code; show message to the user.
{
"error": {
"code": "service_unavailable",
"message": "Alchemist is unavailable right now. Nothing you did caused this. …",
"retryable": true,
"reference": "ab12cd34"
}
}
| Field | Description |
|---|---|
code | Machine-readable error code. Use this in your error handling, never the message's words. |
message | What happened, written for the user. |
retryable | Whether the same call can succeed later, unchanged. |
reference | On Olbrain failures only. Include it in support emails so Olbrain can trace the call. |
| Code | Meaning | What to do |
|---|---|---|
invalid_input | An argument is missing or malformed. | Fix it; don't resend it as is. |
not_found | No such build, agent, card or organization for this user. | Re-read the build or list. |
conflict | The call clashes with the current state: an op_id reused, a name taken. | Re-read, then change the call. |
forbidden | The user's role in the organization doesn't allow it. | An owner or admin changes it in Noesis. |
no_organisation | No organization is selected. | Call create_org or select_org. |
limit_reached | An account limit, such as organizations per user. | Tell the user. |
insufficient_credits | Out of Alchemist credits. | Show the message and its link, then stop. See Billing. |
session_ended | The Olbrain sign-in ended. | Sign in to Alchemist again: /mcp in Claude Code, codex mcp login alchemist in Codex. |
unauthorized | The call carried no signed-in user. | Sign in. |
unknown_tool | No tool by that name. | Use a tool from the list above. |
rate_limited | Too many calls. | Wait, then call once more. Retryable. |
service_unavailable | Olbrain or its model provider failed. Nothing the user did caused it; a started build is kept. | Tell the user; try again later, never in a loop. Retryable. |
internal_error | A bug in Alchemist. | Give the user the reference. |
Codes inside a result
Calls that succeed can still carry these codes, with the same names:
| Where | Codes | What to do |
|---|---|---|
A build's errors (alchemist, alchemist_build) |
service_unavailable, insufficient_credits (with topup_url), too_many_turns, stream_dropped, stream_failed |
As above. too_many_turns: three builds already run; wait for one. stream_dropped: the turn may still be running; follow it with alchemist_build. |
A step's op (alchemist_do, alchemist_answer) |
status refused, with result {ok: false, error, hint} |
Fix what hint says and retry once, never unchanged. provider_unavailable means the same as service_unavailable. |
A call's status (not an error) |
still_running, queued, busy, already_started |
still_running, queued: follow with alchemist_build and wait. busy: wait, then send the same call with the same op_id. already_started: that request_id already made the build. |
Errors from calling a live agent are on Errors.
Privacy
Every call goes to https://alchemist.olbrain.com, which acts as you in Olbrain. It
keeps your Olbrain sign-in encrypted so you stay signed in. To end that, sign out of Olbrain or
remove the connection.