棒球数据服务

一个全面的棒球数据服务,通过MLB Stats API提供美国职棒大联盟数据,并集成MLB.com官方资源链接,支持AI应用获取球队信息、球员统计、比赛日程、实时比分和历史数据。

  • by Datamazin
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Datamazin/mcp-mlb

使用说明

⚾ MLB MCP 服务器,集成 MLB.com 功能

一个全面的模型上下文协议(MCP)服务器,通过MLB Stats API提供对美国职业棒球大联盟数据的访问,并集成了MLB.com的官方资源链接。该服务器使人工智能应用程序能够检索球队信息、球员统计数据、比赛日程、实时比分、历史棒球数据,并直接访问MLB.com的官方内容。

🌟 特点

📊(图表/数据表格) 核心数据访问(17+种工具)

  • 历史球队名单 (20世纪70年代至今)
  • 球员统计数据 (职业生涯,赛季,场场记录)- 所有游戏类型
  • 实时游戏数据 (比分、局数、逐局播报)
  • 联赛积分榜 (分区、外卡、历史)- 所有游戏类型
  • 比赛日程 (过去,现在,未来)- 所有游戏类型
  • 季后赛赛程 (专用于MLB季后赛的API端点)- 新
  • 统计领先者 (本垒打、击球率、防御率等)
  • 高级分析 (比赛数据统计,比赛记录)- 所有游戏类型
  • 数据可视化 (Chart.js 与 PNG 导出功能的集成) 所有游戏类型
  • MLB(美国职业棒球大联盟)职位与人员 (裁判、经理、教练、工作人员)- 新

🎯(靶心符号,常用于表示目标或焦点) 动态游戏类型支持(新功能)

现在,服务器支持所有工具中全面的游戏类型过滤功能:

常规赛与展览赛:

  • R - 常规赛(默认)
  • E - 示范比赛
  • S - 春季训练
  • F - 秋季联赛
  • A - 全明星赛
  • I - 内部比赛(或:队内比赛)

季后赛:

  • P - 季后赛(全部)
  • D - 分区系列赛
  • L - 联盟冠军系列赛
  • W - 世界大赛(或世界系列赛)
  • WC - 通配符比赛(或:外卡赛)

特别活动:

  • ASGHR - 全明星本垒打大赛
  • WBC - 世界棒球经典赛
  • CWS - 大学世界系列赛

🌐 代表“地球/网络”(通常用作表示互联网或全球互联的符号)。 MLB.com 集成(新功能)

  • 官方MLB.com链接 (球队、球员、赛程、新闻)
  • 增强的玩家资料 (附MLB.com资源链接)
  • 增强的团队信息 (与MLB.com球队页面合作)
  • 资源类别 (新闻、统计数据、季后赛、前景、选秀)

🎨 表示“美术”或“绘画”的相关符号或表情,可直接用作“美术”或“绘画”的意象表达。 专业可视化

  • Chart.js 集成 带有数据标签
  • 多种图表类型 (折线图,柱状图)
  • 文件导出 (PNG格式转为 data/visualizations/)
  • 统计摘要 (最小值,最大值,平均值,总和)

🎮 游戏类型使用示例

季后赛数据访问(增强版,配备专用季后赛端点)

// Get complete postseason schedule using dedicated MLB postseason API
get-postseason-schedule(season: 2025)

// Get specific playoff series (World Series, Championship Series, etc.)
get-postseason-schedule(season: 2025, series: "WS")  // World Series
get-postseason-schedule(season: 2025, series: "ALCS") // AL Championship Series

// Get playoff schedule (now automatically uses postseason endpoint)
get-schedule(startDate: "2024-10-01", gameType: "P")

// Get World Series standings
get-standings(season: 2024, gameType: "W")

// Get Division Series player stats
get-player-stats(playerId: 592450, season: 2024, gameType: "D")

春季训练分析

// Get Spring Training standings
get-standings(season: 2024, gameType: "S", standingsType: "springTraining")

// Get player Spring Training stats
get-player-stats(playerId: 592450, season: 2024, gameType: "S")

// Visualize Spring Training performance
visualize-player-stats(playerId: 592450, season: 2024, gameType: "S", statCategory: "homeRuns")

历史分析

// Get World Series game logs for a player
get-player-game-logs(playerId: 592450, season: 2024, gameType: "W")

// Search for players in specific game contexts
search-players(searchTerm: "pitcher", gameType: "P", season: 2024)

MLB 人员与职位访问

// Get current MLB managers
get-mlb-jobs(jobType: "manager")

// Get umpire assignments
get-mlb-jobs(jobType: "umpire", date: "2024-10-01")

// Get coaching staff information
get-mlb-jobs(jobType: "coach", sportId: 1)

// Get trainer and medical staff
get-mlb-jobs(jobType: "trainer")

MLB 元数据访问

// Get available game types for API calls
get-mlb-meta(type: "gameTypes")

// Get all job types for personnel queries
get-mlb-meta(type: "jobTypes")

// Get player position codes and details
get-mlb-meta(type: "positions")

// Get game status codes for live games
get-mlb-meta(type: "gameStatus")

// Get available standings types
get-mlb-meta(type: "standingsTypes")

// Get statistical analysis types
get-mlb-meta(type: "statTypes")

🛠️ 安装

先决条件

  • Node.js 18及以上版本
  • npm 或 yarn
  • TypeScript

设置

# Clone the repository
git clone <repository-url>
cd mcp-mlb

# Install dependencies
npm install

# Build the project
npm run build

# Run the server
node build/index.js

🎯 可用工具

核心MLB数据工具

  1. get-team-roster - 历史球队名单

    • 支持所有30支美国职业棒球大联盟(MLB)球队
    • 历史数据追溯至20世纪70年代
    • 结构化定位的击球手和投手
  2. get-standings - 联赛/分区排名

    • 当前和历史排名
    • 联赛和分区过滤
    • 外卡争夺战
  3. get-team-info - 完整的团队信息

    • 场馆、联赛、分区详情
    • 团队ID和缩写
  4. get-player-stats - 球员统计数据

    • 职业生涯和赛季统计数据
    • 多种比赛类型(常规赛、季后赛、春季赛)
    • 击球、投球和守备
  5. get-schedule - 比赛日程

    • 日期范围查询
    • 团队特定的时间表
    • 多种游戏类型
  6. get-live-game - 实时游戏数据

    • 实时比分和状态
    • 当前局数及逐局比分
    • 比赛官员和天气
  7. search-players - 球员搜索

    • 按名称搜索
    • 激活/非激活状态过滤
  8. get-boxscore - 详细的游戏数据统计

    • 完整的游戏统计数据
    • 球员表现数据
  9. get-league-leaders - 统计领先者

    • 本垒打、击球率、自责分率、胜场
    • 赛季和联赛筛选
    • 可定制的结果限制
  10. visualize-player-stats - 数据可视化

    • 逐场统计图表
    • 折线图和柱状图类型
    • 使用 Chart.js 导出 PNG 格式

高级查找工具

  1. lookup-team - 团队搜索与查找

    • 按姓名、城市、缩写搜索
    • 联赛和分区信息
  2. get-player-game-logs - 每场比赛的球员统计数据

    • 个人比赛表现
    • 整季追踪
    • 多个统计数据类别
  3. get-schedule-with-games - 增强的日程数据

    • 用于获取比赛数据统计的对战游戏PK
    • 完整的游戏元数据
  4. get-postseason-schedule - 专门的季后赛赛程(新)

    • 使用美国职业棒球大联盟(MLB)官方的季后赛API端点
    • 完整的季后赛对阵表和系列赛信息
    • 自动季后赛比赛检测与路由

MLB.com 集成工具(新)

  1. get-mlb-com-links - 官方MLB.com资源链接

    • 团队页面、球员资料、赛程安排
    • 新闻、数据、季后赛报道
    • 草案及前景信息
  2. get-enhanced-player-info - 增强的玩家数据

    • 完整的球员信息
    • MLB.com个人资料链接(统计数据、生平简介、比赛记录)
    • 当前团队页面链接
  3. get-enhanced-team-info - 增强的团队数据

    • 完整的团队信息
    • MLB.com球队页面(赛程、名单、新闻、门票)
    • 当前分区排名
  4. get-mlb-jobs - 美国职业棒球大联盟(MLB)人员与职位(新)

    • 查询裁判、经理、教练、训练师
    • 员工职位及职责分配
    • 特定日期的人员信息
  5. get-mlb-meta - MLB 元数据(新)

    • 检索API参数的元数据
    • 游戏类型、职业类型、职位、游戏状态
    • 奖项、统计数据类型、排名类型
    • 理解API值至关重要

🌐 MLB.com 集成示例

获取官方团队页面

// Get New York Mets MLB.com pages and resources
{
  "name": "get-mlb-com-links",
  "arguments": {
    "linkType": "team",
    "teamId": 121
  }
}

回应包括:

  • 主队页面: https://www.mlb.com/mets/
  • 日程 https://www.mlb.com/mets/schedule/
  • 名单: https://www.mlb.com/mets/roster/
  • 统计数字: https://www.mlb.com/mets/stats/
  • 新闻: https://www.mlb.com/mets/news/
  • 门票: https://www.mlb.com/mets/tickets/

获取带有MLB.com链接的球员资料

// Get Pete Alonso info with MLB.com integration
{
  "name": "get-enhanced-player-info",
  "arguments": {
    "playerId": 624413,
    "includeMLBcomLinks": true,
    "season": 2024
  }
}

回复包括:

  • 玩家数据 + 当前统计数据
  • MLB.com 个人资料: https://www.mlb.com/player/624413
  • 统计页面: https://www.mlb.com/player/624413/stats
  • 游戏日志: https://www.mlb.com/player/624413/gamelogs
  • 传记: https://www.mlb.com/player/624413/bio

📊 使用示例

历史数据访问

// Get 1985 New York Mets roster
{
  "name": "get-team-roster", 
  "arguments": {
    "teamName": "mets",
    "season": 1985
  }
}
// Returns: Gary Carter, Keith Hernandez, Lenny Dykstra, etc.

统计领先者

// Get 2024 home run leaders
{
  "name": "get-league-leaders",
  "arguments": {
    "leaderCategories": "homeRuns",
    "season": 2024,
    "limit": 10
  }
}
// Returns: Aaron Judge (58), Shohei Ohtani (54), etc.

数据可视化

// Create home run chart for Pete Alonso
{
  "name": "visualize-player-stats",
  "arguments": {
    "playerId": 624413,
    "season": 2024,
    "statCategory": "homeRuns",
    "chartType": "line",
    "saveToFile": true
  }
}
// Generates: data/visualizations/player-624413-homeRuns-2024-regular.png

体育场支持的球队

所有30支美国职业棒球大联盟(MLB)球队均与MLB.com官方集成:

美国职业棒球大联盟(美职棒大联盟)

  • 东巴尔的摩金莺队、波士顿红袜队、纽约洋基队、坦帕湾光芒队、多伦多蓝鸟队
  • 中央芝加哥白袜队、克利夫兰守护者队、底特律老虎队、堪萨斯城皇家队、明尼苏达双城队
  • 西休斯顿太空人队、洛杉矶天使队、奥克兰运动家队、西雅图水手队、德州游骑兵队

国家联盟

  • 东亚特兰大勇士队、迈阿密马林鱼队、纽约大都会队、费城费城人队、华盛顿国民队
  • 中央芝加哥小熊队,辛辛那提红人队,密尔沃基酿酒人队,匹兹堡海盗队,圣路易斯红雀队
  • 西亚利桑那响尾蛇队、科罗拉多洛矶队、洛杉矶道奇队、圣地亚哥教士队、旧金山巨人队

📋 文件整理

mcp-mlb/
├── src/                          # TypeScript source code
│   ├── index.ts                  # Main MCP server with MLB.com integration
│   └── mlb-api.ts               # MLB API client
├── build/                        # Compiled JavaScript
├── data/                         # Generated content  
│   ├── Markdown/                 # Documentation files
│   │   ├── FINAL_IMPLEMENTATION_STATUS.md
│   │   ├── MLB_COM_INTEGRATION_GUIDE.md
│   │   └── README.md
│   └── visualizations/           # Generated chart images
└── utils/                        # Utility functions
    └── file-manager.cjs          # File management helpers

🚀 主要成就

历史数据已验证 ✅

  • 1985年大都会队加里·卡特,基斯·赫南德兹,伦尼·迪克斯特拉
  • 1986年世界大赛 纽约大都会队完整的冠军阵容
  • 1998年洋基队德里克·杰特,保罗·奥尼尔,蒂诺·马丁内斯

统计领先者已确认 ✅

  • 2024年本垒打亚伦·贾奇(58分),Shohei Ohtani(54分)
  • 联赛领头羊所有统计类别均在运行中
  • 团队查询所有30支拥有准确数据的美国职业棒球大联盟(MLB)球队

专业特性 ✅

  • Chart.js 集成数据标签,PNG导出
  • MLB.com 集成官方资源链接
  • MCP合规性完整模型上下文协议支持
  • 错误处理强大的错误处理机制

🎯 技术实施

MLB统计API集成

  • 基本URL: https://statsapi.mlb.com/api/v1
  • 历史支持20世纪70年代至今
  • 实时数据现场比赛,当前排名
  • 全面覆盖所有统计类别

MLB.com 资源整合

  • 官方链接直接访问MLB.com的内容
  • 团队页面所有30支队伍均已完成资源映射
  • 玩家资料直接链接到官方球员页面
  • 内容类别新闻、数据统计、赛程、季后赛、未来展望

数据可视化

  • Chart.js专业图表生成
  • 导出格式带有元数据的PNG图像
  • 图表类型折线图,带数据标签的柱状图
  • 文件管理组织化输出至 data/visualizations/

📈 服务器状态

95% 完成 - 已准备好生产 ✅

  • 18/18 工具正常工作 (100%成功率)
  • MLB.com 集成全面实施 ✅
  • 历史数据数十年的棒球历史 ✅
  • 可视化专业图表生成 ✅
  • MCP协议完全合规且错误处理得当 ✅

📖 Meta 终端点参考

该 get-mlb-meta 该工具提供了使用其他MLB API端点所必需的元数据。它返回有关MLB API中使用的有效参数值、代码和类型的结构化信息。

可用的元数据类型

类型 描述 使用场景
gameTypes 游戏类型代码(R、S、P等) 按赛季类型过滤赛程、排名
jobTypes 人员职位代码(391种类型) 查询特定的MLB(美国职业棒球大联盟)职位
positions 球员位置代码及详情 筛选球员,了解阵容位置
gameStatus 实时游戏状态代码 了解当前游戏状态
standingsTypes 可用的排名格式 获取不同的排名视图
statTypes 统计分析类型 高级统计查询
baseballStats 所有可用棒球统计数据 全面的统计分析
awards 奖项类型及类别 历史奖项数据
eventTypes 比赛事件分类 实况解说分析
pitchTypes 投球分类代码 投球分析
hitTrajectories 球的飞行轨迹类型 击球分析
platforms 可用平台 多平台数据

元响应格式

{
  "metaData": {
    "type": "gameTypes",
    "version": "v1", 
    "totalItems": 12,
    "data": [
      {"id": "R", "description": "Regular Season"},
      {"id": "S", "description": "Spring Training"},
      {"id": "P", "description": "Playoffs"}
    ]
  }
}

实用的元编程应用

步骤1:获取可用值

get-mlb-meta(type: "gameTypes")
// Returns: R=Regular, S=Spring, P=Playoffs, etc.

步骤2:在其他工具中使用

get-schedule(startDate: "2024-10-01", gameType: "P")  // Playoff games
get-standings(gameType: "R")  // Regular season standings
get-mlb-jobs(jobType: "UMPR")  // Umpire positions

🔧 开发

构建与测试

# Build the project
npm run build

# Test MLB.com integration
node test-mlb-com-integration.cjs

# Test comprehensive functionality  
node test-comprehensive-mcp-server.cjs

VS Code 任务

  • 运行MLB MCP服务器启动开发服务器
  • 构建将TypeScript编译为JavaScript

📚 文档

🤝 贡献(或“参与贡献”)

这款MCP服务器提供全面的MLB(美国职业棒球大联盟)数据访问服务,并与官方MLB.com网站集成。它专为AI应用、聊天机器人以及任何需要权威来源链接的结构化棒球数据的系统而设计。

📜 许可证

该应用旨在教育和开发目的而构建,使用了美国职业棒球大联盟(MLB)的公开API和MLB.com的官方资源。


🎉 一个全面且可投入生产的MLB数据服务器,集成官方MLB.com资源——为AI应用带来完整的棒球体验! 棒球体育场⚾🏟️