iracing-data-mcp-server

emilioSp/iracing-data-mcp-server

3.2

If you are the rightful owner of iracing-data-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.

The iRacing Data MCP Server is a Node.js server that provides seamless access to iRacing's racing simulation data API, functioning as both a standalone CLI tool and an MCP server for AI assistant integration.

Tools
6
Resources
0
Prompts
0

iRacing Data MCP Server 🏎️

A Node.js Model Context Protocol (MCP) server that provides seamless access to iRacing's racing simulation data API. This project serves as both a standalone CLI tool and an MCP server for AI assistant integration.

npm version License: MIT

🌟 Features

🤖 MCP Server Integration

  • AI Assistant Ready: Seamlessly integrate with Claude, ChatGPT, and other AI assistants
  • Real-time Data Access: Live access to iRacing's comprehensive racing data
  • Automatic Authentication: Handles login and session management automatically
  • Type-safe Operations: Full TypeScript support with Zod schema validation

📊 Data Access

  • Member Profiles: Detailed driver information including licenses and ratings
  • Team Information: Comprehensive team data and statistics
  • Career Statistics: Complete racing career history and achievements
  • Season Recaps: Detailed season performance and progression
  • Driver Lookup: Search and find drivers by name
  • API Documentation: Built-in access to iRacing's API documentation

🛠️ Dual Interface

  • MCP Server: For AI assistant integration
  • CLI Tool: For direct command-line access and automation

📖 Usage

As MCP Server

Configuration for LLM Clients

To use this MCP server with AI assistants like Claude Desktop, add the following configuration to your MCP settings file: For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "iracing-data-mcp-server": {
      "command": "npx",
      "args": [
        "iracing-data-mcp-server@latest",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/your/cookie-jar-file"
      ]
      "env": {
        "COOKIE_JAR": "/path/to/your/cookie-jar-file",
        "EMAIL": "your.email@example.com",
        "API_KEY": "your_api_key_here"
      }
    }
  }
}
Available MCP Tools

The server will run and provide the following tools to AI assistants:

ToolDescriptionParameters
loginAuthenticate with iRacingNone
get_members_profileGet member profile datamember_ids: number[]
get_teamRetrieve team informationteam_id: string
get_member_recapGet season recap datamember_id: number, year?: number, season?: number
get_member_careerGet career statisticsmember_id: number
driver_lookupSearch for driversdriver_name: string

📹 Watch the video

Watch the video

As CLI Tool

Environment Setup

Create a .env file in your project directory:

# Required: Path to store authentication cookies
COOKIE_JAR=./cookies.txt

# Required: Your iRacing account credentials
EMAIL=your.email@example.com

# Option 1: Use your iRacing password
PASSWORD=your_password

# Option 2: Use pre-generated API key (recommended for security)
# API_KEY=your_api_key_here
Initial Authentication

Before using the cli, authenticate with iRacing:

npm run login

Use the command-line interface for direct data access:

Get Member Profile
# Single member
npm run api member 123456

# Multiple members
npm run api member 123456,789012
Get Team Information
npm run api team 123456
Get Member Career Data
npm run api member-career 123456
Get Season Recap
# Current season recap
npm run api member-recap --member-id 123456

# Specific year and season
npm run api member-recap --member-id 123456 --year 2024 --season 1
Driver Lookup
npm run api driver-lookup "Max Verstappen"
API Documentation
npm run api documentation

🔧 Development Setup

Prerequisites

  • Node.js 24+
  • npm
  • iRacing account with active subscription

Clone and Install

git clone https://github.com/yourusername/iracing-data-mcp-server.git
cd iracing-data-mcp-server
npm install

🔐 Authentication & Security

API Key vs Password

Recommended: Use an API key for enhanced security:

  1. Generate API Key:

    const crypto = require('crypto');
    const apiKey = crypto.createHash('sha256')
      .update(password + email)
      .digest('base64');
    
  2. Set in Environment:

    API_KEY=your_generated_api_key
    # Remove PASSWORD variable when using API_KEY
    

Cookie Management

The server automatically manages authentication cookies:

  • Stores cookies in the path specified by COOKIE_JAR
  • Automatically refreshes expired sessions
  • Handles authentication errors gracefully

Built with ❤️ for the racing community