赛马数据分析服务器

一个利用韩国赛马协会公共API进行赛马数据分析和提供洞察的MCP服务器。

  • by coyaSONG
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 coyaSONG/kra-mcp

使用说明

KRA赛车数据分析MCP服务器

利用韩国马事会(Korea Racing Authority)公共API分析赛马数据的MCP服务器

该项目是使用Model Context Protocol(MCP)分析韩国马事会赛马数据并提供洞察的服务器。

🏇 主要功能

🔧 分析工具

  • 分析种族:比赛分析(日期、比赛编号、赛马场类别)
  • 分析马的表现:马成绩分析和表单评价
  • 获取骑师统计数据:基数统计和绩效分析
  • 获取骑师信息:查询基数信息
  • 分析赔率:分红分析和模式识别

📁 数据资源(Resources)

  • 日程安排://{日期}:赛程信息(今天/明天)
  • 马://{horseName}:马详细信息和记录
  • tracks://{trackCode}:赛马场信息(首尔/釜山/济州)
  • config://kra-api:设置和配置KRA API

💬 分析提示(Prompts)

  • 预测种族:比赛预测分析(基本/详细/统计)
  • 马匹表现报告:马成绩详细报告
  • 市场分析:马权市场分析(股息率/交易量/趋势)

🎯 应用领域

  • 庆州预测:基于数据的比赛结果预测
  • 投资分析:制定马权投资战略
  • 绩效评估:马,骑手,助教成绩分析
  • 市场分析:分析股息率和交易量模式
  • 风险管理:投资风险评估和管理

📦 安装和设置

基本要求

  • Node.js 18.0.0或更高版本
  • npm或yarn
  • 韩国马事会公共API访问权限 ✅ 实际联动完成

KRA API密钥设置(必需)

  1. 申请公共数据门户网站

    • 公共数据门户 连接
    • “韩国马事会比赛记录信息”API搜索和申请
    • 获得批准后获得服务密钥
  2. 设置环境变量

    # Windows (PowerShell)
    $env:KRA_SERVICE_KEY="YOUR_SERVICE_KEY_HERE"
    
    # macOS/Linux
    export KRA_SERVICE_KEY="YOUR_SERVICE_KEY_HERE"
    
    # 또는 .env 파일 생성
    echo "KRA_SERVICE_KEY=YOUR_SERVICE_KEY_HERE" > .env
    
  3. 确认服务密钥

    • 必须使用URL编码的密钥
    • 如果包含特殊字符,则需要编码

安装项目

# 저장소 클론
git clone <repository-url>
cd kra-mcp

# 의존성 설치
npm install

# KRA API 키 설정 (위 참조)
export KRA_SERVICE_KEY="your_service_key"

🏃‍♂️ 执行方法

开发模式

npm run dev

监视模式(更改文件时自动重新启动)

npm run watch

生产构建和运行

npm run build
npm start

🔧 注册MCP客户端

在Cursor IDE中使用

~/.cursor/mcp.json 添加到文件:

{
  "mcpServers": {
    "kra-racing-analysis": {
      "command": "npx",
      "args": ["tsx", "src/index.ts"],
      "cwd": "/path/to/kra-mcp"
    }
  }
}

使用生产版本:

{
  "mcpServers": {
    "kra-racing-analysis": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/kra-mcp"
    }
  }
}

Cursor重新启动后可用。

🧪 测试和验证

使用MCP Inspector

npx @modelcontextprotocol/inspector npx tsx src/index.ts

工具测试示例

# 경주 분석 테스트
analyze-race --raceDate="2024-01-15" --raceNumber="3" --trackCode="seoul"

# 말 성적 분석 테스트
analyze-horse-performance --horseName="우승마" --period="1year"

📂 项目结构

kra-mcp/
├── src/
│   └── index.ts              # 메인 서버 파일
├── dist/                     # 빌드된 JavaScript 파일
├── package.json              # 프로젝트 설정
├── tsconfig.json             # TypeScript 설정
├── .gitignore               # Git 제외 파일
└── README.md                # 프로젝트 문서

🔍 使用示例

1.请求比赛分析

{
  "method": "tools/call",
  "params": {
    "name": "analyze-race",
    "arguments": {
      "raceDate": "2024-01-15",
      "raceNumber": 5,
      "trackCode": "seoul"
    }
  }
}

2.查询马信息

{
  "method": "resources/read",
  "params": {
    "uri": "horses://우승마"
  }
}

3.庆州预测提示

{
  "method": "prompts/get",
  "params": {
    "name": "predict-race",
    "arguments": {
      "raceDate": "2024-01-15",
      "raceNumber": "5",
      "analysisType": "detailed"
    }
  }
}

🛠️ 开发指南

添加新的分析工具

server.tool("new-analysis-tool",
  { 
    param1: z.string(),
    param2: z.number().optional()
  },
  async ({ param1, param2 }) => ({
    content: [{ 
      type: "text", 
      text: `분석 결과: ${param1} ${param2 || ''}` 
    }]
  })
);

添加新的数据资源

server.resource(
  "new-resource",
  new ResourceTemplate("resource://{id}", { list: undefined }),
  async (uri, { id }) => ({
    contents: [{
      uri: uri.href,
      text: JSON.stringify({ id, data: "..." }, null, 2)
    }]
  })
);

🌐 API集成情况

✅ 当前集成的API:

  • 韩国马事会公共API:比赛信息、参赛数据、骑手信息
  • API214_1:比赛详细结果和分析数据
  • API12_1:查询基数信息
  • API299:关于赛跑统计和预测

⏳ 未来联动计划:

  • 实时分红API:跟踪赔率变化
  • 气象信息API:主要分析状态影响

📊 数据分析功能

支持的分析类型

  • 技术分析:基于过去成绩的模式分析
  • 统计分析:概率模型和回归分析
  • 市场分析:股息率和交易量分析
  • 比较分析:马、骑手、助教之间的比较

预测模型(计划)

  • 机器学习模型:基于历史数据的预测
  • 合唱团模特:多模型联合预测
  • 实时分析:比赛当天实时数据分析

🔒 安全性和合规性

  • 遵守韩国马事会API使用条款
  • 遵守个人信息保护法
  • 安全的API密钥管理
  • 遵守数据使用限制

📚 参考资料

📄 许可证

MIT 许可证


⚠️ 重要:与实际的KRA公共API配合使用。需要设置API密钥。

💡 小费:与Context7配合使用可以获得更准确的赛马数据分析!在提示符下 use context7请添加。