关于 gamedb-port
gamedb-port 通过命令行和 MCP 访问 IGDB 电子游戏数据库,可搜索游戏、获取详情、查看即将发布的游戏并执行自定义查询。它使用 Twitch OAuth 凭据,并支持原始 Apicalypse 查询。
主要功能
- 01按名称搜索游戏
- 02按游戏 ID 获取完整记录
- 03列出备受期待的即将发布游戏
- 04发送自定义 Apicalypse 查询
- 05同时提供命令行和 stdio MCP 服务
适用场景
- 01查找符合名称的游戏
- 02获取游戏的 IGDB 记录
- 03查看备受期待的即将发布游戏
- 04使用 Apicalypse 查询其他 IGDB 端点
MCP 相关
stdio MCP 服务提供游戏搜索、详情、预期发布和 IGDB 自定义查询工具。请求使用通过环境变量提供的 Twitch OAuth 凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 返回结果的最大数量,范围为 1 至 500。 |
| query | string | 是 | 要搜索的游戏名称。 |
| fields | string | 否 | 要返回的 IGDB 字段,以逗号分隔。 |
详细介绍
gamedb-port
gamedb-port 查询 IGDB 电子游戏数据库:按名称搜索游戏、获取单款游戏的完整记录、按热度列出最受期待的即将发售游戏,或向任意 IGDB 端点发送原始 Apicalypse 查询。一个二进制文件同时提供命令行界面和 stdio MCP 服务。
访问方式遵循 IGDB 文档中的约定。IGDB 使用 Twitch OAuth 进行身份验证:将 IGDB_CLIENT_ID 和 IGDB_CLIENT_SECRET 设置为你的 Twitch 应用凭据。工具会使用这两个值换取客户端凭据访问令牌,在进程内缓存令牌,并在每次调用时通过 Client-ID 标头发送令牌。如果缺少任一变量,命令会在发出任何请求前失败。
安装
IGDB_CLIENT_ID=... IGDB_CLIENT_SECRET=... npx @reneturcios/gamedb-port search zelda
也可以运行容器镜像:
docker run -i -e IGDB_CLIENT_ID=... -e IGDB_CLIENT_SECRET=... ghcr.io/cloudcorprecords/gamedb-port
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
gamedb-port search zelda --limit 5
gamedb-port search "final fantasy" --fields name,rating --limit 20
gamedb-port details 1942
gamedb-port details 1942 --fields name,summary,genres.name
gamedb-port anticipated
gamedb-port anticipated --limit 10 --min-hypes 50
gamedb-port query genres "fields name,slug; limit 5;"
gamedb-port --version
命令会输出上游 JSON 负载。退出码:成功时为 0,调用失败(缺少凭据、上游 API 错误或参数值无效)时为 1,用法错误时为 2。
如果未指定 --fields,查询会请求以下默认字段集:
name,cover.url,first_release_date,genres.name,platforms.name,rating,summary。
MCP 服务
一个二进制文件提供两种接口。mcp 子命令会启动 stdio MCP 服务:
npx -y @reneturcios/gamedb-port mcp
MCP 客户端配置:
{
"mcpServers": {
"gamedb-port": {
"command": "npx",
"args": ["-y", "@reneturcios/gamedb-port", "mcp"],
"env": {
"IGDB_CLIENT_ID": "your-twitch-client-id",
"IGDB_CLIENT_SECRET": "your-twitch-client-secret"
}
}
}
}
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
search_games | query(必填)、fields、limit(1–500,默认 10) | 与名称搜索匹配的游戏。 |
get_game_details | game_id(必填)、fields | 单款游戏的完整 IGDB 记录。 |
get_most_anticipated_games | fields、limit(1–500,默认 25)、min_hypes(默认 25) | 发售日期在未来且按热度降序排列的游戏。 |
custom_query | endpoint、query(均必填) | 调用方的 Apicalypse 查询从该端点返回的结果。 |
三个结构化工具会为你构建 Apicalypse 请求体:
search_games 会转换为 search "<query>"; fields ...; limit ...;,
get_game_details 会转换为 fields ...; where id = <game_id>;,而
get_most_anticipated_games 会筛选 first_release_date > now & hypes >= <min_hypes> 并按 hypes desc 排序。custom_query
会将其 query 请求体原样发送到 https://api.igdb.com/v4/<endpoint>。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。