iracing-mcp-server

ellettie/iracing-mcp-server

3.1

If you are the rightful owner of iracing-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

An MCP server for accessing iRacing telemetry data and game functionality.

Tools
17
Resources
0
Prompts
0

iRacing MCP Server

An MCP (Model Context Protocol) server for accessing iRacing telemetry data and game functionality.

Overview

This project provides real-time telemetry data, leaderboard information, camera control, pit commands, replay functionality, and more from iRacing through the MCP protocol. It enables AI assistants and other applications to easily access iRacing data.

Key Features

📊 Telemetry Data

  • Retrieve real-time telemetry values
  • Get list of available telemetry variables

🏁 Race Information

  • Get leaderboard (competitive positions only)
  • Access driver information, session information, weekend information, and split time information
  • Monitor current flags and engine warnings

📹 Camera Control

  • Get available camera groups
  • Switch cameras (by car number, position, group specification)
  • Check current camera status

🔧 Pit Operations

  • Check pit service status
  • Execute pit commands (refueling, tire changes, repairs, etc.)
  • Manage safe pit operations

🎬 Replay Features

  • Search and navigate replays
  • Move between sessions, laps, and frames
  • Jump to incident markers

Requirements

  • Python 3.13 or higher
  • iRacing (must be running)
  • uv

Usage

1. Configure mcp.json

{
    "mcpServers": {
        "iracing-mcp-server": {
            "command": "uvx",
            "args":["iracing-mcp-server"]
        }
    }
}

Available Tools

Telemetry Related

  • get_telemetry_names() - Get available telemetry variables
  • get_telemetry_values(names) - Get specified telemetry values

Race Information

  • get_leaderboard() - Get leaderboard
  • get_driver_info() - Get driver information
  • get_session_info() - Get session information
  • get_qualify_results_info() - Get qualification results information
  • get_weekend_info() - Get weekend information
  • get_split_time_info() - Get split time information
  • get_radio_info() - Get radio infomation
  • get_current_flags() - Get current flags
  • get_current_engine_warnings() - Get engine warnings

Camera Control

  • get_camera_info() - Get camera information
  • get_current_camera_status() - Get current camera status
  • cam_switch(group_number, car_number_raw, position) - Switch camera

Pit Operations

  • get_current_pit_service_status() - Get current pit service status
  • pit_command(commands_and_values) - Execute pit command

Replay Features

  • replay_search(search_commands) - Search and navigate replay

Development

Dependencies

  • mcp[cli]>=1.12.2 - MCP protocol implementation
  • pyirsdk>=1.3.5 - iRacing SDK Python bindings

Project Structure

iracing-mcp-server/
├── src/iracing_mcp_server/
│   ├── __init__.py          # Main entry point
│   ├── server.py            # MCP server implementation
│   ├── leaderboard.py       # Leaderboard processing
│   └── prompt.py            # Prompt templates
├── pyproject.toml           # Project configuration
└── README.md               # This file

License

This project is released under the MIT License.

Acknowledgments

  • pyirsdk - Python bindings for iRacing SDK
  • MCP - Model Context Protocol