Race Calendar F1
REMOTE · RACECALENDAR.APP · SCANNED SEP 20
Anonymous read-only Formula 1 tools, resources, prompts, completion, and interactive dashboard.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability86
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 1573 tokens (~92/item across 17 items; 15 tools + 2 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
How do I install the Race Calendar F1 MCP server?
Race Calendar F1 is a hosted endpoint at https://racecalendar.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · racecalendar.app
claude mcp add --transport http app-racecalendar-f1 'https://racecalendar.app/mcp'
{
"mcpServers": {
"app-racecalendar-f1": {
"url": "https://racecalendar.app/mcp"
}
}
} {
"servers": {
"app-racecalendar-f1": {
"type": "http",
"url": "https://racecalendar.app/mcp"
}
}
} [mcp_servers.app-racecalendar-f1] url = "https://racecalendar.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"app-racecalendar-f1": {
"type": "remote",
"url": "https://racecalendar.app/mcp",
"enabled": true
}
}
} openclaw mcp add app-racecalendar-f1 --url 'https://racecalendar.app/mcp' --transport streamable-http
mcp_servers:
app-racecalendar-f1:
url: "https://racecalendar.app/mcp" {
"McpServers": {
"app-racecalendar-f1": {
"Transport": "http",
"Url": "https://racecalendar.app/mcp"
}
}
} assistant mcp add app-racecalendar-f1 -t streamable-http -u 'https://racecalendar.app/mcp'
{
"mcpServers": {
"app-racecalendar-f1": {
"type": "http",
"url": "https://racecalendar.app/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Sept 26 +2
- Stability: fail → pass ▲ security
- 26 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83.
- 12 Aug 26 0
- Server version: 4.0.0 → 4.0.1 functional
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 5 Aug 26 0
- Stability: 0.30 → fail ▼ security
- Tool “get_f1_driver_session_summary” was removed ▼ security
- Tool “get_f1_session_analysis” was removed ▼ security
- Tool “get_f1_session_results” rewrote its description, which is the text the model reads security
- Tool “get_f1_starting_grid” rewrote its description, which is the text the model reads security
- Server version: 3.1.0 → 4.0.0 functional
- New tool “get_f1_race_classification” functional
- 2 Aug 26 0
- Schema quality: unverified → excellent ▲ functional
- 1 Aug 26 0
- Schema quality: excellent → unverified ▼ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://racecalendar.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=racecalendar.app | CN=WE1,O=Google Trust Services,C=US | 15 Sept 2026 | 14 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 4b66cc116672e3510eb0d9d8871f792b |
| SANs: racecalendar.app, www.racecalendar.app, *.www.racecalendar.app | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of racecalendar.app. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| racecalendar.app. | present | 2371 | 13 | Verified |
| racecalendar.app. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| referrer-policy | strict-origin-when-cross-origin |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://racecalendar.app/mcp | Verified | 200 | |
| http (plaintext) | http://racecalendar.app/mcp | HTTPS enforced | 301 | https://racecalendar.app/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare_f1_competitors Compare F1 Competitors ~85
Compare two Formula 1 drivers or constructors in one season using sourced standings and explicitly described calculations.
| Name | Type | Req | Description |
|---|---|---|---|
| competitorType | string | yes | Compare two drivers or two constructors. |
| left | string | yes | First driver or constructor name to compare. |
| right | string | yes | Second driver or constructor name to compare. |
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| comparison | object | yes | – |
| generatedAt | string | yes | – |
| kind | string | yes | – |
| leader | string | yes | – |
| left | object | yes | – |
| methodology | string | yes | – |
| right | object | yes | – |
| source | object | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_circuit F1 Circuit Details ~127
Get circuit metadata and normalized track geometry for a race weekend selected by meeting key, round, race name, or slug.
| Name | Type | Req | Description |
|---|---|---|---|
| meetingKey | integer | – | OpenF1 meeting key for the race weekend. |
| raceName | string | – | Human-friendly Grand Prix or race name, matched case-insensitively. |
| round | integer | – | Championship round number for the season. |
| slug | string | – | Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix. |
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| circuit | object | yes | – |
| meetingKey | integer | yes | – |
| raceName | string | yes | – |
| round | integer | yes | – |
| sourceUrl | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_historical_race_result Historical race result ~80
Get one complete historical Formula 1 race classification by season and championship round. Use only for a single race; for two or more races, call get_f1_historical_race_results once instead.
| Name | Type | Req | Description |
|---|---|---|---|
| round | integer | yes | Championship round number in the historical season. |
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| generatedAt | string | yes | – |
| race | object | yes | – |
| results | array | yes | – |
| round | integer | yes | – |
| sourceUrl | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_historical_race_results Historical race results ~78
Get 2 to 8 complete historical Formula 1 race classifications in one consolidated request, with per-race sources and bounded partial failures. Use once for multi-race questions instead of repeating get_f1_historical_race_result.
| Name | Type | Req | Description |
|---|---|---|---|
| races | array | yes | Two to eight historical races to retrieve in one request. |
| Name | Type | Req | Description |
|---|---|---|---|
| races | array | yes | – |
| unavailable | array | yes | – |
No examples provided.
get_f1_live_session Live F1 Session Status ~98
Get the latest explicitly timestamped status for the current or selected Formula 1 session. Returns unavailable rather than implying stale data is live.
| Name | Type | Req | Description |
|---|---|---|---|
| meetingKey | integer | – | Optional OpenF1 meeting key. Omit to discover the current live session. |
| sessionKey | integer | – | Optional OpenF1 session key. Requires meetingKey when supplied. |
| year | integer | – | Season to inspect. Defaults to the current UTC season. |
| Name | Type | Req | Description |
|---|---|---|---|
| dataDelaySeconds | – | yes | – |
| dataTimestamp | – | yes | – |
| endDate | – | yes | – |
| isLive | boolean | yes | – |
| meetingKey | – | yes | – |
| message | – | yes | – |
| observedAt | string | yes | – |
| sessionKey | – | yes | – |
| sessionKind | – | yes | – |
| sessionName | – | yes | – |
| sourceUrl | string | yes | – |
| startDate | – | yes | – |
| state | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_next_event Next F1 Event ~98
Find the next Formula 1 session or race weekend from a UTC timestamp, including an event already in progress.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | UTC timestamp to search from. Defaults to the current time. |
| level | string | – | Return the next individual session or the next race weekend. Defaults to session. |
| year | integer | – | Season to search. Defaults to the season containing the search timestamp, then the following season if needed. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| event | – | yes | – |
| level | string | yes | – |
| searchedFrom | string | yes | – |
| sourceUrl | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_race_classification F1 Race Classification ~154
Get a published F1DB race, qualifying, or sprint classification by season and a friendly race selector, without requiring meeting or session keys.
| Name | Type | Req | Description |
|---|---|---|---|
| classification | string | – | Published F1DB classification to return. Defaults to the Grand Prix race. |
| meetingKey | integer | – | OpenF1 meeting key for the race weekend. |
| raceName | string | – | Human-friendly Grand Prix or race name, matched case-insensitively. |
| round | integer | – | Championship round number for the season. |
| slug | string | – | Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix. |
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| available | boolean | yes | – |
| canonicalUrl | string | yes | – |
| classification | string | yes | – |
| meetingKey | integer | yes | – |
| raceName | string | yes | – |
| resultCount | integer | yes | – |
| results | array | yes | – |
| round | integer | yes | – |
| sessionKey | – | yes | – |
| source | – | yes | – |
| sourceUrl | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_race_preview Spoiler-safe F1 Race Preview ~132
Get a structurally spoiler-safe race-weekend briefing containing schedule and venue context but no classifications, winners, podiums, or result fields.
| Name | Type | Req | Description |
|---|---|---|---|
| meetingKey | integer | – | OpenF1 meeting key for the race weekend. |
| raceName | string | – | Human-friendly Grand Prix or race name, matched case-insensitively. |
| round | integer | – | Championship round number for the season. |
| slug | string | – | Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix. |
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| raceWeekend | object | yes | – |
| sourceUrl | string | yes | – |
| spoilerSafe | boolean | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_race_weekend F1 Race Weekend ~132
Get one public Formula 1 race weekend by season and exactly one friendly selector: meeting key, round, race name, or slug.
| Name | Type | Req | Description |
|---|---|---|---|
| meetingKey | integer | – | OpenF1 meeting key for the race weekend. |
| raceName | string | – | Human-friendly Grand Prix or race name, matched case-insensitively. |
| round | integer | – | Championship round number for the season. |
| slug | string | – | Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix. |
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| raceWeekend | object | yes | – |
| sourceUrl | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_season_schedule F1 Season Schedule ~49
Get the verified public Formula 1 schedule for a season, including UTC session times, freshness, results, and canonical links.
| Name | Type | Req | Description |
|---|---|---|---|
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| generatedAt | string | yes | – |
| lastVerifiedAt | string | yes | – |
| raceCount | integer | yes | – |
| races | array | yes | – |
| refreshIntervalSeconds | integer | yes | – |
| source | string | yes | – |
| sourceUrl | string | yes | – |
| staleAfter | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_session_results F1 Session Results ~83
Get the published F1DB classification for one Formula 1 session by season, meeting key, and session key, with positions and available result details.
| Name | Type | Req | Description |
|---|---|---|---|
| meetingKey | integer | yes | OpenF1 meeting key for the race weekend. |
| sessionKey | integer | yes | OpenF1 session key. |
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| meetingKey | integer | yes | – |
| resultCount | integer | yes | – |
| results | array | yes | – |
| sessionKey | integer | yes | – |
| source | string | yes | – |
| sourceUrl | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_standings F1 Standings ~42
Get the public Formula 1 driver and constructor standings for a season with canonical source links.
| Name | Type | Req | Description |
|---|---|---|---|
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| constructors | array | yes | – |
| drivers | array | yes | – |
| sessionKey | integer | yes | – |
| sourceUrl | string | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_starting_grid F1 Starting Grid ~86
Get the published F1DB starting grid for one Formula 1 session by season, meeting key, and session key; use session results for the final classification.
| Name | Type | Req | Description |
|---|---|---|---|
| meetingKey | integer | yes | OpenF1 meeting key for the race weekend. |
| sessionKey | integer | yes | OpenF1 session key. |
| year | integer | yes | Formula 1 season year. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalUrl | string | yes | – |
| entryCount | integer | yes | – |
| meetingKey | integer | yes | – |
| sessionKey | integer | yes | – |
| source | string | yes | – |
| sourceUrl | string | yes | – |
| startingGrid | array | yes | – |
| year | integer | yes | – |
No examples provided.
get_f1_updates Recent F1 Changes ~79
Get recent public schedule, standings, and result changes after an optional timestamp or cursor.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque continuation cursor returned by an earlier updates request. |
| limit | integer | – | Maximum changes to return. Defaults to 20 and never exceeds 50. |
| since | string | – | Only return changes after this UTC timestamp. |
| Name | Type | Req | Description |
|---|---|---|---|
| generatedAt | string | yes | – |
| items | array | yes | – |
| nextCursor | – | yes | – |
| since | – | yes | – |
No examples provided.
search_f1_history Search F1 History ~105
Search the Formula 1 history index for drivers, teams, circuits, and races with bounded, cursor-based results.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque continuation cursor returned by an earlier history search. |
| limit | integer | – | Maximum results to return. Defaults to 10 and never exceeds 20. |
| query | string | yes | Driver, team, circuit, or race text to find. |
| types | array | – | Optional unique entity types to include in the search. |
| Name | Type | Req | Description |
|---|---|---|---|
| generatedAt | string | yes | – |
| items | array | yes | – |
| nextCursor | – | yes | – |
| query | string | yes | – |
| sourceUpdatedAt | – | yes | – |
| types | array | yes | – |
No examples provided.
What is the Race Calendar F1 MCP server?
Race Calendar F1 is an MCP server listed in the public MCP registry as app.racecalendar/f1. Anonymous read-only Formula 1 tools, resources, prompts, completion, and interactive dashboard. This page covers its hosted endpoint (https://racecalendar.app/mcp).
Is the Race Calendar F1 MCP server safe to use?
Race Calendar F1 scores 91 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Race Calendar F1 MCP server expose?
Race Calendar F1 exposes 15 tools: get_f1_season_schedule, get_f1_standings, get_f1_next_event, get_f1_session_results, get_f1_starting_grid, and 10 more. Their descriptions and schemas cost roughly 1,428 tokens of context every time the server is loaded.
Does the Race Calendar F1 MCP server require authentication?
No. We connected to Race Calendar F1 without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Race Calendar F1 MCP server still maintained?
Race Calendar F1 is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.