# Kerbside F1

> Free Formula 1 stats: standings, title maths, teammate battles and records, each linked to source.

- name: racing.kerbside/f1
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 82/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/racing.kerbside%2Ff1
- tools: https://api.protogrid.dev/v1/servers/racing.kerbside%2Ff1/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "f1": {
      "type": "http",
      "url": "https://kerbside.racing/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-96% +updated-6d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 82/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 88 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 10 of 10 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: lap1_performance (destructiveHint); search (destructiveHint); peak_finder (destructiveHint); …
- pass `tools.token_cost`: about 1,400 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`, `stability.new_links`: tool history recorded for 5 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 10, about 1,400 tokens to load them all
- tool set hash: b7b2c04d23a2e759a1e77cce92f62261
- tools last changed: 2026-11-10T01:39:23.155Z
- badge: [![protogrid quality](https://protogrid.dev/badge/racing.kerbside/f1.svg)](https://protogrid.dev/servers/racing.kerbside/f1)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-10 `get_record` changed (title, description, inputSchema) **meaning changed**
  - before: One all-time driver record board from /records, top N with every driver tied at the cut.
  - after: One all-time record board from /records, top N with every entry tied at the cut. Mostly driver boards; wins_by_nationality ranks nationalities (kind "nationality", no url); distinct_circuit_wins ranks drivers by different circuits won at, best_circuit_poles by poles at their best circuit (detail names it).

Full history: https://api.protogrid.dev/v1/servers/racing.kerbside%2Ff1/changes

## Remotes

- https://kerbside.racing/api/mcp (streamable-http, auth none, reachable true, uptime30d 0.95652175)

## Packages

_none_

## Tools (10)

- `championship_math`: For the current season: each driver's and constructor's points, the most they can still score in the remaining races (today's points table, sprints included), and whether they can still win the title.
- `championship_standings`: Drivers' championship standings of a season after a given round (default: the latest round with results), with the points each driver scored in that round. The final round of a finished season is the final championship table: the champion and the margin.
- `driver_milestones`: Active drivers close to a round-number career milestone (e.g. 100th podium) or an all-time team record, with how far off they are.
- `get_record`: One all-time record board from /records, top N with every entry tied at the cut. Mostly driver boards; wins_by_nationality ranks nationalities (kind "nationality", no url); distinct_circuit_wins ranks drivers by different circuits won at, best_circuit_poles by poles at their best circuit (detail names it).
- `lap1_performance`: Per driver, the average places gained or lost on the opening lap over a season's races and sprints (seasons with position data: 2023 on).
- `peak_finder`: Drivers ranked by their best run of 3, 5 or 10 consecutive seasons (every season raced), by points, wins, podiums or win rate.
- `power_ranking`: Kerbside's Power Score ranking of a season's drivers (default weights), with the four component scores. A site-defined metric: the definition is returned with the data.
- `search`: Resolve a name to Kerbside drivers, teams (marques) and races, with their Kerbside URLs. A driver slug is the last part of its URL (/drivers/<slug>); other tools take that slug.
- `teammate_head_to_head`: Qualifying and race head-to-head between two drivers who were teammates (from 1981), overall and per season, for each team they shared.
- `what_if`: A season's drivers' championship re-scored with another points system, beside the actual standings. Systems, by points from 1st down: current 25-18-15-12-10-8-6-4-2-1 + fastest lap; classic 10-6-4-3-2-1; pre2003 10-8-6-5-4-3-2-1; winner_takes_all 25; linear 20…1.
