Getting started

BridgeMCP is a self-hosted MCP (Model Context Protocol) aggregation gateway. It exposes a single MCP endpoint that combines many upstream MCP servers, which we call connectors, into logical groupings called Virtual MCPs. An AI client connects to one BridgeMCP endpoint and gains access to every tool in that Virtual MCP, without configuring each server individually.

Core ideas

  • Connector: one upstream MCP server. It can be a remote HTTP server, or a local stdio server run in a managed container.
  • Virtual MCP: a named bundle of connectors, exposed as a single MCP server. Group connectors by team, environment, or use case.
  • API key or OAuth: how an AI client authenticates to a Virtual MCP.
  • Activity log: every tool call through the gateway is recorded for audit and observability.

Connect your first client

Once BridgeMCP is running and you have created a Virtual MCP (for example, dev) with an API key, point your AI client at the gateway endpoint:

https://bridgemcp.net/api/v1/mcp/{virtual-mcp-id}

Claude Code

claude mcp add -s user -t http bridge-dev \
  https://bridgemcp.net/api/v1/mcp/{virtual-mcp-id} \
  --header "Authorization: Bearer brg_live_sk_..."

Run /mcp inside Claude Code to confirm the server is connected.

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "bridge-dev": {
      "url": "https://bridgemcp.net/api/v1/mcp/{virtual-mcp-id}",
      "headers": {
        "Authorization": "Bearer brg_live_sk_..."
      }
    }
  }
}

VS Code (GitHub Copilot)

Add to .vscode/mcp.json:

{
  "servers": {
    "bridge-dev": {
      "type": "http",
      "url": "https://bridgemcp.net/api/v1/mcp/{virtual-mcp-id}",
      "headers": {
        "Authorization": "Bearer brg_live_sk_..."
      }
    }
  }
}