Skip to main content

ADR-003: Bifrost MCP Gateway

Status

Accepted

Context

The Norns agent needs to interact with multiple external services:

  • Home Assistant for smart home control
  • Grocy for household management
  • GitLab for code repository access
  • n8n for workflow automation
  • Linear for project management
  • And more services over time

Direct integration with each service in the agent creates:

  • Tight coupling between agent and services
  • Complex configuration management
  • Difficult testing and mocking
  • No centralized access control

Decision

We implemented Bifrost, a Model Context Protocol (MCP) gateway that:

  • Provides a unified interface for all external services
  • Implements MCP standard for tool discovery and invocation
  • Centralizes authentication and rate limiting
  • Enables service mocking for testing

Consequences

Positive

  • Clean separation between agent logic and service integration
  • Easy to add new services without modifying agent
  • Centralized security and access control
  • Standardized tool interface following MCP spec
  • Better testability with mock services

Negative

  • Additional network hop for service calls
  • Gateway becomes potential single point of failure
  • MCP standard still evolving

Alternatives Considered

Direct Integration

Simpler initially but doesn't scale. Each new service requires agent changes.

Custom API Gateway

Would work but MCP provides better tooling integration and is becoming an industry standard for LLM tool use.

Function Calling Proxy

Similar to MCP but proprietary. MCP has better ecosystem support.

References