Skip to main content
Glama
emilioSp

iRacing Data MCP Server

by emilioSp

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:

Tool

Description

Parameters

login

Authenticate with iRacing

None

get_members_profile

Get member profile data

member_ids: number[]

get_team

Retrieve team information

team_id: string

get_member_recap

Get season recap data

member_id: number, year?: number, season?: number

get_member_career

Get career statistics

member_id: number

driver_lookup

Search for drivers

driver_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

The server automatically manages authentication cookies:

  • Stores cookies in the path specified by COOKIE_JAR

  • Automatically refreshes expired sessions

  • Handles authentication errors gracefully

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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/emilioSp/iracing-data-mcp-server'

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