Use Braus
Models & MCP
Claude Code and Codex can connect to Braus over MCP or run as workers in the Braus app, and other local MCP clients can use the same bridge. Desktop access is configured separately from the model connection.
Bring your own model
Braus runs on the model you bring, and free ones work: free models through your own OpenRouter account, or your own Google AI Studio key, which comes with free usage. You can also connect a ChatGPT or Claude plan, or use Gemini or Ollama on your Mac.
| Your model | How to connect it |
|---|---|
| Free models through your own OpenRouter account | Connect your OpenRouter account from Braus: your browser asks you to allow it, and Braus keeps the key in your keychain. Then choose one of its free models for the worker. |
| Your own Google AI Studio key | Create a key in Google AI Studio, which comes with free usage, and add it to Braus’ Gemini connection. Braus keeps it in your keychain and sends it only to Google. |
| A ChatGPT or Claude plan | Sign in to Codex (ChatGPT) or Claude Code (Claude) on this Mac, then choose it as the worker’s provider in Braus. You can also drive Braus from either one: Set up an MCP client. |
| Gemini or Ollama on your Mac | For Ollama, give Braus your Ollama server’s address: inference stays local when the server is local. Gemini CLI connects to Braus over MCP: Gemini CLI. |
Desktop tool use depends on the model: a model that cannot call tools answers in text only.
What you connect follows its provider’s terms. Every connection is listed under Choose a connection.
Choose a connection
| Provider | How it answers | Authentication and destination |
|---|---|---|
| Claude Code | As an agent: the signed-in command line runs the turn and calls Braus’ tools over the local MCP bridge. Can search the web. Compacts its context with its own compact command. | Subscription. Sign in from Terminal with the claude command; Braus stores no key. |
| Codex | As an agent, same path. Can search the web. Runs in its restricted mode with Braus’ tools as the only tools. | Subscription. Sign in from Terminal with the codex command; Braus stores no key. |
| Anthropic | Through Braus’ tool loop over the API, with its desktop tools. No web search. | API key from the Anthropic console, kept in the login keychain, sent only to api.anthropic.com. |
| Gemini | Through Braus’ tool loop, with tools when the model supports them. Text-to-speech and image models cannot call tools. | API key from Google AI Studio, kept in the keychain, sent only to Google’s Generative Language API. |
| Ollama | Through Braus’ tool loop, with tools when the server lists the model with tool support. Thinking on or off from the composer; context size, output budget and timeout on the Ollama settings page. | No credential. The server address you configure: local only when that server is local. |
Which provider and model combinations are validated for the release is still being confirmed.
External MCP clients
Claude Code and Codex are the launch paths for external MCP connections. Other local STDIO clients, such as Claude Desktop, Cursor, VS Code or Gemini CLI, can use the same bridge: their setup is documented below, not tested end to end in each one. Gemini as a model connection in the app and Gemini CLI over MCP are separate paths; Ollama is a model connection, not an MCP client. The MCP bridge used by workers inside the Braus app is a separate integration path.
Understand the parts
| Part | Responsibility |
|---|---|
| Provider | Generates the reply or the tool call from the context it receives. Inference is local only when the model runs on your Mac. |
| Agent (Claude Code, Codex) | Runs its own loop and requests Braus’ tools through MCP. Built-in tools are off; web search is the one exception, when allowed. |
| External MCP client | Starts Braus’ bundled helper over local STDIO and calls the tools its grant allows. The client supplies the model; the running Braus app supplies the tools. |
| Braus’ tool loop (Anthropic, Gemini, Ollama) | Sends the model the tools, runs each call it makes and returns the result, up to 100 tool rounds per turn. A model that cannot call tools gets a text-only turn and is told so. |
| Worker host | Starts the turn, records messages and events, stops it and compacts the context. |
| MCP server | Exposes the desktop tools over the private bridge and runs one call at a time. It does not replace the runtime’s checks on session, window and action. |
Check a worker connection
- Provider: the connection light on the provider’s Settings page, or Check All in Connections, says whether the sign-in, key or server answers.
- Model and Effort: chosen per worker in the conversation composer; a model the provider does not serve fails the turn.
- Tools: an agent is given Braus’ tools and nothing else; a model without tool support answers in text only.
- Desktop: the first tool call that needs the computer asks for a seat; the worker’s row reads Waiting for the computer until it holds one.
A successful text reply verifies the model connection only. It does not verify tool access or a desktop workflow.
Follow a tool request
Observe
status, then observe or open_session: the scene the model reads.
Request
act, select or an input tool; the runtime checks the session, the seat and the target.
Inspect
The status and the observation decide the next step: continue, observe again or stop.
Each round observes afresh; a saved observation is never a coordinate for later input.
Diagnose an interruption
| Symptom | Next check |
|---|---|
| Model unavailable | The provider’s connection light; sign-in, key or server address; whether the model is listed for the account. |
| No tools in the turn | The model does not support tools, or the agent could not reach the bridge. An agent is given Braus’ tools only. |
| Tools exist, action refused | The message says why: a missing permission, “A Seat is already open”, a stale session ID, a destructive or disabled target. |
| Stream stopped early | Treat the reply as incomplete. Inspect any action already sent before retrying. |
For stopping a worker, see Stop and inspect. For an external client, see Troubleshoot an MCP client.
Context and credentials
Task instructions, conversation context, window text and recalled app knowledge can be included in a model request. Running the client on your Mac does not keep inference local when it calls a remote provider.
Moving a worker between a local server, a subscription and an API key asks for your consent first, because messages and worker instructions change destination. Web search, on by default for Claude Code and Codex, is a separate switch under Settings → Chat → Web.
Use the authentication mechanism supplied by the app or client. Keep credentials out of task instructions and chat messages. See Permissions & data for local processing and model-request boundaries.
Verified source
Checked against Braus app source at main 524eb7f on October 1, 2026. UI labels and paths have not yet been checked against the Braus build downloaded from this site. The MCP setup in MCP and agents follows its own verification scope.