Skip to main content
Glama
README.md
# five-mcp

MCP server for the [FIVE Persona Engine](https://fiveengine.dev) — an LLM persona constraint engine that generates structured JSON constraints to eliminate persona drift. Instead of describing personality in words (which LLMs interpret differently each turn), FIVE defines behavioral parameters the LLM executes as a recipe. [See how it works →](https://github.com/kiro0x/five-character-engine#the-fix-dont-let-the-llm-interpret-personality-at-all)

> **Measured:** with the constraint JSON + free harness, the demo character survived a **120-turn pressure test with zero persona breaks** (plain prompt: 8 breaks; JSON alone: 1). [Numbers, transcripts and scripts →](https://github.com/kiro0x/five-character-engine#measured-does-it-actually-hold)

**Free — no API key, no account.**

## Quick Start

### Install

```bash
pip install five-mcp
```

### Use with Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "five-character-engine": {
      "command": "five-mcp"
    }
  }
}
```

That's it — no environment variables needed.

### Use with other MCP clients

Any MCP-compatible client can connect via stdio transport:

```bash
five-mcp
```

## Tool: `generate`

Generates persona constraints via the FIVE engine.

### Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `character_name` | string | Yes | Name of the character |
| `q1` – `q4` | A / B / C / D | Yes | Personality axis choices |
| `s1` – `s4` | 1–5 | No | Style sliders (default: 3) |
| `free_text` | string | No | Free-form description |

### Response

```json
{
  "status": "ok",
  "constraint": { "..." }
}
```

## Rate limits

The API is free. To keep it available to everyone, a light per-IP limit applies: **10 requests/min, 200 requests/day**. The free host may cold-start, so the first call can take up to a minute.

## Links

- **API & Docs:** [fiveengine.dev](https://fiveengine.dev)
- **GitHub:** [github.com/kiro0x/five-mcp](https://github.com/kiro0x/five-mcp)
- **Design philosophy & examples:** [five-character-engine README](https://github.com/kiro0x/five-character-engine)
- **Measured evaluation (120-turn drift test):** [five-character-engine eval/](https://github.com/kiro0x/five-character-engine/tree/main/eval)
- **Engine repo:** [github.com/kiro0x/five-character-engine](https://github.com/kiro0x/five-character-engine)

## License

MIT

mcp-name: io.github.kiro0x/five-mcp

TDQS

A3.8/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The single 'generate' tool has a clearly distinct purpose.

Naming Consistency4/5

The tool name 'generate' is a single verb, which is clear and follows a common convention. While there is no noun to form a verb_noun pattern, the name is consistent as the only tool.

Tool Count3/5

The server has only one tool, which feels thin for a general-purpose utility. However, for a very focused single-API function, it is borderline acceptable.

Completeness4/5

The tool covers the core functionality of generating persona constraints with many parameters. Minor gaps exist (e.g., no credit management or constraint listing), but the tool is complete for its stated purpose.

Maintenance

ActivityMaintained
ResponsivenessSyncing