OSRS玩家数据服务

一个提供实时《Old School RuneScape》玩家统计数据和排行榜数据的Model Context Protocol (MCP)服务器,支持多种游戏模式和玩家比较功能。

  • by lukehollenback
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 lukehollenback/mcp-osrs-stats

使用说明

OSRS玩家统计MCP服务器

一种模型上下文协议(MCP)服务器,为人工智能助手提供实时老派RuneScape(OSRS)玩家统计数据和排行榜数据。

特性

  • 球员统计:获取任何OSRS玩家的全面统计数据,包括技能、活动和boss击杀次数
  • 技能排行榜:查看不同游戏模式下任何技能的顶级玩家
  • 活动/老板排行榜:查看活动、迷你游戏和老板遭遇的排名
  • 球员比较:并排比较多个玩家的统计数据
  • 多种游戏模式:支持主模式、铁人模式、硬核铁人模式、终极铁人模式、死亡模式和季节模式

安装

通过npx(推荐)

npx mcp-osrs-stats

通过npm

npm install -g mcp-osrs-stats
mcp-osrs-stats

用法

Claude桌面配置

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

{
  "mcpServers": {
    "osrs-player-stats": {
      "command": "npx",
      "args": ["-y", "mcp-osrs-stats"]
    }
  }
}

通过超级网关进行远程访问

对于远程访问或HTTP集成,请使用 超级网关 通过HTTP公开MCP服务器:

# Start the server with Streamable HTTP endpoint
npx supergateway --stdio "npx mcp-osrs-stats" --outputTransport streamableHttp --port 3000

# Server will be available at: http://localhost:3000/mcp

HTTP请求示例:

# List available tools
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

# Get player stats
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_player_stats","arguments":{"username":"zezima"}},"id":2}'

部署选项:

  • 将Supergateway+MCP服务器部署到任何云提供商
  • 与无服务器函数或容器一起使用
  • 通过HTTP端点与web应用程序集成
  • 将多个AI系统连接到同一OSRS数据源

可用工具

1. get_player_stats

检索特定OSRS播放器的全面统计数据。

参数:

  • username (必填):OSRS玩家用户名(1-12个字符)
  • gamemode (可选):玩家游戏模式(默认:“main”)

例子:

{
  "username": "Zezima",
  "gamemode": "main"
}

2. get_skill_leaderboard

为特定技能招募顶尖球员。

参数:

  • skill (必填):技能名称(如“攻击”、“伐木”、“整体”)
  • gamemode (可选):玩家游戏模式过滤器(默认:“main”)
  • page (可选):页码(默认:1,每页25名玩家)

有效技能: 总体而言,攻击、防御、力量、命中点、射程、祈祷、魔法、烹饪、伐木、打传单、捕鱼、生火、手工制作、铁匠、采矿、草药、敏捷性、偷窃、杀戮、耕种、狩猎、建筑

3. get_activity_leaderboard

让顶级玩家参与活动(老板、迷你游戏、线索)。

参数:

  • activity (必填):活动或老板姓名
  • gamemode (可选):玩家游戏模式过滤器(默认:“main”)
  • page (可选):页码(默认:1,每页25名玩家)

有效活动:

  • 线索滚动:Clue_Scrolls_all、Clue_scralls_beginner、Clue_Scrolls_easy等。
  • 老板:祖拉、沃卡斯、舍监、血战剧场等。
  • 其他:lms_rank、赏金猎人、灵魂战士、热情等。

4. compare_players

比较多个OSRS玩家之间的统计数据。

参数:

  • usernames (必填):2-5个玩家用户名的数组
  • focus (可选):比较重点(“技能”、“老板”、“活动”或“全部”)

例子:

{
  "usernames": ["Player1", "Player2", "Player3"],
  "focus": "skills"
}

游戏模式

  • main:常规账户
  • ironman:铁人账户
  • hardcore_ironman:铁杆铁人账户
  • ultimate_ironman:终极铁人账户
  • deadman:Deadman模式帐户
  • seasonal:季节性/联赛账户

错误处理

服务器为常见问题提供详细的错误消息:

  • 无效的用户名(格式错误、太长等)
  • 技能/活动名称无效
  • 未找到玩家
  • API连接问题

所有错误都包含指导正确使用的有用信息。

技术细节

  • 运行时:Node.js 18+
  • 语言:TypeScript
  • API:用途 osrs-json-hiscores OSRS数据库
  • 协议:模型上下文协议(MCP)
  • 验证:对所有输入进行Zod模式验证

贡献

  1. 审查 CLAUDE.md 完整的技术规范和开发模式
  2. 检查 DECISIONS.md 用于建筑背景和决策历史
  3. 遵循现有的代码模式,并确保所有更改都正确键入和验证
  4. 在提交PR之前运行完整的测试套件

许可证

麻省理工学院

支持

有关问题和功能请求,请查看项目的问题跟踪器。