Skip to main content
Glama
notsedano

Formula One MCP Server

get_event_info

Retrieve detailed Formula One Grand Prix information by specifying the season year and event name or round number using this tool for comprehensive race data.

Instructions

Get detailed information about a specific Formula One Grand Prix

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
identifierYesEvent name or round number (e.g., 'Monaco' or '7')
yearYesSeason year (e.g., 2023)

Implementation Reference

  • Core handler function implementing get_event_info tool logic using FastF1 API to fetch and serialize event data.
    def get_event_info(year: Any, identifier: str) -> dict[str, Any]: """ Get information about a specific Formula One event. Args: year (int or str): The year of the F1 season identifier (str): Event name or round number Returns: dict: Status and event data or error information """ try: # Validate year year_int = validate_year(year) # Validate identifier if not identifier or not isinstance(identifier, str | int): raise ValueError("Invalid event identifier") logger.debug(f"Fetching event info for {year_int}, event: {identifier}") # Identifier can be event name or round number if str(identifier).isdigit(): event = fastf1.get_event(year_int, int(identifier)) else: event = fastf1.get_event(year_int, str(identifier)) # Convert Series to dict and clean non-serializable values event_dict = event.to_dict() clean_dict = {k: json_serial(v) for k, v in event_dict.items()} logger.info( f"Successfully retrieved event info for {year_int}, event: {identifier}" ) return {"status": "success", "data": clean_dict} except Exception as e: logger.error(f"Error retrieving event info: {str(e)}", exc_info=True) return { "status": "error", "message": f"Failed to retrieve event information: {str(e)}", }
  • MCP tool schema definition for get_event_info, specifying input parameters and description.
    types.Tool( name="get_event_info", description=( "Get detailed information about a specific Formula One Grand Prix" ), inputSchema={ "type": "object", "properties": { "year": { "type": "number", "description": "Season year (e.g., 2023)", }, "identifier": { "type": "string", "description": ( "Event name or round number (e.g., 'Monaco' or '7')" ), }, }, "required": ["year", "identifier"], },
  • Tool dispatch/registration logic in the main MCP call_tool handler, validating inputs and calling the get_event_info function.
    elif name == "get_event_info": if "identifier" not in arguments: raise ValueError("Missing required argument: identifier") identifier = str(arguments["identifier"]) result = get_event_info(sanitized_args["year"], identifier)
  • Registration of get_event_info in the MCP bridge's tool function mapping.
    'get_event_info': get_event_info, 'get_session_results': get_session_results,
  • Import of get_event_info function in the MCP server module.
    get_event_info,

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/notsedano/f1-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server