游戏库查询服务

MCP LaunchBox 是一个允许AI助手查询LaunchBox游戏库的服务,支持跨平台搜索游戏集合,适用于游戏管理、购买决策和时间追踪等场景。

  • by danjam
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 danjam/mcp-launchbox

使用说明

MCP发射箱

一 主控程序 服务器,让AI助手查询您的 启动盒 游戏库。直接从您的AI助手在所有平台(Steam、GOG、Epic、模拟器等)上搜索您的整个游戏收藏。

适用于Claude Desktop、Claude Code或任何兼容MCP的客户端。


用例

  • 发送游戏捆绑包的屏幕截图,并检查您已经拥有哪些捆绑包——模糊匹配可以处理OCR错误和拼写错误
  • 在购买打折游戏之前快速查找
  • 按平台或名称浏览您的库
  • 检查你在游戏上花了多少时间
  • 查找您尚未玩过的已安装游戏
  • 查看您当前在跨平台上玩的游戏

设置

需要 Node.js 20+.

1.安装LaunchBox

你需要 启动盒 安装了您的游戏数据。

2.配置您的MCP客户端

将服务器添加到MCP客户端的配置中。有两种方法可以做到这一点:

选项A:直接从GitHub运行(无需安装)

{
  "mcpServers": {
    "launchbox": {
      "command": "npx",
      "args": ["-y", "github:danjam/mcp-launchbox"],
      "env": {
        "LAUNCHBOX_PLATFORMS_PATH": "C:/LaunchBox/Data/Platforms"
      }
    }
  }
}

选项B:克隆并在本地运行

git clone https://github.com/danjam/mcp-launchbox.git
cd mcp-launchbox
npm install

然后将MCP客户端指向本地版本:

{
  "mcpServers": {
    "launchbox": {
      "command": "node",
      "args": ["/path/to/mcp-launchbox/dist/index.js"],
      "env": {
        "LAUNCHBOX_PLATFORMS_PATH": "C:/LaunchBox/Data/Platforms"
      }
    }
  }
}

替换 /path/to/mcp-launchbox 使用克隆项目的实际路径。


你能做什么

搜索游戏

按标题搜索游戏库。在标题和系列字段之间使用模糊匹配。标点符号(破折号、冒号、, &/and)默认情况下,在匹配之前进行标准化。

置信度:1.0=完全匹配,≥0.85=非常可能,≥0.65=可能,<0.65=推测。当查询标记仅作为标题标记的子字符串匹配时(例如“Doom”匹配“Doomblade”),可信度会受到惩罚。结果包括 exactMatch: true 当标准化查询等于标准化标题时。使用 get_game_details 获取完整元数据。

工具: search_games

参数 类型 必填 说明
query string 是 游戏标题或系列
platform string 否 平台(例如“Windows”、“Arcade”)
installed boolean 否 true=仅安装,false=仅卸载,省略=全部
favorite boolean 否 true=仅收藏,false=仅非收藏,省略=全部
limit number No 最大结果数(默认值25,最大值100)
exact boolean 否 仅精确匹配标题,不进行模糊搜索(默认为false)

检查库

检查列表中的哪些游戏已在库中。首先使用标准化标题匹配,然后使用模糊匹配——只包括置信度≥0.85的匹配,以避免误报。当 exact 如果为true,则只返回精确的标题匹配,没有模糊或前缀回退。当没有找到匹配时, nearMisses 最多显示5个接近的诊断候选者。一个接近的小姐 shorterTitle: true (无置信度字段)表示库中存在该标题的较短版本(例如,查询“帧后:最佳风景”时的“帧后”)——搜索较短的标题以确认所有权。默认情况下,匹配前会对标点符号进行标准化处理。

结果不包括店面或版本信息--使用 get_game_details 为了这个。

专为捆绑包重复检查而设计——在一次调用中传递所有标题,而不是一次搜索一个。省略 platform 检查所有平台(建议捆绑使用)。

工具: check_library

参数 类型 必填 说明
games string[] 是 要查找的游戏标题
platform string 否 平台(例如“Windows”、“Arcade”)
exact boolean 否 仅精确匹配标题,不进行模糊搜索(默认为false)

获取游戏详细信息

按ID获取特定游戏的完整详细信息。返回camelCase中的所有元数据:标题、平台、开发者、流派(数组)、系列、评级(communityStarRating和starRating,均为0-5)、播放时间({秒,小时})、安装状态等。字符串字段为 null 当空/丢失时。

当游戏有替代版本时(例如Steam/GOG/Epic、ROM区域或平台端口等多个店面) versions 数组包含在内。每个条目都有 version (店面名称或地区标识符), installed (布尔值),可选 region (ROM变体的标准化地理标签)。注: source 仅反映主条目的进口来源,而不是所有自有店面——检查 versions 为了全面了解情况。

工具: get_game_details

参数 类型 必填 说明
id string 是 搜索结果中的游戏ID
include_notes boolean 否 包括注释(默认为false)

列出游戏

列出并过滤库中的游戏。不像 search_games,这不会进行模糊匹配——它返回与指定过滤器匹配的游戏,并对其进行排序和分页。用于按平台、安装状态或收藏夹浏览,以及用于最近的查询,如“我本周添加了什么”。返回 total (过滤计数)和 results (紧凑型游戏对象,没有置信度分数,但有 dateAdded 和 lastPlayedDate 时间戳)。

工具: list_games

参数 类型 必填 说明
platform string 否 平台(例如“Windows”、“Arcade”)
installed boolean 否 true=仅安装,false=仅卸载,省略=全部
favorite boolean 否 true=仅收藏,false=仅非收藏,省略=全部
status string string[] 否
sort string 否 排序顺序;默认的“标题”。dateAdded/lastPlayedDate:最近的第一个;播放时间:最多先播放
limit number No 最大结果数(默认值25)
offset number 否 要跳过的结果(默认值0)

列出平台

列出库中的所有平台及其游戏计数。不需要参数。

工具: list_platforms

参考文献查重

查找按标题分组的重复游戏条目——包括跨平台和同一平台的重复项。

工具: find_duplicates

参数 类型 必填 说明
query string 否 可选标题过滤器(模糊匹配)
limit number 否 要返回的最大重复组数(默认值25)
offset number 否 要跳过的组(默认值0)

随机游戏

从库中随机选择一个游戏,可以选择过滤。用于“我应该玩什么?”或“给我惊喜”查询。返回一个游戏(形状与 list_games 结果)加 matchPool 显示有多少游戏与过滤器匹配。退货 null 比赛时没有比赛。

工具: random_game

参数 类型 必填 说明
platform string 否 平台(例如“Windows”、“Arcade”)
installed boolean 否 true=仅安装,false=仅卸载,省略=全部
favorite boolean 否 true=仅收藏,false=仅非收藏,省略=全部
status string string[] 否

获取统计信息

获取库摘要统计数据(总游戏数、总平台数、按游戏计数的前10个平台数和状态计数)。 statusCounts 列出所有不同的进度值及其计数,按降序排列——使用它可以发现库中存在哪些自由形式的状态值。不需要参数。

工具: get_stats

重新加载库

从磁盘重新加载所有游戏数据。在LaunchBox中添加或删除游戏后使用。返回游戏/平台计数加 added 和 removed 显示自上次加载以来发生了什么变化的数组(每个数组的id、标题、平台)。在第一次加载时,省略了diff。如果进度/状态值集发生变化 notifications/tools/list_changed 发送通知,以便客户端可以重新获取更新的工具模式。不需要参数。

工具: reload_library


许可证

麻省理工学院