This feature is only available on
v1.4.0-prerelease1 and above. Please check the changelogs for more details.This feature is only available in the Gateway deployment. It is not available when using Bifrost as a Go SDK.
Overview
Bifrost can act as an MCP server, exposing all your connected MCP tools to external MCP clients like Claude Desktop, Cursor, or any other MCP-compatible application. This enables a powerful pattern:- Connect Bifrost to multiple MCP servers (filesystem, web search, databases, etc.)
- Expose all those tools through a single MCP endpoint
- External clients connect to Bifrost and get access to all aggregated tools
Endpoints
| Endpoint | Method | Purpose |
|---|---|---|
/mcp | POST | JSON-RPC 2.0 messages for tool discovery and execution |
/mcp | GET | Server-Sent Events (SSE) for persistent connections |
POST /mcp (JSON-RPC)
Handle JSON-RPC 2.0 messages for tool listing and execution:GET /mcp (SSE)
Establish a persistent SSE connection for real-time communication:connection/openedmessage on connect- Keeps connection alive until client disconnects
External MCP Client Integration
The/mcp endpoint supports any MCP-compatible client that can communicate via HTTP or SSE:
- Claude Desktop - macOS and Windows desktop application
- Cursor - IDE with MCP support
- Custom Applications - Any app implementing the MCP protocol
- Browser Extensions - Tools with MCP client capability
Virtual Key Authentication
Bifrost supports per-Virtual Key MCP servers, allowing you to expose different tools to different clients.Global Server (No Virtual Key)
Whenenforce_governance_header is false, requests without a Virtual Key use the global MCP server with all available tools.
Virtual Key-Specific Servers
When using Virtual Keys, each VK gets its own MCP server with filtered tools based on its configuration. Authenticate with Virtual Key:Tool Filtering for MCP Clients
Control which tools are exposed to MCP clients using Virtual Keys:Per-Virtual Key Tool Access
Configure which tools each Virtual Key can access:Advanced Gateway Features
Health Monitoring
Bifrost automatically monitors the health of connected MCP clients: How it works:- Ping Mechanism: Every 10 seconds (configurable), sends a ping to each connected client
- Check Timeout: Each ping has a 5-second timeout
- Failure Threshold: After 5 consecutive failed pings, client is marked as
disconnected - State Tracking: Real-time state updates (connected ↔ disconnected)
- Manual Reconnection: Once disconnected, requires manual reconnect via API or UI
Request ID Tracking
For Agent Mode operations, Bifrost can track intermediate tool executions:Dynamic Tool Discovery
Tools are discovered from MCP servers during:- Client Connection - Initial ListTools request
- Runtime Updates - When server tool list changes
- Configuration Changes - When tools_to_execute is updated
Security Considerations
1. Enable Virtual Key Enforcement
Always enableenforce_governance_header in production:
2. Use HTTPS
Deploy Bifrost behind a reverse proxy (nginx, Cloudflare, etc.) with TLS enabled:3. Limit Tool Access
Use Virtual Keys to limit which tools each client can access. Follow the principle of least privilege.4. Network Restrictions
Consider network-level restrictions to limit which IPs can access the MCP endpoint.Troubleshooting
Claude Desktop not connecting
Claude Desktop not connecting
- Verify the URL is correct and Bifrost is running
- Check if Bifrost is accessible from Claude Desktop’s network
- Restart Claude Desktop after configuration changes
- Check Bifrost logs for connection attempts
No tools showing up
No tools showing up
- Verify MCP clients are connected in Bifrost
- Check that
tools_to_executeincludes the expected tools - If using Virtual Keys, verify the VK has MCP tool access configured
Virtual Key authentication failing
Virtual Key authentication failing
- Ensure the Virtual Key exists and is active
- Check the header format (Bearer prefix for Authorization)
- Verify
enforce_governance_headersetting matches your setup

