Tabletopdb

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 3, 2026

BoardGameGeek 工具:搜索、详情、收藏、热门列表、交易和推荐。

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

BoardGameGeek tools: search, details, collections, hot list, trades, and recommendations.

已验证STDIO仅桌面

概览

Tabletopdb 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Tabletopdb,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

tabletopdb

BoardGameGeek tools for agents: search the BGG catalogue, pull game details and collections, check the hot list, find trades, and get recommendations — all through the public BoardGameGeek XML API2.

tabletopdb is a clean-room rebuild of the documented bgg-mcp tool set (originally by kkjdaniel), written fresh from its public README tool list. It reproduces the tool surface and the request/response handling against the BGG XML API2; it does not copy the original project's code.

One bin serves two faces:

  • a small CLI: tabletopdb <tool-name> '<json-arguments>'
  • a stdio MCP server: tabletopdb mcp

Requirements

  • Node.js 20 or newer.
  • A BoardGameGeek API key in the environment:
bash
export BGG_API_KEY="your-bgg-api-key"

Every call sends Authorization: Bearer $BGG_API_KEY. When the key is missing or blank, calls fail with an error naming BGG_API_KEY before any request is made.

Optional environment variables:

  • BGG_API_URL — override the API base (default https://boardgamegeek.com/xmlapi2).
  • BGG_USERNAME — your BGG username; enriches bgg-price identity output only.

CLI usage

Tool names are hyphenated, exactly as documented:

bash
tabletopdb bgg-search '{"query":"Catan"}'tabletopdb bgg-details '{"id":13}'tabletopdb bgg-collection '{"username":"someuser"}'tabletopdb bgg-hot '{}'tabletopdb bgg-user '{"username":"someuser"}'tabletopdb bgg-price '{"id":13}'tabletopdb bgg-trade-finder '{"username":"someuser","maxResults":10}'tabletopdb bgg-recommender '{"id":13,"limit":5}'tabletopdb bgg-rules '{"id":13}'tabletopdb bgg-thread-details '{"threadId":123456}'tabletopdb --version

Exit codes: 0 success, 1 API/validation error, 2 usage error (unknown command or malformed JSON arguments).

MCP usage

bash
npx -y @reneturcios/tabletopdb mcp

MCP client config:

json
{  "mcpServers": {    "tabletopdb": {      "command": "npx",      "args": ["-y", "@reneturcios/tabletopdb", "mcp"],      "env": { "BGG_API_KEY": "your-bgg-api-key" }    }  }}

Docker:

bash
docker run -i -e BGG_API_KEY="your-bgg-api-key" ghcr.io/cloudcorprecords/tabletopdbdocker run --rm -e BGG_API_KEY="your-bgg-api-key" ghcr.io/cloudcorprecords/tabletopdb bgg-hot '{}'

Tools

BGG answers in XML; responses are converted to JSON by a small built-in parser (attributes become fields, repeated elements become arrays, element text is kept under a value key where mixed).

ToolArgumentsWhat it does
bgg-searchquery (required), typeSearch BGG by name. type defaults to boardgame.
bgg-detailsid (number, required), typeFull thing details with stats (/thing?id=&stats=1).
bgg-collectionusername (required)A user's owned collection (own=1&stats=1). If BGG answers HTTP 202 (collection being prepared), returns {status: "accepted", note} instead of an error — retry shortly.
bgg-hottypeThe current BGG hot list. type defaults to boardgame.
bgg-userusername (required)A BGG user profile.
bgg-priceid (number, required)Resolves the game's identity via BGG and returns {id, name, price_sources: [], note}. Live price lookup needs a separate price-data provider; see Gaps.
bgg-trade-finderusername (required), maxResultsCollection items whose status is marked fortrade, as {username, for_trade, count}.
bgg-recommenderid (number, required), limitCategory heuristic: takes the game's first category, searches it, and returns up to limit other games (default 10). See Gaps.
bgg-rulesid (number, required){id, name, description, bgg_url, note} — the game's BGG description and page link. Full rules live in BGG files/wiki.
bgg-thread-detailsthreadId (number, required)A forum thread with its parsed articles.

Gaps

  • bgg-price is an identity shaping, not a price feed: the original project resolves prices through external price sources that its README does not specify, so this rebuild returns the BGG-resolved identity with an empty price_sources list and an explicit note.
  • bgg-rules is an info shaping for the same reason: it returns the game's description and canonical BGG page; the full rules live in the files and wiki on that page.
  • bgg-recommender is a labelled category heuristic (shared first category, source game excluded), not a learned recommendation model.
  • The collection HTTP 202 semantics are simplified to a single {status: "accepted", note} object; callers poll by retrying.
  • No live BGG call was made while building this package; behaviour is verified against fake-fetch fixtures only.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, fake fetch only, no networknpm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

来源:README.md,提交 86e1160

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Nov 3, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分