# forge-quality-score

`station__forge__forge-quality-score` · external (needs EXECUTION_BACKEND_URL configured) · domain `forge` · pv-relevance `non-pv`

Compute forge quality score: Q = 0.40×prim + 0.25×combat + 0.20×turn + 0.15×survival

> **Note:** This tool routes through an external execution backend. If `EXECUTION_BACKEND_URL` is unset on the server, calls return JSON-RPC error `-32603 "Tool execution backend not configured"`. Tools with `backend: native` execute in-process and are always callable.

## Agent metadata

- `idempotent`: unknown
- `read_only`: unknown
- `expected_latency_ms`: unknown (not yet contract-tested)
- `cost_tokens_estimate`: unknown

## Input schema

- `actual_turns` *integer* (required) — Actual turns taken
- `current_hp` *integer* (required) — Current HP
- `enemies_killed` *integer* (required) — Enemies killed
- `enemies_seen` *integer* (required) — Total enemies seen
- `ideal_turns` *integer* (required) — Ideal turns (floor × 40)
- `max_hp` *integer* (required) — Maximum HP
- `primitives_collected` *integer* (required) — Primitives collected (0-16)

## Example call

```json
POST /api/mcp
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "station__forge__forge-quality-score",
    "arguments": {
      "actual_turns": 0,
      "current_hp": 0,
      "enemies_killed": 0,
      "enemies_seen": 0,
      "ideal_turns": 0,
      "max_hp": 0,
      "primitives_collected": 0
    }
  }
}
```

## Related

- [/tools](/tools) — all 3062 tools
- [/tools/forge__forge-quality-score](/tools/forge__forge-quality-score) — HTML page
- [/tools/forge__forge-quality-score/json](/tools/forge__forge-quality-score/json) — JSON form (agent-friendly)
- [/api/mcp](/api/mcp) — endpoint
- [/AGENTS.md](/AGENTS.md) — agent guide
