使用说明
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