梦幻足球数据服务

Sleeper MCP Server是一个提供梦幻足球API访问的模型上下文协议服务器,支持获取联赛、阵容、球员统计和预测等数据。

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

使用说明

休眠MCP服务器

一个模型上下文协议(MCP)服务器,提供对睡眠者幻想足球API的访问。该服务器使AI助手能够检索梦幻足球数据,包括联赛、名单、球员统计、预测等。

远程服务器URL

可以使用以下URL通过Claude Desktop等客户端访问公共托管服务器:

https://sleeper-mcp.evandiewald.workers.dev/sse

特性

核心联赛数据

  • 用户和联盟信息:获取用户详细信息和联赛信息
  • 名册和配对:查看球队名单和每周比赛结果
  • 支架:常规赛排名和季后赛排名
  • 草稿:访问草稿选择和草稿历史记录

球员数据

  • 球员搜索:按名称模糊搜索玩家
  • 统计:历史球员统计数据(赛季或每周)
  • 预测:带格式化表格的幻想投影
  • 新闻:最近的玩家新闻文章
  • 排名:按PPR积分计算的赛季球员排名
  • 趋势:在联盟中添加/删除玩家

NFL州

  • 当前季节信息:获取当前周、季节类型和日程数据
  • 每周预测:特定周的所有玩家预测

安装和设置

先决条件

  • Node.js 18+
  • npm或纱线

地方发展

  1. 克隆存储库:

    git clone <repository-url>
    cd sleeper-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 启动开发服务器:

    npm run dev
    

    服务器将在以下位置可用:

    • MCP端点: http://localhost:8787/mcp
    • SSE 端点 : http://localhost:8787/sse

远程部署(Cloudflare Workers)

  1. 安装牧马人CLI:

    npm install -g wrangler
    
  2. 登录Cloudflare:

    wrangler login
    
  3. 部署服务器:

    npm run deploy
    

    部署后,您的服务器将在以下位置可用:

    https://your-worker-name.your-subdomain.workers.dev/mcp
    

连接到克劳德桌面

本地连接

将此配置添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "sleeper": {
      "command": "node",
      "args": ["-e", "require('http').createServer((req,res)=>{if(req.url==='/mcp'){require('./dist/index.js').default.fetch(req).then(r=>r.text()).then(t=>res.end(t))}else{res.end('404')}}).listen(8787)"],
      "cwd": "/path/to/sleeper-mcp"
    }
  }
}

远程连接

对于已部署的Cloudflare Worker:

{
  "mcpServers": {
    "sleeper": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-fetch", "https://your-worker-name.your-subdomain.workers.dev/mcp"]
    }
  }
}

可用工具

用户和联盟管理

  • get_user -通过用户名或用户ID获取用户信息
  • get_user_leagues -获取特定运动和赛季中用户的所有联赛
  • get_league -获取联赛信息和设置
  • get_league_users -获取联盟中的所有用户(经理)

名册和配对数据

  • get_league_rosters -通过可选的球员丰富功能,获取联盟中的所有球队名单
  • get_matchups -获取特定周的比赛结果和分数

看台和季后赛

  • get_regular_season_standings -返回联赛的最新常规赛排名
  • get_playoff_results -获取季后赛结果-用它来确定联盟的最终排名
  • get_winners_bracket -获得联盟季后赛的获胜者支架
  • get_losers_bracket -获得联盟季后赛的失败者支架

草稿信息

  • get_user_drafts -获取特定运动和季节中用户的所有草稿
  • get_draft_picks -从特定草稿中获取所有选择

球员数据和统计

  • search_players -通过模糊匹配按姓名搜索玩家
  • find_player_id -通过信心评分按姓名查找玩家的ID
  • get_player_stats -获取一个赛季的球员统计数据,可选择按周分组
  • get_player_projections -使用格式化的表格显示获取玩家投影
  • get_player_news -获取玩家的最新新闻文章
  • get_player_ranks -按PPR积分获取一个赛季的球员排名

联盟范围内的分析

  • get_trending_players -获取跨联盟趋势(添加/删除)的玩家
  • get_weekly_projections -获取特定周的所有玩家预测
  • get_enriched_players -通过预测和排名丰富玩家数据

NFL州

  • get_nfl_state -获取当前NFL赛季状态(周、赛季类型等)

使用示例

基本联赛信息

Get information about league 12345
→ Uses get_league tool

Show me the rosters for league 12345
→ Uses get_league_rosters tool with player enrichment

球员数据

Search for Josh Allen
→ Uses search_players tool

Get Josh Allen's stats for 2024
→ Uses get_player_stats tool

Show me Saquon Barkley's projections
→ Uses get_player_projections tool (returns formatted table)

联赛分析

What are the standings for league 12345?
→ Uses get_regular_season_standings tool

Show me the playoff results for league 12345
→ Uses get_playoff_results tool

发展

脚本

  • npm run dev -启动本地开发服务器
  • npm run deploy -部署到Cloudflare Workers
  • npm run format -使用生物特征格式化代码
  • npm run lint:fix -修复掉毛问题
  • npm run type-check -运行TypeScript类型检查

项目结构

src/
├── index.ts          # Main MCP server implementation
└── ...

package.json          # Dependencies and scripts
tsconfig.json         # TypeScript configuration