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 分