MCP 服务器

Race Calendar F1

app.racecalendar/f1
数据与分析 媒体与内容 公开且可连接 MCP 2025-11-25

此 MCP 可以做什么

Provides Formula 1 schedules, race and session results, standings, circuit data, historical searches, and live session status.

compare_f1_competitors
Compare F1 Competitors
Compare two Formula 1 drivers or constructors in one season using sourced standings and explicitly described calculations.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['competitorType', 'left', 'right', 'year'], 'properties': {'left': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'First driver or constructor name to compare.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'right': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Second driver or constructor name to compare.'}, 'competitorType': {'enum': ['driver', 'constructor'], 'type': 'string', 'description': 'Compare two drivers or two constructors.'}}, 'description': 'Compare two drivers or two constructors within one Formula 1 season.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'kind', 'generatedAt', 'leader', 'left', 'right', 'comparison', 'methodology', 'source'], 'properties': {'kind': {'enum': ['driver', 'constructor'], 'type': 'string'}, 'left': {'type': 'object', 'required': ['id', 'name', 'nationality', 'points', 'position', 'teams', 'wins'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'wins': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'teams': {'type': 'array', 'items': {'type': 'string'}}, 'points': {'type': 'number'}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'nationality': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'right': {'type': 'object', 'required': ['id', 'name', 'nationality', 'points', 'position', 'teams', 'wins'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'wins': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'teams': {'type': 'array', 'items': {'type': 'string'}}, 'points': {'type': 'number'}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'nationality': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'leader': {'enum': ['left', 'right', 'tie'], 'type': 'string'}, 'source': {'type': 'object', 'required': ['label', 'updatedAt', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'label': {'type': 'string'}, 'updatedAt': {'type': 'string'}}, 'additionalProperties': False}, 'comparison': {'type': 'object', 'required': ['pointsDifference', 'positionAdvantage', 'winsDifference'], 'properties': {'winsDifference': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'pointsDifference': {'type': 'number'}, 'positionAdvantage': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'generatedAt': {'type': 'string'}, 'methodology': {'type': 'string'}}, 'description': 'Sourced same-season Formula 1 driver or constructor comparison with explicit methodology.', 'additionalProperties': False}
get_f1_circuit
F1 Circuit Details
Get circuit metadata and normalized track geometry for a race weekend selected by meeting key, round, race name, or slug.
只读 幂等
输入模式
{'type': 'object', 'oneOf': [{'required': ['meetingKey']}, {'required': ['round']}, {'required': ['raceName']}, {'required': ['slug']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 160, 'minLength': 1, 'description': 'Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'round': {'type': 'integer', 'maximum': 99, 'minimum': 1, 'description': 'Championship round number for the season.'}, 'raceName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Human-friendly Grand Prix or race name, matched case-insensitively.'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'OpenF1 meeting key for the race weekend.', 'exclusiveMinimum': 0}}, 'description': 'Select one race weekend by season and exactly one of meetingKey, round, raceName, or slug.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'meetingKey', 'round', 'raceName', 'circuit', 'canonicalUrl', 'sourceUrl'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'circuit': {'type': 'object', 'required': ['name', 'key', 'type', 'location', 'country', 'countryCode', 'imageUrl', 'rotationDegrees', 'points'], 'properties': {'key': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'name': {'type': 'string'}, 'type': {'type': ['string', 'null']}, 'points': {'type': 'array', 'items': {'type': 'object', 'required': ['x', 'y'], 'properties': {'x': {'type': 'number'}, 'y': {'type': 'number'}}, 'additionalProperties': False}}, 'country': {'type': 'string'}, 'imageUrl': {'type': ['string', 'null']}, 'location': {'type': 'string'}, 'countryCode': {'type': ['string', 'null']}, 'rotationDegrees': {'type': 'number'}}, 'additionalProperties': False}, 'raceName': {'type': 'string'}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'description': 'Formula 1 circuit identity, venue metadata, normalized geometry, and canonical links.', 'additionalProperties': False}
get_f1_historical_race_result
Historical race result
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.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['round', 'year'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'round': {'type': 'integer', 'maximum': 99, 'minimum': 1, 'description': 'Championship round number in the historical season.'}}, 'description': 'Select a historical Formula 1 race by season and championship round.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'round', 'generatedAt', 'canonicalUrl', 'sourceUrl', 'race', 'results'], 'properties': {'race': {'type': 'object', 'required': ['name', 'date', 'time', 'circuit'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': ['string', 'null']}, 'circuit': {'type': 'object', 'required': ['id', 'name', 'locality', 'country', 'latitude', 'longitude'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'country': {'type': 'string'}, 'latitude': {'type': ['number', 'null']}, 'locality': {'type': 'string'}, 'longitude': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['position', 'positionText', 'carNumber', 'driver', 'constructor', 'grid', 'laps', 'points', 'status', 'time', 'fastestLap'], 'properties': {'grid': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'laps': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'time': {'type': ['string', 'null']}, 'driver': {'type': 'object', 'required': ['id', 'name', 'code', 'nationality', 'permanentNumber'], 'properties': {'id': {'type': 'string'}, 'code': {'type': ['string', 'null']}, 'name': {'type': 'string'}, 'nationality': {'type': 'string'}, 'permanentNumber': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'points': {'type': 'number'}, 'status': {'type': 'string'}, 'position': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'carNumber': {'type': ['string', 'null']}, 'fastestLap': {'anyOf': [{'type': 'object', 'required': ['lap', 'rank', 'time', 'averageSpeedKph'], 'properties': {'lap': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'rank': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'time': {'type': ['string', 'null']}, 'averageSpeedKph': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'constructor': {'type': 'object', 'required': ['id', 'name', 'nationality'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'nationality': {'type': 'string'}}, 'additionalProperties': False}, 'positionText': {'type': 'string'}}, 'additionalProperties': False}}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'generatedAt': {'type': 'string'}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'description': 'Complete historical Formula 1 race classification with driver, constructor, fastest-lap, and source details.', 'additionalProperties': False}
get_f1_historical_race_results
Historical race results
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.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['races'], 'properties': {'races': {'type': 'array', 'items': {'type': 'object', 'required': ['round', 'year'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'round': {'type': 'integer', 'maximum': 99, 'minimum': 1, 'description': 'Championship round number in the historical season.'}}, 'description': 'Select a historical Formula 1 race by season and championship round.', 'additionalProperties': False}, 'maxItems': 8, 'minItems': 2, 'description': 'Two to eight historical races to retrieve in one request.', 'uniqueItems': True}}, 'description': 'Select 2 to 8 historical Formula 1 races for one consolidated multi-race lookup.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['races', 'unavailable'], 'properties': {'races': {'type': 'array', 'items': {'type': 'object', 'required': ['year', 'round', 'generatedAt', 'canonicalUrl', 'sourceUrl', 'race', 'results'], 'properties': {'race': {'type': 'object', 'required': ['name', 'date', 'time', 'circuit'], 'properties': {'date': {'type': 'string'}, 'name': {'type': 'string'}, 'time': {'type': ['string', 'null']}, 'circuit': {'type': 'object', 'required': ['id', 'name', 'locality', 'country', 'latitude', 'longitude'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'country': {'type': 'string'}, 'latitude': {'type': ['number', 'null']}, 'locality': {'type': 'string'}, 'longitude': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['position', 'positionText', 'carNumber', 'driver', 'constructor', 'grid', 'laps', 'points', 'status', 'time', 'fastestLap'], 'properties': {'grid': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'laps': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'time': {'type': ['string', 'null']}, 'driver': {'type': 'object', 'required': ['id', 'name', 'code', 'nationality', 'permanentNumber'], 'properties': {'id': {'type': 'string'}, 'code': {'type': ['string', 'null']}, 'name': {'type': 'string'}, 'nationality': {'type': 'string'}, 'permanentNumber': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'points': {'type': 'number'}, 'status': {'type': 'string'}, 'position': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'carNumber': {'type': ['string', 'null']}, 'fastestLap': {'anyOf': [{'type': 'object', 'required': ['lap', 'rank', 'time', 'averageSpeedKph'], 'properties': {'lap': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'rank': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'time': {'type': ['string', 'null']}, 'averageSpeedKph': {'type': ['number', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'constructor': {'type': 'object', 'required': ['id', 'name', 'nationality'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'nationality': {'type': 'string'}}, 'additionalProperties': False}, 'positionText': {'type': 'string'}}, 'additionalProperties': False}}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'generatedAt': {'type': 'string'}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'description': 'Complete historical Formula 1 race classification with driver, constructor, fastest-lap, and source details.', 'additionalProperties': False}, 'maxItems': 8}, 'unavailable': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message', 'retryable', 'round', 'year'], 'properties': {'code': {'type': 'string'}, 'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'message': {'type': 'string'}, 'retryable': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 8}}, 'description': 'Consolidated historical Formula 1 race classifications with explicit per-race unavailability details.', 'additionalProperties': False}
get_f1_live_session
Live F1 Session Status
Get the latest explicitly timestamped status for the current or selected Formula 1 session. Returns unavailable rather than implying stale data is live.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Season to inspect. Defaults to the current UTC season.'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Optional OpenF1 meeting key. Omit to discover the current live session.', 'exclusiveMinimum': 0}, 'sessionKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Optional OpenF1 session key. Requires meetingKey when supplied.', 'exclusiveMinimum': 0}}, 'description': 'Inspect the current Formula 1 session or select one by season, meeting key, and session key.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'meetingKey', 'sessionKey', 'sessionName', 'sessionKind', 'startDate', 'endDate', 'state', 'isLive', 'observedAt', 'dataTimestamp', 'dataDelaySeconds', 'message', 'sourceUrl'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'state': {'enum': ['upcoming', 'live', 'completed', 'unavailable'], 'type': 'string'}, 'isLive': {'type': 'boolean'}, 'endDate': {'type': ['string', 'null']}, 'message': {'type': ['string', 'null']}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'startDate': {'type': ['string', 'null']}, 'meetingKey': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'observedAt': {'type': 'string'}, 'sessionKey': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'sessionKind': {'anyOf': [{'enum': ['practice', 'sprintQualifying', 'sprint', 'qualifying', 'race', 'other'], 'type': 'string'}, {'type': 'null'}]}, 'sessionName': {'type': ['string', 'null']}, 'dataTimestamp': {'type': ['string', 'null']}, 'dataDelaySeconds': {'anyOf': [{'type': 'number', 'minimum': 0}, {'type': 'null'}]}}, 'description': 'Explicitly timestamped Formula 1 session state with data freshness and availability context.', 'additionalProperties': False}
get_f1_next_event
Next F1 Event
Find the next Formula 1 session or race weekend from a UTC timestamp, including an event already in progress.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'from': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$', 'description': 'UTC timestamp to search from. Defaults to the current time.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Season to search. Defaults to the season containing the search timestamp, then the following season if needed.'}, 'level': {'enum': ['session', 'raceWeekend'], 'type': 'string', 'default': 'session', 'description': 'Return the next individual session or the next race weekend. Defaults to session.'}}, 'description': 'Select the next Formula 1 session or race weekend from a UTC point in time.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'searchedFrom', 'level', 'canonicalUrl', 'sourceUrl', 'event'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'event': {'anyOf': [{'oneOf': [{'type': 'object', 'required': ['level', 'state', 'meetingKey', 'round', 'raceName', 'circuit', 'country', 'sessionKey', 'sessionName', 'sessionKind', 'startDate', 'endDate', 'canonicalUrl'], 'properties': {'level': {'type': 'string', 'const': 'session'}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'state': {'enum': ['live', 'upcoming'], 'type': 'string'}, 'circuit': {'type': 'string'}, 'country': {'type': 'string'}, 'endDate': {'type': 'string'}, 'raceName': {'type': 'string'}, 'startDate': {'type': 'string'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sessionKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sessionKind': {'enum': ['practice', 'sprintQualifying', 'sprint', 'qualifying', 'race', 'other'], 'type': 'string'}, 'sessionName': {'type': 'string'}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['level', 'state', 'meetingKey', 'round', 'raceName', 'circuit', 'country', 'startDate', 'endDate', 'canonicalUrl'], 'properties': {'level': {'type': 'string', 'const': 'raceWeekend'}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'state': {'enum': ['live', 'upcoming'], 'type': 'string'}, 'circuit': {'type': 'string'}, 'country': {'type': 'string'}, 'endDate': {'type': 'string'}, 'raceName': {'type': 'string'}, 'startDate': {'type': 'string'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}]}, {'type': 'null'}]}, 'level': {'enum': ['session', 'raceWeekend'], 'type': 'string'}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'searchedFrom': {'type': 'string'}}, 'description': 'Next live or upcoming Formula 1 session or race weekend from the requested UTC instant.', 'additionalProperties': False}
get_f1_race_classification
F1 Race Classification
Get a published F1DB race, qualifying, or sprint classification by season and a friendly race selector, without requiring meeting or session keys.
只读 幂等
输入模式
{'type': 'object', 'oneOf': [{'required': ['meetingKey']}, {'required': ['round']}, {'required': ['raceName']}, {'required': ['slug']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 160, 'minLength': 1, 'description': 'Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'round': {'type': 'integer', 'maximum': 99, 'minimum': 1, 'description': 'Championship round number for the season.'}, 'raceName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Human-friendly Grand Prix or race name, matched case-insensitively.'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'OpenF1 meeting key for the race weekend.', 'exclusiveMinimum': 0}, 'classification': {'enum': ['race', 'qualifying', 'sprint'], 'type': 'string', 'default': 'race', 'description': 'Published F1DB classification to return. Defaults to the Grand Prix race.'}}, 'description': 'Select one race weekend and its race, qualifying, or sprint classification using a friendly selector.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'meetingKey', 'round', 'raceName', 'classification', 'sessionKey', 'available', 'source', 'canonicalUrl', 'sourceUrl', 'resultCount', 'results'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'source': {'anyOf': [{'type': 'string', 'const': 'F1DB'}, {'type': 'null'}]}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['driverNumber', 'driverName', 'headshotUrl', 'constructorName', 'position', 'positionLabel', 'numberOfLaps', 'points', 'duration', 'gapToLeader', 'status'], 'properties': {'points': {'type': ['number', 'null']}, 'status': {'anyOf': [{'enum': ['dnf', 'dns', 'dsq'], 'type': 'string'}, {'type': 'null'}]}, 'duration': {'type': ['string', 'null']}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'driverName': {'type': ['string', 'null']}, 'gapToLeader': {'type': ['string', 'null']}, 'headshotUrl': {'type': ['string', 'null']}, 'driverNumber': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'numberOfLaps': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'positionLabel': {'type': ['string', 'null']}, 'constructorName': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'raceName': {'type': 'string'}, 'available': {'type': 'boolean'}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sessionKey': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'resultCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'classification': {'enum': ['race', 'qualifying', 'sprint'], 'type': 'string'}}, 'description': 'Published F1DB race, qualifying, or sprint classification resolved with a human-friendly race selector.', 'additionalProperties': False}
get_f1_race_preview
Spoiler-safe F1 Race Preview
Get a structurally spoiler-safe race-weekend briefing containing schedule and venue context but no classifications, winners, podiums, or result fields.
只读 幂等
输入模式
{'type': 'object', 'oneOf': [{'required': ['meetingKey']}, {'required': ['round']}, {'required': ['raceName']}, {'required': ['slug']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 160, 'minLength': 1, 'description': 'Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'round': {'type': 'integer', 'maximum': 99, 'minimum': 1, 'description': 'Championship round number for the season.'}, 'raceName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Human-friendly Grand Prix or race name, matched case-insensitively.'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'OpenF1 meeting key for the race weekend.', 'exclusiveMinimum': 0}}, 'description': 'Select one race weekend by season and exactly one of meetingKey, round, raceName, or slug.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'spoilerSafe', 'canonicalUrl', 'sourceUrl', 'raceWeekend'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'raceWeekend': {'type': 'object', 'required': ['meetingKey', 'round', 'name', 'officialName', 'circuit', 'location', 'country', 'countryCode', 'startDate', 'endDate', 'status', 'statusNote', 'sessions'], 'properties': {'name': {'type': 'string'}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'status': {'enum': ['scheduled', 'cancelled'], 'type': 'string'}, 'circuit': {'type': 'string'}, 'country': {'type': 'string'}, 'endDate': {'type': 'string'}, 'location': {'type': 'string'}, 'sessions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'kind', 'startDate', 'endDate'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'kind': {'enum': ['practice', 'sprintQualifying', 'sprint', 'qualifying', 'race', 'other'], 'type': 'string'}, 'name': {'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}}, 'additionalProperties': False}}, 'startDate': {'type': 'string'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'statusNote': {'type': ['string', 'null']}, 'countryCode': {'type': ['string', 'null']}, 'officialName': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'spoilerSafe': {'type': 'boolean', 'const': True}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'description': 'Structurally spoiler-safe Formula 1 race-weekend schedule and venue preview with no result fields.', 'additionalProperties': False}
get_f1_race_weekend
F1 Race Weekend
Get one public Formula 1 race weekend by season and exactly one friendly selector: meeting key, round, race name, or slug.
只读 幂等
输入模式
{'type': 'object', 'oneOf': [{'required': ['meetingKey']}, {'required': ['round']}, {'required': ['raceName']}, {'required': ['slug']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 160, 'minLength': 1, 'description': 'Race Calendar race slug, such as round-6-miami-grand-prix or miami-grand-prix.'}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'round': {'type': 'integer', 'maximum': 99, 'minimum': 1, 'description': 'Championship round number for the season.'}, 'raceName': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Human-friendly Grand Prix or race name, matched case-insensitively.'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'OpenF1 meeting key for the race weekend.', 'exclusiveMinimum': 0}}, 'description': 'Select one race weekend by season and exactly one of meetingKey, round, raceName, or slug.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'canonicalUrl', 'sourceUrl', 'raceWeekend'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'raceWeekend': {'type': 'object', 'required': ['meetingKey', 'round', 'name', 'circuit', 'location', 'country', 'countryCode', 'startDate', 'endDate', 'status', 'statusNote', 'resultStatus', 'winner', 'resultSummary', 'sessions', 'officialName', 'latestResultKind', 'resultHighlights', 'recap'], 'properties': {'name': {'type': 'string'}, 'recap': {'anyOf': [{'type': 'object', 'required': ['summary', 'detail'], 'properties': {'detail': {'type': ['string', 'null']}, 'summary': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'status': {'enum': ['scheduled', 'cancelled'], 'type': 'string'}, 'winner': {'anyOf': [{'type': 'object', 'required': ['driverName', 'constructorName'], 'properties': {'driverName': {'type': 'string'}, 'constructorName': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'circuit': {'type': 'string'}, 'country': {'type': 'string'}, 'endDate': {'type': 'string'}, 'location': {'type': 'string'}, 'sessions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'kind', 'startDate', 'endDate'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'kind': {'enum': ['practice', 'sprintQualifying', 'sprint', 'qualifying', 'race', 'other'], 'type': 'string'}, 'name': {'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}}, 'additionalProperties': False}}, 'startDate': {'type': 'string'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'statusNote': {'type': ['string', 'null']}, 'countryCode': {'type': ['string', 'null']}, 'officialName': {'type': ['string', 'null']}, 'resultStatus': {'enum': ['notStarted', 'pending', 'available'], 'type': 'string'}, 'resultSummary': {'type': ['string', 'null']}, 'latestResultKind': {'anyOf': [{'enum': ['sprint', 'qualifying', 'race'], 'type': 'string'}, {'type': 'null'}]}, 'resultHighlights': {'type': 'array', 'items': {'type': 'object', 'required': ['position', 'driverName', 'constructorName'], 'properties': {'position': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'driverName': {'type': ['string', 'null']}, 'constructorName': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'description': 'Resolved Formula 1 race-weekend context with sessions, available classifications, recap, and source links.', 'additionalProperties': False}
get_f1_season_schedule
F1 Season Schedule
Get the verified public Formula 1 schedule for a season, including UTC session times, freshness, results, and canonical links.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}}, 'description': 'Select one Formula 1 season.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'source', 'generatedAt', 'lastVerifiedAt', 'staleAfter', 'refreshIntervalSeconds', 'canonicalUrl', 'sourceUrl', 'raceCount', 'races'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'races': {'type': 'array', 'items': {'type': 'object', 'required': ['meetingKey', 'round', 'name', 'circuit', 'location', 'country', 'countryCode', 'startDate', 'endDate', 'status', 'statusNote', 'resultStatus', 'winner', 'resultSummary', 'sessions'], 'properties': {'name': {'type': 'string'}, 'round': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'status': {'enum': ['scheduled', 'cancelled'], 'type': 'string'}, 'winner': {'anyOf': [{'type': 'object', 'required': ['driverName', 'constructorName'], 'properties': {'driverName': {'type': 'string'}, 'constructorName': {'type': ['string', 'null']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'circuit': {'type': 'string'}, 'country': {'type': 'string'}, 'endDate': {'type': 'string'}, 'location': {'type': 'string'}, 'sessions': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'kind', 'startDate', 'endDate'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'kind': {'enum': ['practice', 'sprintQualifying', 'sprint', 'qualifying', 'race', 'other'], 'type': 'string'}, 'name': {'type': 'string'}, 'endDate': {'type': 'string'}, 'startDate': {'type': 'string'}}, 'additionalProperties': False}}, 'startDate': {'type': 'string'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'statusNote': {'type': ['string', 'null']}, 'countryCode': {'type': ['string', 'null']}, 'resultStatus': {'enum': ['notStarted', 'pending', 'available'], 'type': 'string'}, 'resultSummary': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'source': {'type': 'string', 'const': 'OpenF1'}, 'raceCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'staleAfter': {'type': 'string'}, 'generatedAt': {'type': 'string'}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'lastVerifiedAt': {'type': 'string'}, 'refreshIntervalSeconds': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'description': 'Verified Formula 1 season schedule with freshness metadata, canonical links, and race weekends.', 'additionalProperties': False}
get_f1_session_results
F1 Session Results
Get the published F1DB classification for one Formula 1 session by season, meeting key, and session key, with positions and available result details.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meetingKey', 'sessionKey', 'year'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'OpenF1 meeting key for the race weekend.', 'exclusiveMinimum': 0}, 'sessionKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'OpenF1 session key.', 'exclusiveMinimum': 0}}, 'description': 'Select one Formula 1 session by season, meeting key, and session key.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'meetingKey', 'sessionKey', 'canonicalUrl', 'sourceUrl', 'source', 'resultCount', 'results'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'source': {'type': 'string', 'const': 'F1DB'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['driverNumber', 'driverName', 'headshotUrl', 'constructorName', 'position', 'positionLabel', 'numberOfLaps', 'points', 'duration', 'gapToLeader', 'status'], 'properties': {'points': {'type': ['number', 'null']}, 'status': {'anyOf': [{'enum': ['dnf', 'dns', 'dsq'], 'type': 'string'}, {'type': 'null'}]}, 'duration': {'type': ['string', 'null']}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'driverName': {'type': ['string', 'null']}, 'gapToLeader': {'type': ['string', 'null']}, 'headshotUrl': {'type': ['string', 'null']}, 'driverNumber': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'numberOfLaps': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'positionLabel': {'type': ['string', 'null']}, 'constructorName': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sessionKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'resultCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'description': 'Published Formula 1 session classification with source and canonical links.', 'additionalProperties': False}
get_f1_standings
F1 Standings
Get the public Formula 1 driver and constructor standings for a season with canonical source links.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}}, 'description': 'Select one Formula 1 season.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'sessionKey', 'canonicalUrl', 'sourceUrl', 'drivers', 'constructors'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'drivers': {'type': 'array', 'items': {'type': 'object', 'required': ['position', 'points', 'driverNumber', 'driverName', 'headshotUrl'], 'properties': {'points': {'type': 'number', 'minimum': 0}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'driverName': {'type': ['string', 'null']}, 'headshotUrl': {'type': ['string', 'null']}, 'driverNumber': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'sessionKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'constructors': {'type': 'array', 'items': {'type': 'object', 'required': ['position', 'points', 'constructorName', 'colour', 'logoUrl'], 'properties': {'colour': {'type': ['string', 'null']}, 'points': {'type': 'number', 'minimum': 0}, 'logoUrl': {'type': ['string', 'null']}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'constructorName': {'type': 'string'}}, 'additionalProperties': False}}}, 'description': 'Formula 1 driver and constructor standings with the source session and canonical links.', 'additionalProperties': False}
get_f1_starting_grid
F1 Starting Grid
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.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['meetingKey', 'sessionKey', 'year'], 'properties': {'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1950, 'description': 'Formula 1 season year.'}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'OpenF1 meeting key for the race weekend.', 'exclusiveMinimum': 0}, 'sessionKey': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'OpenF1 session key.', 'exclusiveMinimum': 0}}, 'description': 'Select one Formula 1 session by season, meeting key, and session key.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['year', 'meetingKey', 'sessionKey', 'canonicalUrl', 'sourceUrl', 'source', 'entryCount', 'startingGrid'], 'properties': {'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'source': {'type': 'string', 'const': 'F1DB'}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'entryCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'meetingKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'sessionKey': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'startingGrid': {'type': 'array', 'items': {'type': 'object', 'required': ['driverNumber', 'driverName', 'headshotUrl', 'constructorName', 'position', 'lapDuration'], 'properties': {'position': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'driverName': {'type': ['string', 'null']}, 'headshotUrl': {'type': ['string', 'null']}, 'lapDuration': {'type': ['number', 'null']}, 'driverNumber': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'constructorName': {'type': ['string', 'null']}}, 'additionalProperties': False}}}, 'description': 'Published Formula 1 session starting grid with source and canonical links.', 'additionalProperties': False}
get_f1_updates
Recent F1 Changes
Get recent public schedule, standings, and result changes after an optional timestamp or cursor.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum changes to return. Defaults to 20 and never exceeds 50.'}, 'since': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$', 'description': 'Only return changes after this UTC timestamp.'}, 'cursor': {'type': 'string', 'maxLength': 1000, 'description': 'Opaque continuation cursor returned by an earlier updates request.'}}, 'description': 'Read a bounded page of recent public Formula 1 changes.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['generatedAt', 'since', 'nextCursor', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'kind', 'meetingKey', 'modifiedAt', 'sessionKey', 'sourceLabel', 'sourceUrl', 'summary', 'title', 'url', 'year'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'kind': {'enum': ['result', 'schedule', 'standings'], 'type': 'string'}, 'year': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'title': {'type': 'string'}, 'summary': {'type': 'string'}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'meetingKey': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'modifiedAt': {'type': 'string'}, 'sessionKey': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'sourceLabel': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 50}, 'since': {'type': ['string', 'null']}, 'nextCursor': {'type': ['string', 'null']}, 'generatedAt': {'type': 'string'}}, 'description': 'Bounded cursor page of recent public Formula 1 schedule, standings, and result changes.', 'additionalProperties': False}
search_f1_history
Search F1 History
Search the Formula 1 history index for drivers, teams, circuits, and races with bounded, cursor-based results.
只读 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum results to return. Defaults to 10 and never exceeds 20.'}, 'query': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'Driver, team, circuit, or race text to find.'}, 'types': {'type': 'array', 'items': {'enum': ['driver', 'team', 'circuit', 'race'], 'type': 'string'}, 'maxItems': 4, 'minItems': 1, 'description': 'Optional unique entity types to include in the search.', 'uniqueItems': True}, 'cursor': {'type': 'string', 'maxLength': 1000, 'description': 'Opaque continuation cursor returned by an earlier history search.'}}, 'description': 'Search the bounded Formula 1 history index.', 'additionalProperties': False}
输出模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['generatedAt', 'query', 'types', 'sourceUpdatedAt', 'nextCursor', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['bestChampionshipPosition', 'firstYear', 'id', 'label', 'lastYear', 'match', 'metadata', 'sourceUrl', 'type', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'type': {'enum': ['driver', 'team', 'circuit', 'race'], 'type': 'string'}, 'label': {'type': 'string'}, 'match': {'enum': ['exact', 'prefix', 'substring'], 'type': 'string'}, 'lastYear': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'metadata': {'type': 'string'}, 'firstYear': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'sourceUrl': {'type': 'string', 'format': 'uri'}, 'bestChampionshipPosition': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 20}, 'query': {'type': 'string'}, 'types': {'type': 'array', 'items': {'enum': ['driver', 'team', 'circuit', 'race'], 'type': 'string'}}, 'nextCursor': {'type': ['string', 'null']}, 'generatedAt': {'type': 'string'}, 'sourceUpdatedAt': {'type': ['string', 'null']}}, 'description': 'Bounded cursor page of matching Formula 1 drivers, teams, circuits, and races.', 'additionalProperties': False}
已更改
compare_f1_competitors
2026年9月25日 03:01
已更改
get_f1_updates
2026年9月25日 03:01
已更改
search_f1_history
2026年9月25日 03:01
已更改
get_f1_historical_race_results
2026年9月25日 03:01
已更改
get_f1_historical_race_result
2026年9月25日 03:01
已更改
get_f1_live_session
2026年9月25日 03:01
已更改
get_f1_race_preview
2026年9月25日 03:01
已更改
get_f1_circuit
2026年9月25日 03:01
已更改
get_f1_race_classification
2026年9月25日 03:01
已更改
get_f1_race_weekend
2026年9月25日 03:01
已更改
get_f1_starting_grid
2026年9月25日 03:01
已更改
get_f1_session_results
2026年9月25日 03:01
已更改
get_f1_next_event
2026年9月25日 03:01
已更改
get_f1_standings
2026年9月25日 03:01
已更改
get_f1_season_schedule
2026年9月25日 03:01
已添加
compare_f1_competitors
2026年9月17日 07:57
已添加
get_f1_updates
2026年9月17日 07:57
已添加
search_f1_history
2026年9月17日 07:57
已添加
get_f1_historical_race_results
2026年9月17日 07:57
已添加
get_f1_historical_race_result
2026年9月17日 07:57
已添加
get_f1_live_session
2026年9月17日 07:57
已添加
get_f1_race_preview
2026年9月17日 07:57
已添加
get_f1_circuit
2026年9月17日 07:57
已添加
get_f1_race_classification
2026年9月17日 07:57
已添加
get_f1_race_weekend
2026年9月17日 07:57
已添加
get_f1_starting_grid
2026年9月17日 07:57
已添加
get_f1_session_results
2026年9月17日 07:57
已添加
get_f1_next_event
2026年9月17日 07:57
已添加
get_f1_standings
2026年9月17日 07:57
已添加
get_f1_season_schedule
2026年9月17日 07:57