This guide covers how to install BioRouter, connect an LLM provider, and optionally configure MCP extensions and agents.
GitHub: https://github.com/BaranziniLab/BioRouter Latest releases: https://github.com/BaranziniLab/BioRouter/releases
Always install the newest release for the latest features and bug fixes.
- Go to https://github.com/BaranziniLab/BioRouter/releases and download the latest macOS release (
.dmgor.zip). - Open the downloaded file and move BioRouter to your Applications folder.
- Launch BioRouter from Applications.
Note: If you see a security warning on an Apple Silicon Mac, ensure ~/.config has read and write permissions. BioRouter uses this directory for its configuration and log files.
curl -fsSL https://github.com/BaranziniLab/BioRouter/releases/download/stable/download_cli.sh | bashTo install without interactive configuration:
curl -fsSL https://github.com/BaranziniLab/BioRouter/releases/download/stable/download_cli.sh | CONFIGURE=false bashTo update:
biorouter updateLinux and Windows builds are currently in development. Check the GitHub releases page for updates: https://github.com/BaranziniLab/BioRouter/releases
BioRouter needs an LLM provider to function. On first launch, you will be prompted to configure one.
Option A: Azure OpenAI (UCSF ChatGPT)
- Access is managed through your UCSF institutional account.
- Select "Azure OpenAI" in the provider setup and follow the credential prompts.
- This provider routes through UCSF's Azure tenant — no separate API key required for most users.
Option B: Amazon Bedrock (UCSF-hosted Anthropic)
- Uses AWS SSO with your UCSF AWS account.
- Run
aws sso login --profile <your-profile>before launching BioRouter. - Select "Amazon Bedrock" and configure
AWS_PROFILEandAWS_REGION.
Option C: Local / Air-gapped (Ollama)
- Install Ollama: https://ollama.com
- Pull a model:
ollama pull qwen3 - Select "Ollama" in BioRouter — no API key needed.
- Data stays entirely on your device.
For direct access using your own API key:
| Provider | Where to get a key |
|---|---|
| Anthropic | https://console.anthropic.com |
| OpenAI | https://platform.openai.com/api-keys |
| Google Gemini | https://aistudio.google.com/app/apikey |
| X.AI (Grok) | https://console.x.ai |
| Venice AI | https://venice.ai |
| OpenRouter | https://openrouter.ai/keys |
Desktop setup:
- On the welcome screen, enter your API key in the Quick Setup panel.
- BioRouter will test the key and prompt you to choose a model.
- You're ready to start a session.
CLI setup:
biorouter configure
# Select "Configure Providers"
# Choose your provider and enter the API key when promptedDesktop: Settings > Models > select a provider card > Configure or Launch.
CLI:
biorouter configure
# Select "Configure Providers"After configuration, start a session and send a test message:
Desktop: Type a message in the chat input and press Enter.
CLI:
biorouter session
> Hello, can you confirm you're working?If BioRouter responds, the setup is complete.
Extensions give BioRouter access to tools like file operations, web search, databases, and more.
The Developer extension is enabled by default and provides core capabilities (reading/writing files, running shell commands, etc.).
Desktop: Sidebar > Extensions > toggle the extension on.
CLI:
biorouter configure
# Select "Add Extension" > "Built-in Extension"Available built-in extensions: Developer (default), Computer Controller, Memory, Tutorial, Auto Visualiser, Chat Recall, Code Execution, Extension Manager (default), Skills (default), Todo (default).
Any MCP-compatible server can be added as an extension.
Desktop: Sidebar > Extensions > Add custom extension > enter the command and configuration.
CLI example (GitHub MCP server):
biorouter configure
# Select "Add Extension" > "Command-line Extension"
# Name: GitHub
# Command: npx -y @modelcontextprotocol/server-github
# Environment variable: GITHUB_PERSONAL_ACCESS_TOKEN = <your token>Manual config (~/.config/biorouter/config.yaml):
extensions:
github:
name: GitHub
cmd: npx
args: [-y @modelcontextprotocol/server-github]
enabled: true
envs:
GITHUB_PERSONAL_ACCESS_TOKEN: "<your_token>"
type: stdio
timeout: 300BioRouter can connect to remote MCP agents that provide specialized research capabilities (database access, literature retrieval, bioinformatics tools, etc.).
To connect a remote MCP agent over HTTP:
# In ~/.config/biorouter/config.yaml
extensions:
my-research-agent:
name: My Research Agent
url: https://my-agent.example.com/mcp
type: streamable_http
enabled: true
timeout: 300Or via CLI:
biorouter session --with-streamable-http-extension "https://my-agent.example.com/mcp"The main configuration file is at:
~/.config/biorouter/config.yaml (macOS / Linux)
This file stores provider settings, API keys (encrypted), extension configurations, and model preferences. It is shared between the Desktop app and the CLI.
Electron app state (Desktop only) is stored at:
~/Library/Application Support/BioRouter/ (macOS)
Desktop: BioRouter checks for updates automatically. You can also manually download the latest release from https://github.com/BaranziniLab/BioRouter/releases.
CLI:
biorouter updateApp shows no window on launch (macOS M3):
Ensure ~/.config has read and write permissions.
chmod 755 ~/.configExtension fails to activate:
- Check that the required runtime is installed (Node.js for
npx, Python/uvxfor Python extensions). - In corporate or air-gapped networks, extensions may need pre-installation rather than on-demand downloads.
API key not working:
- Verify the key is correct and has not expired.
- Check that the provider account has sufficient credits or quota.
- Try setting the key as an environment variable instead of via the keyring:
export ANTHROPIC_API_KEY=your_key_here biorouter configure
Log files:
Logs are stored in ~/.config/biorouter/logs/. Review them for detailed error messages.