Skip to main content
Glama
README.md
# FreeModel MCP

An MCP server for the [FreeModel](https://freemodel.online) gateway: look up the model catalogue, see what your key is allowed to call, and send a prompt — from inside Claude Code or any other MCP client.

```bash
npx freemodel-mcp
```

## The four tools

| Tool | Calls | Key needed |
|---|---|---|
| `freemodel_models` | `GET /v1/models` | no — the catalogue is public |
| `freemodel_tiers` | `GET /v1/tiers` | yes |
| `freemodel_account` | `GET /v1/me` | yes |
| `freemodel_chat` | `POST /v1/chat/completions` | yes |

**`freemodel_models`** — the catalogue, the same endpoint the counts on the site are derived from. Filter by modality (`chat`, `image`, `video`, `tts`, `asr`, `embedding`, `rerank`) or by id substring.

**`freemodel_tiers`** — the three tier aliases and what is in each band: `fm-v1-lite` (free, any account), `fm-v1-standard`, `fm-v1-pro`. These are pools rather than single models: asking for a tier means "any model in this band", which is what lets a request survive one provider going down.

**`freemodel_account`** — subscriptions and when they expire, which tiers this key may call, usage so far.

**`freemodel_chat`** — one prompt, one answer. Defaults to `fm-v1-lite`; pass any id from `freemodel_models` to pin a specific model.

## Quick start

Get a key at [freemodel.online/console](https://freemodel.online/console) → API keys.

### Claude Code (npx)

```json
{
  "mcpServers": {
    "freemodel": {
      "command": "npx",
      "args": ["-y", "freemodel-mcp"],
      "env": { "FREEMODEL_KEY": "sk-your-key" }
    }
  }
}
```

### Codex CLI

```
OPENAI_BASE_URL = https://freemodel.online/v1
OPENAI_API_KEY  = sk-your-key
```

### From source

```bash
git clone https://github.com/yummy342/freemodel-mcp.git
cd freemodel-mcp && npm install
```

```json
{
  "mcpServers": {
    "freemodel": {
      "command": "node",
      "args": ["/path/to/freemodel-mcp/server.js"],
      "env": { "FREEMODEL_KEY": "sk-your-key" }
    }
  }
}
```

## Configuration

| Variable | Default | Meaning |
|---|---|---|
| `FREEMODEL_KEY` | — | Your gateway key. Only the keyed tools need it. |
| `FREEMODEL_API` | `https://freemodel.online/v1` | API root. Change it to point at another deployment. |

The free tier needs no card. `fm-v1-standard` and `fm-v1-pro` need a subscription, which is bought on the account portal at [alli.website](https://alli.website/) — without it those calls are refused with a 402, never billed silently.

## What this package does not do

- **No routing across your own provider keys.** Version 1.x called the `/api/gateway/agent/*` endpoints, which pick among the provider keys attached to an account and answer `No platforms configured` when none are attached. This package talks to the gateway's own catalogue and tiers instead, so a plain key is enough.
- **No streaming yet.** `freemodel_chat` waits for the full answer.
- **No embeddings or image calls.** Those exist on the gateway (`auto/embed`, `auto/image`, and the rest), but this package does not wrap them.

## License

MIT

TDQS

A4/5.0

Scored across 5 tools

Disambiguation4/5

Each tool has a clear primary purpose: health checks, session status, model listing, recommendation, and execution. However, freemodel_key_health and freemodel_status both touch on health/status, which could cause slight confusion, though their descriptions distinguish them.

Naming Consistency5/5

All tool names follow the consistent pattern freemodel_<verb_noun> (e.g., freemodel_key_health, freemodel_models). The verb is implicit in some (models, status), but the prefix unifies them perfectly.

Tool Count5/5

Five tools is well-scoped for a model routing/execution server. Each tool covers a distinct step in the workflow, and nothing feels redundant or missing.

Completeness5/5

The tool surface covers the full lifecycle from health check and status to listing models, getting recommendations, and executing tasks. There are no obvious dead ends; the workflow is clear and self-contained.

Maintenance

ActivityMaintained
ResponsivenessNo issues