mcpField
G
gamedb-port

gamedb-port

本地服务
github.com/CloudCorpRecords游戏娱乐01 周前更新

关于 gamedb-port

gamedb-port 通过命令行和 MCP 访问 IGDB 电子游戏数据库,可搜索游戏、获取详情、查看即将发布的游戏并执行自定义查询。它使用 Twitch OAuth 凭据,并支持原始 Apicalypse 查询。

主要功能

  1. 01按名称搜索游戏
  2. 02按游戏 ID 获取完整记录
  3. 03列出备受期待的即将发布游戏
  4. 04发送自定义 Apicalypse 查询
  5. 05同时提供命令行和 stdio MCP 服务

适用场景

  1. 01查找符合名称的游戏
  2. 02获取游戏的 IGDB 记录
  3. 03查看备受期待的即将发布游戏
  4. 04使用 Apicalypse 查询其他 IGDB 端点

MCP 相关

stdio MCP 服务提供游戏搜索、详情、预期发布和 IGDB 自定义查询工具。请求使用通过环境变量提供的 Twitch OAuth 凭据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-gamedb-port": {
"command": "npx",
"args": [
"-y",
"@reneturcios/gamedb-port"
]
}
}
}
启动命令npx -y @reneturcios/gamedb-port

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/gamedb-port0.1.0
ocighcr.io/cloudcorprecords/gamedb-port:0.1.0

工具

4

收录的工具列表 · 更新于 1 周前

参数类型必填说明
limitnumber否返回结果的最大数量,范围为 1 至 500。
querystring是要搜索的游戏名称。
fieldsstring否要返回的 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_gamesquery(必填)、fields、limit(1–500,默认 10)与名称搜索匹配的游戏。
get_game_detailsgame_id(必填)、fields单款游戏的完整 IGDB 记录。
get_most_anticipated_gamesfields、limit(1–500,默认 25)、min_hypes(默认 25)发售日期在未来且按热度降序排列的游戏。
custom_queryendpoint、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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。