# GoModel MCP server

> Aggregates upstream MCP servers and LLM providers behind a single authenticated HTTP endpoint with caching, cost tracking, and observability.

- Repository: https://github.com/ENTERPILOT/GoModel
- Page: https://hostedmcp.org/servers/enterpilot/gomodel
- Official: yes
- Transport: remote
- Stars: 1321
- License: MIT
- Latest version: 0.2.3

## Install

### Claude Code

```sh
claude mcp add --env 'GOMODEL_MASTER_KEY=<YOUR_GOMODEL_MASTER_KEY>' gomodel -- docker run -i --rm docker.io/enterpilot/gomodel:0.2.3
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "gomodel": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/enterpilot/gomodel:0.2.3"
      ],
      "env": {
        "GOMODEL_MASTER_KEY": "<YOUR_GOMODEL_MASTER_KEY>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "gomodel": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/enterpilot/gomodel:0.2.3"
      ],
      "env": {
        "GOMODEL_MASTER_KEY": "<YOUR_GOMODEL_MASTER_KEY>"
      }
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"gomodel","type":"stdio","command":"docker","args":["run","-i","--rm","docker.io/enterpilot/gomodel:0.2.3"],"env":{"GOMODEL_MASTER_KEY":"<YOUR_GOMODEL_MASTER_KEY>"}}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "gomodel": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/enterpilot/gomodel:0.2.3"
      ],
      "env": {
        "GOMODEL_MASTER_KEY": "<YOUR_GOMODEL_MASTER_KEY>"
      }
    }
  }
}
```

### Codex

```sh
codex mcp add gomodel --env 'GOMODEL_MASTER_KEY=<YOUR_GOMODEL_MASTER_KEY>' -- docker run -i --rm docker.io/enterpilot/gomodel:0.2.3
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.gomodel]
command = "docker"
args = ["run", "-i", "--rm", "docker.io/enterpilot/gomodel:0.2.3"]

[mcp_servers.gomodel.env]
GOMODEL_MASTER_KEY = "<YOUR_GOMODEL_MASTER_KEY>"
```

### Gemini CLI

```sh
gemini mcp add -s user -e 'GOMODEL_MASTER_KEY=<YOUR_GOMODEL_MASTER_KEY>' gomodel docker -- run -i --rm docker.io/enterpilot/gomodel:0.2.3
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "gomodel": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/enterpilot/gomodel:0.2.3"
      ],
      "env": {
        "GOMODEL_MASTER_KEY": "<YOUR_GOMODEL_MASTER_KEY>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `GOMODEL_MASTER_KEY` | no | yes | Gateway API key clients authenticate with; unset runs the gateway in unsafe (no-auth) mode. |
| `MCP_SERVERS` | no | no | JSON object of upstream MCP servers to aggregate, e.g. {"github":{"url":"https://api.githubcopilot.com/mcp/","headers":{"Authorization":"Bearer ${GITHUB_PAT}"}}}. Servers can also be declared in config.yaml or the admin dashboard. |
