Connect Jan to Busabase
Menlo Research's open-source, local-first desktop chat app that runs open models offline (and cloud models via your keys) and acts as an MCP host; a separate terminal 'Jan Agent' shares its MCP config.
Busabase MCP server
https://busabase.com/api/mcp

Set it up
Hosted chat has no shell and no file system, so a connector is the way in.
Add the server
Point your chat client at the Busabase MCP endpoint.
Sign in
Complete OAuth in the browser — no client id or secret to create.
Pick the smallest permission
changeRequest lets the agent propose but never merge.
Verify
Ask the agent to call auth_verify before it does any work.
Step by step
This host has no shell, so a connector is the only way in.
At a glance
- Vendor
- Menlo Research
- How it connects
- MCP + OAuth · MCP + API key
- Transport
- Streamable HTTP
- Authentication
- OAuth (dynamic registration)
- Config file
- mcp_config.json in the Jan data folder (Linux ~/.local/share/Jan/data, macOS ~/Library/Application Support/Jan/data, Windows %APPDATA%/Jan/data); OAuth tokens in mcp_oauth.json beside it
Download from https://jan.ai (macOS .dmg, Windows .exe, Linux: flatpak install flathub ai.jan.Jan)- In Jan Desktop open Settings -> MCP Servers and click + Add MCP Server.
- Set Transport to
HTTP(Streamable HTTP) and URL tohttps://busabase.com/api/mcp. Name itbusabase. - Toggle the server on. Its Auth line should offer Sign in: Jan discovers the OAuth metadata, registers itself dynamically, and runs authorization-code + PKCE in your browser (5-minute wait).
- Pick a model with the tools capability, start a chat, and ask it to call
auth_verify. Approve the tool call in the card.
API-key alternative: add an Authorization: Bearer <key> header on the server (key from Busabase Settings -> API Keys). A manual header wins and OAuth is never attempted.
Known gotchas
The model must support tool calling (local models often need tool calling enabled in Model Capabilities). Each tool call needs inline approval unless 'Allow All MCP Tool Permissions' is on. The default tool-call timeout is 30 s. The older reference page (/desktop/mcp) only shows a stdio example; remote HTTP/SSE and OAuth are on the MCP Servers integration page. The docs do not say which OAuth scopes Jan requests; Busabase grants `mcp` for generic scopes. Jan Agent (a separate terminal agent, preview, install `curl -fsSL https://delta.jan.ai/jan-cli/install-jan-agent.sh | bash`) reads the same mcp_config.json and has documented SKILL.md skills in ~/.jan/skills/.
How it compares
Connection capabilities side by side with other agents already in this directory.
| Capability | |||
|---|---|---|---|
| Type | Desktop apps | Terminal agents | AI editors |
| Recommended path | MCP connector | Agent Skill | Agent Skill |
| How it connects | MCP + OAuth · MCP + API key | MCP + OAuth · Plugin / Skill | MCP + OAuth · Plugin / Skill |
| Transport | Streamable HTTP | Streamable HTTP | Streamable HTTP |
| Authentication | OAuth (dynamic registration) | OAuth (dynamic registration) | OAuth (dynamic registration) |
Written from this agent's own documentation. We have not re-run every step on a real machine, so check the linked docs if a command has changed.
Let your agent do the setup
One instruction, one authorization, and every change it makes afterwards carries a message and a diff you can check or revert.
Browse every agentBusabase MCP server
https://busabase.com/api/mcp