Quick Start

This guide walks you through deploying your first MCP Gateway and connecting MCP servers.

Create an MCPGateway

First, create an MCPGateway resource that will serve as the entry point for your MCP servers:

apiVersion: mcp-gateway.ohcs.io/v1alpha1
kind: MCPGateway
metadata:
  name: my-gateway
  namespace: default
spec:
  domain: mcp.example.com
  replicas: 1
  tls:
    enabled: true
    clusterIssuer: letsencrypt-prod

Apply it:

kubectl apply -f gateway.yaml

Add a Remote MCP Server

Connect to an external MCP server using MCPRemoteServer:

apiVersion: mcp-gateway.ohcs.io/v1alpha1
kind: MCPRemoteServer
metadata:
  name: context7
  namespace: default
spec:
  gatewayRef:
    name: my-gateway
  path: /context7
  url: https://mcp.context7.com/mcp
  transport: http

Add a Container MCP Server

Run an MCP server as a container using MCPContainerServer:

apiVersion: mcp-gateway.ohcs.io/v1alpha1
kind: MCPContainerServer
metadata:
  name: github
  namespace: default
spec:
  gatewayRef:
    name: my-gateway
  path: /github
  transport: stdio
  template:
    spec:
      containers:
      - name: mcp-server
        image: ghcr.io/github/github-mcp-server
        envFrom:
        - secretRef:
            name: github-credentials

Test Your Gateway

Once deployed, you can access your MCP servers through the gateway:

# List available servers
curl https://mcp.example.com/

Example response:

{
  "servers": [
    {
      "path": "/context7",
      "type": "remote",
      "transport": "http",
      "url": "https://mcp.context7.com/mcp"
    },
    {
      "path": "/github",
      "type": "stdio"
    }
  ]
}
# Connect to a specific server
curl https://mcp.example.com/context7

Configure Claude

To use MCP servers through the gateway with Claude, add them to your Claude configuration.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.example.com/context7"
    },
    "github": {
      "type": "http",
      "url": "https://mcp.example.com/github"
    }
  }
}

Claude Code (CLI)

Edit ~/.claude/settings.json:

{
  "mcpServers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.example.com/context7"
    },
    "github": {
      "type": "http",
      "url": "https://mcp.example.com/github"
    }
  }
}

With Authentication

If your gateway requires authentication, add the Authorization header:

{
  "mcpServers": {
    "context7": {
      "type": "http",
      "url": "https://mcp.example.com/context7",
      "headers": {
        "Authorization": "Bearer your-token-here"
      }
    }
  }
}

Next Steps