Try Bifrost Enterprise free for 14 days.
Request access
[ AGENT GATEWAY ]

Govern and Observe all Agent-to-Agent Communication
With One Agent Gateway

A single control plane to govern, observe, and secure all your A2A traffic.

Enterprise Ready: VPC | On-Prem | Air-Gapped

Callers

Web app
Mobile app
Orchestrator
Copilot
Slack bot
Planner agent
Partner agent
Cron job

Agent Gateway

  1. 01Authenticate
  2. 02Check agent access
  3. 03Route to agent
  4. 04Log conversation

JSON-RPC · REST · gRPC

Agents

Research
Support
Travel
Billing
Code review
Analytics
Docs
Your agent
Run the gateway locally
npx -y @maximhq/bifrost

[ OVER 1,000+ TEAMS USE BIFROST ]

[ ARCHITECTURE ]

One gateway between your callers and your agents

Bifrost speaks A2A to your callers and to your agents, so access, credentials and logs live in one place.

Agent registry

Register an agent from its agent card URL. Bifrost serves the card with its own endpoints, so callers reach the agent through Bifrost.

Format agnostic

Callers and agents can each use JSON-RPC, REST or gRPC. Bifrost handles the translation between them.

Policy and logs

Virtual keys, access profiles and projects decide who can call each agent, with each call logged.

[ AGENT GATEWAY CAPABILITIES ]

Govern and observe every call to your agents

Register agents, decide who can call them, trace conversations to their model spend, and relay task updates.

Register agents from their agent card

  • Paste an agent card URL to preview skills, endpoints and authentication before you save
  • Give callers one card per agent, with Bifrost's endpoints and authentication already filled in
  • Declare agents in config.json or Helm alongside the rest of your gateway config
View docs →
New agentFetching cardRegistered

library-research

skills: library lookup · docs Q&A

Served by Bifrost

JSON-RPC/agents/a2a/library-research/json-rpc
REST/agents/a2a/library-research/rest
gRPClibrary-research.a2a.example.com
research.example.com/.well-known/agent-card.jsonA2A v1

[ One card per agent, with Bifrost endpoints ]

Call any agent over JSON-RPC, REST or gRPC

  • Callers and agents can use different A2A formats, Bifrost handles the conversion to make communication seamless
  • Call an agent that speaks only JSON-RPC from a REST client, with no code change on either side
  • Offer callers JSON-RPC and REST endpoints for every agent, plus gRPC when enabled
View docs →
Format translationNo code change

support-app

RESTJSON-RPCgRPC

research-agent

JSON-RPCgRPCREST

Caller sends

POST …/message:send"method": "SendMessage"A2AService/SendMessage

Agent receives

"method": "SendMessage"A2AService/SendMessagePOST …/message:send

TransportsJSON-RPCRESTgRPC

[ Callers and agents keep their own format ]

Control who can call each agent

  • Give each virtual key access to specific agents, or let any key reach a shared agent
  • Assign agent access through access profiles and projects (Enterprise)
  • Strip the caller's key before forwarding, unless you choose to pass it to agents your teams run
View docs →

[ vk-support-team ]

research-agent

grantedjson-rpc
Active

travel-agent

grantedrest
Active

billing-agent

not granted
403

[ Caller key stripped before forwarding ]

See every agent conversation end to end

  • Read each A2A exchange as a conversation, with task status, timing and the time Bifrost added
  • Link the agent's model and MCP tool calls to the conversation with two headers
  • Filter by agent and caller, plus user, team, project, customer and business unit (Enterprise)
View docs →
Agent sessionCompleted

Explain how Server Components fetch data.

gpt-4o-miniLLM1.07s
context7 · resolve-library-idMCP0.31s
context7 · get-library-docsMCP0.84s
x-bf-session-id · ctx 01a1…61523 linked calls

[ Model and tool calls inside the conversation ]

Trace agent conversations to their model spend

  • See the tokens and cost of the model calls behind each conversation
  • Filter LLM and MCP logs by agent to see which agent's calls are driving spend
  • Count the agent's model calls against the caller's budget when it reuses the caller's key
View docs →
Spend by agentLive

research-agent

gpt-4o-mini
$4.12

travel-agent

claude-sonnet
$2.31

support-agent

gemini-flash
$0.94
Charged to the caller's key62% of budget

[ Tokens and cost per agent conversation ]

Relay push notifications through Bifrost

  • Give agents a Bifrost callback address and token, never your app's address or credentials
  • Save every update and retry failed deliveries to your app
  • Block callbacks to private addresses by default, and log every update and delivery attempt
View docs →
Push relayAt-least-once
Agent
Bifrost
Your app
delivery #1 → /callbacks503 · retrying
delivery #2 → /callbacks200 · delivered
Blockedcallbacks to private addresses, by default

[ Updates stored, retried and logged ]

[ ROLLOUT ]

From direct agent calls to a governed agent catalog

01

Register agents once

Paste each agent's card URL. Bifrost reads its skills, endpoints and authentication. Agent Gateway works with agents built on A2A v1.

02

Decide who can call them

Give agents access via virtual keys, or assign agents through access profiles and projects.

03

Point callers at Bifrost

Apps and agents call each agent's Bifrost endpoint, in whichever format they already speak.

04

Watch every conversation

Agents send their model and tool calls through Bifrost, tagged with two headers, and each conversation shows the work and the cost behind it.

[ AGENT GATEWAY ON YOUR INFRA ]

Agent access that stays under your control

Deploy in your own environment with full control over keys, data, and policy

Keep keys and data in your environment

  • Store every provider credential inside the gateway, never in client code
  • Keep all request data within your own infrastructure
  • Rotate provider keys without touching a single application
  • Keep the caller's Bifrost key inside the gateway unless you choose to forward it to an agent
Provider configuration →

Deploy anywhere, including air-gapped

  • Run fully in your VPC or air-gapped private network
  • Deploy with no external dependencies or outbound calls
  • Self-host under Apache 2.0, or run fully managed
Deployment guides →

Meet enterprise compliance standards

  • Comply with SOC 2 Type II, HIPAA, GDPR, and ISO 27001
  • Maintain audit-ready records across every request
  • Enforce one consistent policy across teams and providers
Audit logs docs →

Put every agent call behind one gateway

See who called each agent, what it did, and what its model calls cost.

[ BIFROST FEATURES ]

Open Source & Enterprise

Everything you need to run AI in production, from free open source to enterprise-grade features.

01 Governance

SAML support for SSO and Role-based access control and policy enforcement for team collaboration.

02 Adaptive Load Balancing

Automatically optimizes traffic distribution across provider keys and models based on real-time performance metrics.

03 Cluster Mode

High availability deployment with automatic failover and load balancing. Peer-to-peer clustering where every instance is equal.

04 Alerts

Real-time notifications for budget limits, failures, and performance issues on Email, Slack, PagerDuty, Teams, Webhook and more.

05 Log Exports

Export and analyze request logs, traces, and telemetry data from Bifrost with enterprise-grade data export capabilities for compliance, monitoring, and analytics.

06 Audit Logs

Comprehensive logging and audit trails for compliance and debugging.

07 Vault Support

Secure API key management with HashiCorp Vault, AWS Secrets Manager, Google Secret Manager, and Azure Key Vault integration.

08 VPC Deployment

Deploy Bifrost within your private cloud infrastructure with VPC isolation, custom networking, and enhanced security controls.

09 Guardrails

Automatically detect and block unsafe model outputs with real-time policy enforcement and content moderation across all agents.

[ SHIP RELIABLE AI ]

Try Bifrost Enterprise with a 14-day Free Trial

[quick setup]

Drop-in replacement for any AI SDK

Change just one line of code. Works with OpenAI, Anthropic, Vercel AI SDK, LangChain, and more.

1import os
2from anthropic import Anthropic
3
4anthropic = Anthropic(
5 api_key=os.environ.get("ANTHROPIC_API_KEY"),
6 base_url="https://<bifrost_url>/anthropic",
7)
8
9message = anthropic.messages.create(
10 model="claude-3-5-sonnet-20241022",
11 max_tokens=1024,
12 messages=[
13 {"role": "user", "content": "Hello, Claude"}
14 ]
15)
Drop in once, run everywhere.

[ FAQ ]

Frequently Asked Questions

An agent gateway is a control layer between AI agents and whatever calls them, whether apps or other agents. Every call passes through it, so access rules, credentials and logging apply in one place instead of being built into each agent. Without one, every caller needs its own credential for every agent, and no one can say which agent was called, by whom, or what its work cost.

A2A (Agent2Agent) is an open protocol for one agent to call another. An agent publishes an agent card describing what it can do and where to reach it, and clients send it messages and tasks over JSON-RPC, REST or gRPC.

MCP connects models to tools. A2A connects agents to other agents. Bifrost's MCP gateway governs tool calls, and its Agent Gateway governs calls to agents. Both are controlled with the same virtual keys (and access profiles in Enterprise), and Agent Logs links each agent conversation to the model and tool calls behind it.

A2A v1, the protocol's current stable version.

JSON-RPC, REST (HTTP+JSON) and gRPC, on both the caller and agent side. Bifrost converts between them. Accepting gRPC from callers needs a base domain, wildcard DNS and a gRPC-capable ingress in front of Bifrost.

The A2A call itself has no token cost. The cost comes from the model calls, and priced MCP tool calls, that the agent makes. Bifrost ties them to the conversation when the agent sends them through Bifrost with the session and task headers.

Not by default. Bifrost removes the caller's key before forwarding a request. For agents your own teams run, you can turn on credential forwarding so the agent reuses the caller's key for its model and tool calls.

Not to route calls through Bifrost: register the agent and point callers at its Bifrost endpoint. To see the agent's own model and tool calls inside each conversation, the agent sends them through Bifrost with two headers. To charge those calls to the original caller, the agent also reuses the caller's forwarded key.

Yes. Agent Gateway is part of open-source Bifrost from v2.3.0, under Apache 2.0. Access profiles, projects, user attribution and RBAC for agents are Enterprise features.