Behavry Integration — Claude Desktop App
Claude Desktop speaks MCP over Streamable HTTP via a JSON config file. It connects to Behavry's unified MCP gateway (/mcp/v1) and authenticates with the agent's client credentials as an HTTP Basic header.
After any config change, restart Claude Desktop for it to take effect.
Prerequisites
- A running Behavry instance (your control-plane URL, or
http://localhost:8000for a local stack) - Claude Desktop installed
- An enrolled agent (gives you the
client_id/client_secret)
1. Enroll the agent
In the dashboard: Agents → Enroll Agent → Claude Desktop. Behavry provisions the agent and shows the exact config block to paste, with credentials filled in.
2. Config file locations
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
3. Config block
Merge this under the mcpServers key (the dashboard fills in the Basic credential for you):
{
"mcpServers": {
"behavry": {
"url": "https://<your-behavry-host>/mcp/v1",
"headers": {
"Authorization": "Basic <base64(client_id:client_secret)>"
}
}
}
}
The Authorization value is Basic + base64 of client_id:client_secret. The gateway is a single endpoint — you point at /mcp/v1, not per-server paths.
Then quit and reopen Claude Desktop.
Verify
- In Claude Desktop, open a new conversation
- Click the plug icon (MCP) —
behavryshould be listed - Ask Claude to read a file or list a directory
- The tool call appears in the dashboard → Live Activity with a policy result
Troubleshooting
MCP server not appearing — Confirm you restarted the app, and that the config contains the mcpServers.behavry entry with a url ending in /mcp/v1.
Connection refused — The Behavry backend isn't reachable. Check curl https://<your-behavry-host>/health.
401 Unauthorized — The credentials are wrong or the agent was revoked. Re-enroll from Agents → Enroll Agent and paste the fresh block.