Connect your own AI agent (Claude Code, Cursor, Codex CLI…) to your Blave Agent machine — it runs on your own subscription, so LLM cost is 0.
How do you connect? Generate the connect config under "Connect your agent" on the Blave Agent page and paste it into your tool — that completes the setup. This page lists the config shape and caveats for each tool; it is written for humans and for agents sent here to read the setup details. Three core facts:
https://mcp.blave.org/mcp (HTTP transport).Authorization: Bearer <YOUR_ACCESS_CODE>.claude mcp add --scope user --transport http blave https://mcp.blave.org/mcp --header "Authorization: Bearer <YOUR_ACCESS_CODE>"
Run in a terminal. --scope user makes it global (the default local only applies to the current project directory). After regenerating the access code, run claude mcp remove blave first, add again (a same-name entry is not overwritten), and restart Claude Code.
[mcp_servers.blave]
url = "https://mcp.blave.org/mcp"
http_headers = { "Authorization" = "Bearer <YOUR_ACCESS_CODE>" }
Paste into ~/.codex/config.toml. Use the table-header form shown above — a one-line dotted key pasted after another [section] gets nested under the wrong section.
{
"mcpServers": {
"blave": {
"url": "https://mcp.blave.org/mcp",
"headers": { "Authorization": "Bearer <YOUR_ACCESS_CODE>" }
}
}
}
Paste into .cursor/mcp.json (project) or ~/.cursor/mcp.json (global). If the file already has mcpServers, merge the blave entry in instead of replacing the whole file.
gemini mcp add --scope user --transport http blave https://mcp.blave.org/mcp --header "Authorization: Bearer <YOUR_ACCESS_CODE>"
Run in a terminal. --scope user is required: the default scope is project, and running in your home directory errors out. After regenerating the access code, just run it again — it overwrites.
{
"mcpServers": {
"blave": {
"serverUrl": "https://mcp.blave.org/mcp",
"headers": { "Authorization": "Bearer <YOUR_ACCESS_CODE>" }
}
}
}
Open the config from the agent panel: … → MCP Servers → Manage MCP Servers → View raw config (the file path varies by version). If it already has mcpServers, merge the blave entry in.
{
"servers": {
"blave": {
"type": "http",
"url": "https://mcp.blave.org/mcp",
"headers": { "Authorization": "Bearer <YOUR_ACCESS_CODE>" }
}
}
}
Paste into .vscode/mcp.json (workspace) or run MCP: Open User Configuration for the user-level file. Note the top-level key is servers, not mcpServers.
{
"mcpServers": {
"blave": {
"type": "streamableHttp",
"url": "https://mcp.blave.org/mcp",
"headers": { "Authorization": "Bearer <YOUR_ACCESS_CODE>" }
}
}
}
Open the MCP Servers settings JSON from the Cline panel and paste it in. type must be camelCase streamableHttp — neither http nor streamablehttp works.
{
"mcp": {
"blave": {
"type": "remote",
"url": "https://mcp.blave.org/mcp",
"oauth": false,
"headers": { "Authorization": "Bearer <YOUR_ACCESS_CODE>" }
}
}
}
Paste into opencode.json. Keep "oauth": false — it explicitly disables automatic OAuth detection so the access-code header auth is used.
{
"blave": {
"url": "https://mcp.blave.org/mcp",
"headers": { "Authorization": "Bearer <YOUR_ACCESS_CODE>" }
}
}
Settings → AI → MCP Servers (or Warp Drive → MCP Servers) → Add, then paste. The top level is the server name directly — no mcpServers wrapper.
{
"mcpServers": {
"blave": {
"serverUrl": "https://mcp.blave.org/mcp",
"headers": { "Authorization": "Bearer <YOUR_ACCESS_CODE>" }
}
}
}
Paste into ~/.codeium/windsurf/mcp_config.json. Note the url field is named serverUrl. (The product is being renamed: the docs now call it Devin Desktop; this config applies to the legacy Cascade agent.)
{
"mcpServers": {
"blave": {
"url": "https://mcp.blave.org/mcp",
"headers": { "Authorization": "Bearer <YOUR_ACCESS_CODE>" }
}
}
}
Add manually in the MCP settings and paste the JSON, or write it to .trae/mcp.json in the project root.
mcp__blave to permissions.allow (in Claude Code auto mode also allow Bash(ssh:*)), or use the default mode.local scope wins over user. Run claude mcp get blave to see which scope is active and remove the one you don't want.claude mcp remove blave first; Gemini CLI simply overwrites on re-run.get_ssh_access first to obtain short-lived SSH credentials (15 minutes; just call again when expired)./opt/blave-agent/workspace and follow it: use lib/ for backtests and orders, don't touch control/.get_ssh_access) so follow-up commands skip the handshake.