项目简介
'iRacing Data MCP Server' 是一个基于 Node.js 实现的 Model Context Protocol (MCP) 服务器,它将著名的 iRacing 赛车模拟游戏的数据 API 封装成可供 AI 助手调用的服务。无论是需要查询车手资料、团队信息、职业生涯统计还是赛季回顾,这款服务器都能提供实时、类型安全的数据访问。它既可以作为独立的命令行工具使用,也能无缝集成到各种 AI 助手中,如 Claude Desktop 或 ChatGPT。
主要功能点
- AI 助手集成: 允许 Claude, ChatGPT 等 AI 助手直接调用 iRacing 赛车数据。
- 实时数据访问: 提供 iRacing 综合赛车数据的实时查询能力,确保获取最新信息。
- 自动化认证: 自动处理 iRacing 账户的登录和会话管理,无需手动干预。
- 类型安全操作: 基于 TypeScript 和 Zod 确保数据操作的类型安全和参数校验。
- 丰富的查询能力: 支持查询成员档案、团队信息、职业生涯统计、赛季回顾、车手查找等多种数据。
- 双重接口: 可作为 MCP 服务器供 AI 助手使用,也可作为命令行工具直接进行数据查询和自动化。
安装步骤
-
环境要求: 请确保您的系统安装了 Node.js (推荐 24+ 版本) 和 npm 包管理器。
-
获取代码: 首先,通过 Git 克隆该仓库到您的本地计算机,并进入项目目录:
git clone https://github.com/emilioSp/iracing-data-mcp-server.git cd iracing-data-mcp-server -
安装依赖: 在项目目录中,运行以下命令安装所有必需的 Node.js 依赖:
npm install -
配置认证信息: 在项目根目录创建一个名为 '.env' 的文件,并填入您的 iRacing 账户信息。这些信息用于服务器与 iRacing API 进行认证。
# 必需: 存储认证 Cookie 的文件路径 COOKIE_JAR=./cookies.txt # 必需: 您的 iRacing 账户邮箱 [email protected] # 选项 1: 使用您的 iRacing 密码 (不推荐) # PASSWORD=your_password # 选项 2 (推荐): 使用预生成的 API 密钥 (安全性更高) API_KEY=your_api_key_here温馨提示: 为了提高安全性,强烈建议使用 API 密钥而非直接暴露密码。您可以通过以下 Node.js 代码生成 API 密钥:
const crypto = require('crypto'); const email = '[email protected]'; // 替换为您的 iRacing 账户邮箱 const password = 'your_password'; // 替换为您的 iRacing 账户密码 const apiKey = crypto.createHash('sha256') .update(password + email) .digest('base64'); console.log(apiKey); // 将输出的 API 密钥粘贴到 .env 文件中 -
首次认证: 在您第一次使用前,需要运行一次登录命令以生成认证 Cookie 文件(由 'COOKIE_JAR' 指定的路径):
npm run login
服务器配置 (供 MCP 客户端使用)
要将此 MCP 服务器与 LLM 客户端(如 Claude Desktop)集成,请将其配置信息添加到您的 MCP 客户端设置文件中。以下是一个示例(适用于 macOS 上的 Claude Desktop 的 '~/Library/Application Support/Claude/claude_desktop_config.json' 文件):
{ "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": "[email protected]", "API_KEY": "your_api_key_here" } } } }
请注意:
- '"iracing-data-mcp-server"' 是您为这个 MCP 服务器定义的名称。
- '"command"' 指令指定了启动服务器的方式,这里是使用 'npx' 运行。
- '"args"' 数组包含了传递给启动命令的参数,其中 '/path/to/your/cookie-jar-file' 应替换为您实际存储认证 Cookie 的文件路径。
- '"env"' 对象用于设置 MCP 服务器运行所需的环境变量。请确保 'EMAIL' 和 'API_KEY'(或 'PASSWORD')替换为您自己的 iRacing 账户凭据,并且 'COOKIE_JAR' 路径与您在 '.env' 文件中设置的路径一致。
基本使用方法 (AI 助手通过工具调用)
一旦服务器配置好并连接到您的 AI 助手,AI 助手将能够调用以下工具来获取 iRacing 数据:
- 'login': 用于重新认证 iRacing 账户,确保会话有效。
- 'get_members_profile': 获取一个或多个 iRacing 车手的详细档案,包括执照信息和等级。
- 参数: 'member_ids' (数字数组,必需)
- 'get_team': 检索指定团队的详细信息和统计数据。
- 参数: 'team_id' (字符串,必需)
- 'get_member_recap': 获取车手特定年份或赛季的比赛回顾数据。
- 参数: 'member_id' (数字,必需), 'year' (数字,可选), 'season' (数字,可选)
- 'get_member_career': 获取车手的完整职业生涯统计数据和成就。
- 参数: 'member_id' (数字,必需)
- 'driver_lookup': 根据车手姓名搜索并查找 iRacing 车手信息。
- 参数: 'driver_name' (字符串,必需)
信息
分类
网页与API