<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nakul T Krishnan</title>
    <description>The latest articles on DEV Community by Nakul T Krishnan (@nakul_tk).</description>
    <link>https://dev.to/nakul_tk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3778279%2F1c2dabcf-9bf5-4a37-a76b-9d7475175411.png</url>
      <title>DEV Community: Nakul T Krishnan</title>
      <link>https://dev.to/nakul_tk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nakul_tk"/>
    <language>en</language>
    <item>
      <title>Using an MCP Gateway with Claude Code: A Practical Guide</title>
      <dc:creator>Nakul T Krishnan</dc:creator>
      <pubDate>Wed, 06 May 2026 07:52:25 +0000</pubDate>
      <link>https://dev.to/nakul_tk/using-an-mcp-gateway-with-claude-code-a-practical-guide-31dc</link>
      <guid>https://dev.to/nakul_tk/using-an-mcp-gateway-with-claude-code-a-practical-guide-31dc</guid>
      <description>&lt;p&gt;&lt;em&gt;Learn how to integrate an MCP gateway with Claude Code to consolidate tool access, enforce governance policies, and reduce token consumption across connected MCP servers.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Claude Code has emerged as a standard terminal-based coding agent for engineering teams. Its built-in support for the Model Context Protocol (MCP) enables interaction with filesystems, databases, GitHub, web search, Slack, internal APIs, and an expanding ecosystem of community-hosted tool servers. While connecting Claude Code to a small number of MCP servers is straightforward, scaling to dozens of servers introduces operational complexity. Each server requires separate credentials, configuration, and approval handling, leading to tool sprawl, fragmented governance, and limited visibility into costs. An MCP gateway resolves this by acting as a unified access layer in front of all upstream tool servers. Bifrost, an open-source AI gateway developed by Maxim AI, is designed specifically for this architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Role of an MCP Gateway in Claude Code Environments
&lt;/h2&gt;

&lt;p&gt;An &lt;a href="https://www.bishopwcmartin.com/best-mcp-gateways-for-enterprise-ai-2026/" rel="noopener noreferrer"&gt;MCP gateway&lt;/a&gt; functions as both an aggregation and governance layer between Claude Code and upstream MCP servers. It establishes a single connection to each tool server while exposing a consolidated &lt;code&gt;/mcp&lt;/code&gt; endpoint to Claude Code. All tool invocations pass through this layer, where policies related to access control, observability, and routing are enforced before reaching the underlying systems.&lt;/p&gt;

&lt;p&gt;In the absence of a gateway, each MCP server must be configured independently within Claude Code. The gateway model simplifies this by reducing multiple connections into a single interface, centralizing operational concerns such as authentication, auditing, budgeting, and tool filtering. The Model Context Protocol itself is an open standard that enables AI systems to dynamically discover and execute external tools. It was initially &lt;a href="https://www.anthropic.com/news/model-context-protocol" rel="noopener noreferrer"&gt;introduced by Anthropic in November 2024&lt;/a&gt; and is now broadly adopted across AI platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations of Scaling MCP Servers Without a Gateway
&lt;/h2&gt;

&lt;p&gt;As the number of connected MCP servers increases, several systemic issues arise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Configuration overhead&lt;/strong&gt;: Each server requires its own configuration entry, transport setup, and credentials. Replicating this setup across teams introduces friction and inconsistency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lack of centralized governance&lt;/strong&gt;: Claude Code can access any tool exposed by connected servers without a unified policy layer to restrict usage by user, team, or project.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inefficient token usage&lt;/strong&gt;: Every MCP server contributes its full set of tool definitions to the model context on each request. For example, five servers with thirty tools each result in 150 tool definitions being injected into every prompt. Anthropic has &lt;a href="https://www.anthropic.com/engineering/code-execution-with-mcp" rel="noopener noreferrer"&gt;reported scenarios where this leads to 150,000 tokens per agent interaction&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An MCP gateway mitigates these challenges by introducing a centralized control plane.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture of Bifrost’s MCP Gateway with Claude Code
&lt;/h2&gt;

&lt;p&gt;Bifrost operates as both an MCP client and server. It connects upstream to MCP-compatible services such as filesystems, databases, GitHub, web search, internal APIs, Notion, and Slack, then aggregates these tools into a single &lt;code&gt;/mcp&lt;/code&gt; endpoint. From Claude Code’s perspective, Bifrost appears as a single MCP server, while internally it manages multiple upstream connections.&lt;/p&gt;

&lt;p&gt;In addition to tool aggregation, Bifrost also acts as a &lt;a href="https://kivomind.com/top-5-ai-gateways-developers-use-to-run-claude-code-with-non-anthropic-models/" rel="noopener noreferrer"&gt;unified inference gateway&lt;/a&gt;, allowing Claude Code to route requests to &lt;a href="https://kivomind.com/top-5-ai-gateways-developers-use-to-run-claude-code-with-non-anthropic-models/" rel="noopener noreferrer"&gt;non-Anthropic&lt;/a&gt; models without any client-side changes. This enables teams to use providers such as OpenAI, Azure OpenAI, Vertex AI, or open-weight models behind the same interface, while preserving Claude Code’s native workflow.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.getmaxim.ai/bifrost/resources/mcp-gateway" rel="noopener noreferrer"&gt;MCP gateway&lt;/a&gt; in Bifrost supports three transport mechanisms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;STDIO&lt;/strong&gt;: Executes a subprocess and communicates via standard input and output, suitable for local tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTTP&lt;/strong&gt;: Uses JSON-RPC to communicate with remote MCP servers, typically for cloud-hosted services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SSE&lt;/strong&gt;: Maintains persistent connections through Server-Sent Events for streaming use cases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Upon registering a new upstream server, Bifrost automatically discovers available tools and synchronizes them. Claude Code does not require updates when new tools are added. Additional configuration guidance is available in the &lt;a href="https://www.getmaxim.ai/bifrost/resources/claude-code" rel="noopener noreferrer"&gt;Claude Code integration resource&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting Up an MCP Gateway with Claude Code
&lt;/h2&gt;

&lt;p&gt;The setup process is minimal and assumes Node.js 18+ and an authenticated Claude Code environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Launch Bifrost
&lt;/h3&gt;

&lt;p&gt;Bifrost can be started locally using NPX or Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx &lt;span class="nt"&gt;-y&lt;/span&gt; @maximhq/bifrost
&lt;span class="c"&gt;# or&lt;/span&gt;
docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:8080 maximhq/bifrost
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Access the dashboard at &lt;code&gt;http://localhost:8080&lt;/code&gt;. Deployment is also supported on Kubernetes, Docker Swarm, and bare metal environments.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 2: Register Upstream MCP Servers
&lt;/h3&gt;

&lt;p&gt;Within the Bifrost dashboard, navigate to the MCP section and add each upstream server. Specify the connection type and provide the required endpoint or command. For HTTP-based servers, authentication headers such as API keys can be configured directly. Bifrost handles tool discovery and synchronization automatically. Detailed instructions are available in the &lt;a href="https://docs.getbifrost.ai/mcp/connecting-to-servers" rel="noopener noreferrer"&gt;MCP connection documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 3: Define Virtual Keys with Scoped Permissions
&lt;/h3&gt;

&lt;p&gt;Virtual keys serve as the primary governance mechanism. Each key defines which tools are accessible, along with constraints such as budgets, rate limits, and routing policies. Tool access is scoped at a granular level, enabling selective permissions within the same server. For example, a key may allow &lt;code&gt;crm_lookup_customer&lt;/code&gt; while restricting &lt;code&gt;crm_delete_customer&lt;/code&gt;. Refer to the &lt;a href="https://docs.getbifrost.ai/features/governance/virtual-keys" rel="noopener noreferrer"&gt;virtual keys documentation&lt;/a&gt; for implementation details.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 4: Connect Claude Code to the Gateway
&lt;/h3&gt;

&lt;p&gt;Add Bifrost as an MCP server in Claude Code:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http bifrost http://localhost:8080/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Verify the connection using &lt;code&gt;/mcp&lt;/code&gt; within Claude Code. All permitted tools associated with the virtual key will be available. Future additions to Bifrost are automatically reflected without further configuration.&lt;/p&gt;
&lt;h2&gt;
  
  
  Governance and Access Control in Production
&lt;/h2&gt;

&lt;p&gt;In &lt;a href="https://growwebtraffic.com/best-ai-gateways-for-routing-claude-code-requests-in-production/" rel="noopener noreferrer"&gt;production environments&lt;/a&gt;, unrestricted tool access is rarely acceptable. Bifrost enforces governance through two mechanisms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Virtual key scoping&lt;/strong&gt;: Each key restricts access to a defined set of tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP Tool Groups&lt;/strong&gt;: Logical groupings of tools that can be assigned to users, teams, or services, enabling scalable permission management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every tool invocation is logged with metadata including tool name, server origin, input parameters, output, latency, associated virtual key, and the originating LLM request. This level of observability supports compliance requirements such as SOC 2 Type II, GDPR, HIPAA, and ISO 27001, as outlined in the &lt;a href="https://www.getmaxim.ai/bifrost/resources/governance" rel="noopener noreferrer"&gt;Bifrost governance layer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This centralized control plane is particularly critical in &lt;a href="https://www.computertechreviews.com/5-mcp-gateways-for-regulated-industries/" rel="noopener noreferrer"&gt;regulated industries&lt;/a&gt;, where access to sensitive systems must be tightly scoped, audited, and attributable to specific users or services. By enforcing policy at the gateway layer, teams can ensure consistent compliance across all MCP-connected tools without relying on per-server controls&lt;/p&gt;

&lt;p&gt;For external deployments, Bifrost supports OAuth 2.1 with automatic client discovery and per-user identity mapping via &lt;a href="https://docs.getbifrost.ai/mcp/oauth" rel="noopener noreferrer"&gt;OAuth authentication&lt;/a&gt;. This aligns with the MCP specification update released in &lt;a href="https://modelcontextprotocol.io/specification/2025-11-25" rel="noopener noreferrer"&gt;March 2025&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Reducing Token Usage with Code Mode
&lt;/h2&gt;

&lt;p&gt;A significant cost factor in multi-server MCP environments is context inflation caused by large tool catalogs. By default, all tool definitions are included in every request, increasing token usage substantially.&lt;/p&gt;

&lt;p&gt;Bifrost’s &lt;a href="https://docs.getbifrost.ai/mcp/code-mode" rel="noopener noreferrer"&gt;Code Mode&lt;/a&gt; addresses this by representing MCP tools as a Python API. Instead of preloading all tool definitions, Claude Code dynamically invokes only the required tools for a given task. This approach minimizes context size, filters outputs before they reach the model, and consolidates multi-step workflows into a single execution cycle.&lt;/p&gt;

&lt;p&gt;In environments with multiple MCP servers, this results in approximately 50 percent reduction in token usage and 30 to 40 percent improvement in latency. Additional insights on reducing token usage are detailed in the article on &lt;a href="https://www.londondaily.news/how-you-can-reduce-mcp-token-costs-by-50-with-bifrost-ai-gateway/" rel="noopener noreferrer"&gt;reducing token costs using Bifrost&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Recommended Operational Practices
&lt;/h2&gt;

&lt;p&gt;Effective MCP gateway deployments typically follow these practices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable &lt;code&gt;enforce_auth_on_inference&lt;/code&gt; to ensure all requests are authenticated via virtual keys.&lt;/li&gt;
&lt;li&gt;Deploy Bifrost behind HTTPS using a reverse proxy such as nginx or Cloudflare.&lt;/li&gt;
&lt;li&gt;Activate Code Mode when managing large tool catalogs to optimize cost and performance.&lt;/li&gt;
&lt;li&gt;Route both LLM and tool traffic through the same gateway to maintain unified observability and governance.&lt;/li&gt;
&lt;li&gt;Configure routing rules to support fallback across providers such as Vertex AI, AWS Bedrock, or Azure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bifrost introduces minimal latency overhead, measured at approximately 11 microseconds per request under sustained load of 5,000 RPS, ensuring it does not become a bottleneck.&lt;/p&gt;
&lt;h2&gt;
  
  
  Getting Started with Bifrost and Claude Code
&lt;/h2&gt;

&lt;p&gt;Adopting an MCP gateway with Claude Code requires minimal configuration yet delivers significant operational benefits. Bifrost consolidates multiple tool connections into a single endpoint, introduces structured governance through virtual keys, and reduces token costs via Code Mode. &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/maximhq" rel="noopener noreferrer"&gt;
        maximhq
      &lt;/a&gt; / &lt;a href="https://github.com/maximhq/bifrost" rel="noopener noreferrer"&gt;
        bifrost
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Fastest enterprise AI gateway (50x faster than LiteLLM) with adaptive load balancer, cluster mode, guardrails, 1000+ models support &amp;amp; &amp;lt;100 µs overhead at 5k RPS.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Bifrost AI Gateway&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://goreportcard.com/report/github.com/maximhq/bifrost/core" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7f7e70df9fdaaf4f485f59ca6bc0b5cbbf134d03dd5721da4e31f90f618fc304/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6d6178696d68712f626966726f73742f636f7265" alt="Go Report Card"&gt;&lt;/a&gt;
&lt;a href="https://discord.gg/exN5KAydbU" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/282b7719f04b28f5959f5e1e17aee806d65f8eea3b862b57af350df0ab57be6f/68747470733a2f2f646362616467652e6c696d65732e70696e6b2f6170692f7365727665722f68747470733a2f2f646973636f72642e67672f65784e354b41796462553f7374796c653d666c6174" alt="Discord badge"&gt;&lt;/a&gt;
&lt;a href="https://codecov.io/gh/maximhq/bifrost" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8bc2db302c566210d14c09b278639a3f63f07def5fc635a8869e59c996b3100f/68747470733a2f2f636f6465636f762e696f2f67682f6d6178696d68712f626966726f73742f6272616e63682f6d61696e2f67726170682f62616467652e737667" alt="codecov"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b0899925aadfed8626116707178a4015d8cf4aaa0b80acb632cb4782c6dc7272/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6d6178696d68712f626966726f7374"&gt;&lt;img src="https://camo.githubusercontent.com/b0899925aadfed8626116707178a4015d8cf4aaa0b80acb632cb4782c6dc7272/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6d6178696d68712f626966726f7374" alt="Docker Pulls"&gt;&lt;/a&gt;
&lt;a href="https://app.getpostman.com/run-collection/31642484-2ba0e658-4dcd-49f4-845a-0c7ed745b916?action=collection%2Ffork&amp;amp;source=rip_markdown&amp;amp;collection-url=entityId%3D31642484-2ba0e658-4dcd-49f4-845a-0c7ed745b916%26entityType%3Dcollection%26workspaceId%3D63e853c8-9aec-477f-909c-7f02f543150e" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/82ccefddb001e2caf9d399f1153fdda561cf3da341bb270e18644d516906bc64/68747470733a2f2f72756e2e7073746d6e2e696f2f627574746f6e2e737667" alt="Run In Postman"&gt;&lt;/a&gt;
&lt;a href="https://artifacthub.io/packages/search?repo=bifrost" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a6a3c734d6bd57fa8e1d508ac0cdba555bdbcd9191b29b32cf37a964b86b9c67/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f61727469666163746875622e696f2f62616467652f7265706f7369746f72792f626966726f7374" alt="Artifact Hub"&gt;&lt;/a&gt;
&lt;a href="https://github.com/maximhq/bifrost/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/3cb44c15a532770a066ba8e61bf11506ad5400e5c61d48f6b639101e442bee79/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6178696d68712f626966726f7374" alt="License"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The fastest way to build AI applications that never go down&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Bifrost is a high-performance AI gateway that unifies access to 15+ providers (OpenAI, Anthropic, AWS Bedrock, Google Vertex, and more) through a single OpenAI-compatible API. Deploy in seconds with zero configuration and get automatic failover, load balancing, semantic caching, and enterprise-grade features.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick Start&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/maximhq/bifrost/./docs/media/getting-started.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fmaximhq%2Fbifrost%2FHEAD%2F.%2Fdocs%2Fmedia%2Fgetting-started.png" alt="Get started"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Go from zero to production-ready AI gateway in under a minute.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Start Bifrost Gateway&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Install and run locally&lt;/span&gt;
npx -y @maximhq/bifrost

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Or use Docker&lt;/span&gt;
docker run -p 8080:8080 maximhq/bifrost&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Configure via Web UI&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Open the built-in web interface&lt;/span&gt;
open http://localhost:8080&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Make your first API call&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;curl -X POST http://localhost:8080/v1/chat/completions \
  -H &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;"&lt;/span&gt;Content-Type: application/json&lt;span class="pl-pds"&gt;"&lt;/span&gt;&lt;/span&gt; \
  -d &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;{&lt;/span&gt;
&lt;span class="pl-s"&gt;    "model": "openai/gpt-4o-mini",&lt;/span&gt;
&lt;span class="pl-s"&gt;    "messages": [{"role": "user", "content": "Hello, Bifrost!"}]&lt;/span&gt;
&lt;span class="pl-s"&gt;  }&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;That's it!&lt;/strong&gt; Your AI gateway is running with a web interface for visual configuration…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/maximhq/bifrost" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;To evaluate this architecture within your own infrastructure, &lt;a href="https://getmaxim.ai/bifrost/book-a-demo" rel="noopener noreferrer"&gt;book a demo&lt;/a&gt; with the Bifrost team.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>claude</category>
      <category>llm</category>
    </item>
    <item>
      <title>A Practical Guide to Running Claude for a Team Without Hitting Quotas</title>
      <dc:creator>Nakul T Krishnan</dc:creator>
      <pubDate>Thu, 26 Feb 2026 17:09:25 +0000</pubDate>
      <link>https://dev.to/nakul_tk/a-practical-guide-to-running-claude-for-a-team-without-hitting-quotas-4jd8</link>
      <guid>https://dev.to/nakul_tk/a-practical-guide-to-running-claude-for-a-team-without-hitting-quotas-4jd8</guid>
      <description>&lt;p&gt;I’m a marketer working in a tech startup and my days involve creating content strategies, competitor analysis, generating email campaigns. Me and my team run Claude through a custom internal web app backed by a centralized, Dockerized server connected to the Anthropic API. The backend routes structured tool calls over MCP to Notion, which has our entire knowledge base and Figma, which lets Claude inspect design files and suggest layout changes based on the design principles. &lt;/p&gt;

&lt;p&gt;On paper, the architecture was clean: single org key, audited tool access, and deterministic workflows. When I'm building out a campaign, Claude isn't just answering questions in a chat window, it's reading Notion databases, cross-referencing brand documents and pulling in Figma files for design references. This type of deep context-rich sessions evaporates the shared quota fast. What follows is a wall of rate-limit errors that stall pipelines and becomes a bottleneck.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Temporary Solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A solution I figured out was to offload the simpler tasks like quick copy edits, summarization, subject line generation to a different model. Open source models like Llama and GPT OSS provide impressive output quality for structured tasks. And I decided to use them via Groq. For things like "rewrite this paragraph to be more direct" or "generate five variations of this CTA," they hold up really well.&lt;/p&gt;

&lt;p&gt;The problem wasn’t open source models, it was the overhead I did not account for. For every “simple” task I had to re-inject context, be it brand voice guidelines, audience definitions, or campaign objectives. What initially felt like a five-minute task turned out into a fifteen minute prompt scaffolding just to get an output that made sense with respect to the context. The mental load of switching between two different models running independently was a bit too much that I slowly gave up on the idea.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding the Problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The real issue was that I had no intelligent layer between me and the models, something that could route requests based on complexity, manage quota consumption, maintain context, and fail over gracefully when one provider was hitting rate-limits.&lt;/p&gt;

&lt;p&gt;After some more research, I figured out that LLM gateways could solve this problem comprehensively. LLM gateways sit between your client (in my case, my workflow and MCP-connected tools) and the model providers. They handle routing logic, usage tracking, and provider fallback. They also let you define rules for routing specific request types to designated models, with automatic fallback to a backup model if one fails.&lt;/p&gt;

&lt;p&gt;I looked at several options. Each had merits. But Bifrost stood out for a few specific reasons that mattered to my situation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Bifrost?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Bifrost provides adaptive load balancing which tracks real-time performance across providers and API keys. This is done through a comprehensive weight calculation that happens every 5 seconds. Based on this weight, a provider is decided first and then the API key to use within the provider. As a result, if multiple API keys are configured under same provider, based on error rates and latency, Bifrost automatically routes a request coming in to a key that provides optimum performance.&lt;/p&gt;

&lt;p&gt;With Bifrost I could send complex, context-heavy requests, anything that will touch MCP connected Notion or Figma, to Claude while lighter requests like summarization, reformatting, copy variations to open source models through Groq.&lt;/p&gt;

&lt;p&gt;Bifrost ships with a built-in MCP gateway. I'd built integrations that worked well and didn't want to rebuild them. Bifrost MCP enables AI models discover and execute external tools seamlessly. My Notion and Figma connections could route through the gateway without losing their context or behaviour.&lt;/p&gt;

&lt;p&gt;There is a fallback feature in Bifrost that provides automatic failover in case the primary provider faces any outage, model unavailability or the model hits rate-limits. It automatically tries backup providers in the order the user specifies until one succeeds.&lt;/p&gt;

&lt;p&gt;Bifrost also features semantic caching, which reduces unnecessary LLM calls while delivering faster responses. Unlike traditional caching, it understands the intent behind the queries, so two differently worded questions that mean the same thing, like "What are the key buyer personas for my product in the US?" and "What is the demographic of people looking for my product in the US?", are treated as equivalent. If one has already been cached, Bifrost will serve that cached response for the other as well.&lt;/p&gt;

&lt;p&gt;Setting it up was also pretty easy compared to others. &lt;/p&gt;

&lt;p&gt;You can either run &lt;/p&gt;

&lt;p&gt;npx -y @maximhq/bifrost&lt;/p&gt;

&lt;p&gt;or &lt;/p&gt;

&lt;p&gt;docker pull maximhq/bifrost&lt;br&gt;
docker run -p 8080:8080 maximhq/bifrost&lt;/p&gt;

&lt;p&gt;and you should be able to see bifrost at &lt;a href="https://localhost:8080" rel="noopener noreferrer"&gt;https://localhost:8080&lt;/a&gt;.&lt;br&gt;


&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://docs.getbifrost.ai/quickstart/gateway/setting-up#docker" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fbifrost.mintlify.app%2Fmintlify-assets%2F_next%2Fimage%3Furl%3D%252F_mintlify%252Fapi%252Fog%253Fdivision%253DGateway%2526title%253DSetting%252BUp%2526description%253DGet%252BBifrost%252Brunning%252Bas%252Ban%252BHTTP%252BAPI%252Bgateway%252Bin%252B30%252Bseconds%252Bwith%252Bzero%252Bconfiguration.%252BPerfect%252Bfor%252Bany%252Bprogramming%252Blanguage.%2526logoLight%253Dhttps%25253A%25252F%25252Fmintcdn.com%25252Fbifrost%25252FqFMmk8bNSnvgFYDI%25252Fmedia%25252Fbifrost-logo.png%25253Ffit%25253Dmax%252526auto%25253Dformat%252526n%25253DqFMmk8bNSnvgFYDI%252526q%25253D85%252526s%25253D6af701a560aee4103444fa017b226cf0%2526logoDark%253Dhttps%25253A%25252F%25252Fmintcdn.com%25252Fbifrost%25252FqFMmk8bNSnvgFYDI%25252Fmedia%25252Fbifrost-logo-dark.png%25253Ffit%25253Dmax%252526auto%25253Dformat%252526n%25253DqFMmk8bNSnvgFYDI%252526q%25253D85%252526s%25253D84d264aad5f421c526dd17893e7c5739%2526primaryColor%253D%2525230C3B43%2526lightColor%253D%25252307C983%2526backgroundLight%253D%252523ffffff%2526backgroundDark%253D%252523090d0d%26w%3D1200%26q%3D100" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://docs.getbifrost.ai/quickstart/gateway/setting-up#docker" rel="noopener noreferrer" class="c-link"&gt;
            Setting Up - Bifrost
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Get Bifrost running as an HTTP API gateway in 30 seconds with zero configuration. Perfect for any programming language.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdocs.getbifrost.ai%2Fmintlify-assets%2F_mintlify%2Ffavicons%2Fbifrost%2FkXIL-Qs6IzN4ZLK4%2F_generated%2Ffavicon%2Ffavicon-16x16.png"&gt;
          docs.getbifrost.ai
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;




&lt;p&gt;The observability layer gave me visibility into my token consumption by model and task type. It also showed the success rate, latency, tokens used for each request. The screenshot below shows the dashboard while I was testing out Bifrost.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13pq0n53r8bmwp1px21q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13pq0n53r8bmwp1px21q.png" alt="Bifrost Dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current Workflow&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Notion and Figma integrations remain intact. Rate limits still exist, but they no longer affect my workflow because fallback routing catches the overflow.&lt;/p&gt;

&lt;p&gt;What really changed for me was the reliability. I am at a much better headspace now that I don’t have to worry “what will I do when Claude hits rate limits?”&lt;/p&gt;

&lt;p&gt;If you have LLM workflows with multiple integrations and context dependencies, you should definitely look into LLM gateways.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/maximhq" rel="noopener noreferrer"&gt;
        maximhq
      &lt;/a&gt; / &lt;a href="https://github.com/maximhq/bifrost" rel="noopener noreferrer"&gt;
        bifrost
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Fastest enterprise AI gateway (50x faster than LiteLLM) with adaptive load balancer, cluster mode, guardrails, 1000+ models support &amp;amp; &amp;lt;100 µs overhead at 5k RPS.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Bifrost AI Gateway&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://goreportcard.com/report/github.com/maximhq/bifrost/core" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7f7e70df9fdaaf4f485f59ca6bc0b5cbbf134d03dd5721da4e31f90f618fc304/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6d6178696d68712f626966726f73742f636f7265" alt="Go Report Card"&gt;&lt;/a&gt;
&lt;a href="https://discord.gg/exN5KAydbU" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/282b7719f04b28f5959f5e1e17aee806d65f8eea3b862b57af350df0ab57be6f/68747470733a2f2f646362616467652e6c696d65732e70696e6b2f6170692f7365727665722f68747470733a2f2f646973636f72642e67672f65784e354b41796462553f7374796c653d666c6174" alt="Discord badge"&gt;&lt;/a&gt;
&lt;a href="https://snyk.io/test/github/maximhq/bifrost" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fb28496133f724daf03a8107e56978a14f6f2ed7e7283df0573747fa46ff8f86/68747470733a2f2f736e796b2e696f2f746573742f6769746875622f6d6178696d68712f626966726f73742f62616467652e737667" alt="Known Vulnerabilities"&gt;&lt;/a&gt;
&lt;a href="https://codecov.io/gh/maximhq/bifrost" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8bc2db302c566210d14c09b278639a3f63f07def5fc635a8869e59c996b3100f/68747470733a2f2f636f6465636f762e696f2f67682f6d6178696d68712f626966726f73742f6272616e63682f6d61696e2f67726170682f62616467652e737667" alt="codecov"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b0899925aadfed8626116707178a4015d8cf4aaa0b80acb632cb4782c6dc7272/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6d6178696d68712f626966726f7374"&gt;&lt;img src="https://camo.githubusercontent.com/b0899925aadfed8626116707178a4015d8cf4aaa0b80acb632cb4782c6dc7272/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6d6178696d68712f626966726f7374" alt="Docker Pulls"&gt;&lt;/a&gt;
&lt;a href="https://app.getpostman.com/run-collection/31642484-2ba0e658-4dcd-49f4-845a-0c7ed745b916?action=collection%2Ffork&amp;amp;source=rip_markdown&amp;amp;collection-url=entityId%3D31642484-2ba0e658-4dcd-49f4-845a-0c7ed745b916%26entityType%3Dcollection%26workspaceId%3D63e853c8-9aec-477f-909c-7f02f543150e" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/82ccefddb001e2caf9d399f1153fdda561cf3da341bb270e18644d516906bc64/68747470733a2f2f72756e2e7073746d6e2e696f2f627574746f6e2e737667" alt="Run In Postman"&gt;&lt;/a&gt;
&lt;a href="https://artifacthub.io/packages/search?repo=bifrost" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a6a3c734d6bd57fa8e1d508ac0cdba555bdbcd9191b29b32cf37a964b86b9c67/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f61727469666163746875622e696f2f62616467652f7265706f7369746f72792f626966726f7374" alt="Artifact Hub"&gt;&lt;/a&gt;
&lt;a href="https://github.com/maximhq/bifrost/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/3cb44c15a532770a066ba8e61bf11506ad5400e5c61d48f6b639101e442bee79/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6178696d68712f626966726f7374" alt="License"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The fastest way to build AI applications that never go down&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Bifrost is a high-performance AI gateway that unifies access to 15+ providers (OpenAI, Anthropic, AWS Bedrock, Google Vertex, and more) through a single OpenAI-compatible API. Deploy in seconds with zero configuration and get automatic failover, load balancing, semantic caching, and enterprise-grade features.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick Start&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/maximhq/bifrost/./docs/media/getting-started.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmaximhq%2Fbifrost%2F.%2Fdocs%2Fmedia%2Fgetting-started.png" alt="Get started"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Go from zero to production-ready AI gateway in under a minute.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Start Bifrost Gateway&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Install and run locally&lt;/span&gt;
npx -y @maximhq/bifrost

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Or use Docker&lt;/span&gt;
docker run -p 8080:8080 maximhq/bifrost&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Configure via Web UI&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Open the built-in web interface&lt;/span&gt;
open http://localhost:8080&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Make your first API call&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;curl -X POST http://localhost:8080/v1/chat/completions \
  -H &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;"&lt;/span&gt;Content-Type: application/json&lt;span class="pl-pds"&gt;"&lt;/span&gt;&lt;/span&gt; \
  -d &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;'&lt;/span&gt;{&lt;/span&gt;
&lt;span class="pl-s"&gt;    "model": "openai/gpt-4o-mini",&lt;/span&gt;
&lt;span class="pl-s"&gt;    "messages": [{"role": "user", "content": "Hello, Bifrost!"}]&lt;/span&gt;
&lt;span class="pl-s"&gt;  }&lt;span class="pl-pds"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;That's it!&lt;/strong&gt; Your AI gateway is running with a web interface for visual configuration…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/maximhq/bifrost" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




&lt;p&gt;&lt;strong&gt;Quick Links&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adaptive Load balancing: &lt;a href="https://docs.getbifrost.ai/enterprise/adaptive-load-balancing" rel="noopener noreferrer"&gt;https://docs.getbifrost.ai/enterprise/adaptive-load-balancing&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Semantic caching: &lt;a href="https://docs.getbifrost.ai/features/semantic-caching" rel="noopener noreferrer"&gt;https://docs.getbifrost.ai/features/semantic-caching&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>llm</category>
      <category>ai</category>
      <category>claude</category>
      <category>mcp</category>
    </item>
  </channel>
</rss>
