梦幻英超数据服务

一个提供梦幻英超联赛数据访问的模型上下文协议(MCP)服务器,包含球员搜索、球队信息、比赛周状态等多种功能。

  • by pmc-a
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 pmc-a/fpl-mcp-server

使用说明

FPL MCP服务器

一个模型上下文协议(MCP)服务器,通过七个综合工具提供对梦幻英超数据的访问。

特性

  • 搜索玩家:通过搜索玩家姓名查找玩家ID(模糊匹配)
  • 搜索团队:通过搜索团队名称查找团队ID(模糊匹配)
  • 当前游戏周状态:获取当前游戏周数、截止日期和完成状态
  • 球员统计:检索任何FPL玩家的综合统计数据
  • 游戏周固定装置:获取特定比赛周的所有赛程
  • 球员比较:比较多个玩家之间的统计数据
  • 团队信息:获取球队详细信息和当前球队信息
  • 经理团队:查看任何比赛周的经理团队选择,包括首发XI、替补、队长和阵容

安装

  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

用法

作为MCP服务器

该服务器设计用于MCP客户端。配置您的MCP客户端以使用此服务器:

{
  "mcpServers": {
    "fpl-mcp-server": {
      "command": "node",
      "args": ["path/to/dist/index.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

发展

在开发模式下运行:

npm run dev

MCP检验员测试

MCP检查器提供了一个交互式界面,用于在开发过程中测试和调试服务器。

  1. 创建一个 mcp.config.json 项目根目录中的文件:
{
  "mcpServers": {
    "fpl-mcp-server": {
      "command": "node",
      "args": ["dist/index.js"]
    }
  }
}
  1. 构建您的服务器:
npm run build
  1. 运行检查器:
npx @modelcontextprotocol/inspector --config ./mcp.config.json --server fpl-mcp-server
  1. 在浏览器中打开提供的URL,以交互方式测试所有可用工具

日志记录

服务器使用Winston对stderr进行结构化日志记录(以避免干扰MCP的stdio传输)。使用环境变量配置日志记录:

# Set log level (debug, info, warn, error)
LOG_LEVEL=debug npm start

# Set environment mode (affects log formatting)
NODE_ENV=development npm start

在开发模式下,日志被着色以提高可读性。所有日志都写入stderr,确保stdout上的MCP协议通信不受影响。

可用工具

  1. 搜索图层:按名字搜索玩家。需要 query (字符串)

    • 返回最多10名匹配的玩家及其ID、团队、位置和成本
    • 在调用get_player_stats或compare_players之前使用此FIRST
  2. 搜索_团队:按名称搜索团队。需要 query (字符串)

    • 返回匹配的团队及其ID和短名称
    • 在调用get_team_info之前先使用此命令
  3. get_current_gameweek:不需要参数

  4. get_player_stats:需要 playerId (1-1000)

    • 首先使用search_players查找玩家ID
  5. get_gameweek_fixtures:需要 gameweek (1-38)

  6. 比较玩家:需要 playerIds 阵列(2-10名玩家)

    • 首先使用search_players查找玩家ID
  7. get_team_info:需要 teamId (1-20)

    • 首先使用search_teams查找团队ID
  8. get_manager团队:需要 managerId (1-10000000),可选 gameweek (1-38)

    • 返回主教练的球队选择,包括首发XI、替补、队长、阵容和分数
    • 如果未指定gameweek,则返回当前gameweek团队

错误处理

该服务器包括全面的错误处理功能,用于:

  • 输入验证错误
  • FPL API故障
  • 网络连接问题
  • 球员/球队/比赛周ID无效

所有错误都以一致的格式返回,其中包含错误代码和详细消息。

贡献

欢迎投稿!请阅读我们的 贡献指南 和 行为准则 在提交PR之前。

该项目通过以下方式使用自动发布 请释放。合并时,提交到main以下 约定式提交,会自动创建或更新发布PR。合并该PR会触发一个新的GitHub版本,并自动生成发布说明。

更新日志

看 更改日志.md 发布历史。

许可证

麻省理工学院-见 许可证 文件以获取详细信息。