
Buy Me a Coffee (read-only)
io.github.mayeu20由 GitHub 帳號 mayeu20 發布v0.1.2更新於 Oct 24, 2026
Read your own Buy Me a Coffee supporters, Extras purchases, memberships and totals.
概覽
唯讀 MCP 伺服器,讓助理查看你自己 Buy Me a Coffee 帳號的贊助者、Extras 購買、會員與彙總金額。
- 可以做什麼
- 依時間新到舊列出最近的一次性贊助,可依日期篩選並分頁。
- 列出最近的 Extras 購買紀錄,篩選與分頁方式相同。
- 列出會員紀錄,或回傳附說明的空結果。
- 依幣別彙總指定時間範圍內的贊助與 Extras 金額,並另外統計免費贊助數量。
- 預設將贊助者電子郵件遮蔽,除非明確要求完整地址。
- 適用情境
- 適合創作者讓助理了解自己 Buy Me a Coffee 的收入與贊助者狀況,例如近期贊助、Extras 銷售、會員,或最近數天、數月的分幣別彙總,而不必開啟後台。
- 執行需求
- 透過 npx 以 stdio 在本機執行,需要 Node.js 20 或更新版本。需要在創作者開發者後台產生 Buy Me a Coffee 個人存取權杖,並以環境變數 BMAC_TOKEN 提供。需要可連線至 Buy Me a Coffee 開發者 API 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Buy Me a Coffee (read-only),將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
buymeacoffee-mcp
Read your own Buy Me a Coffee account from an AI assistant. This MCP server runs over stdio and uses the official read-only API.
See recent supporters, Extras purchases, memberships, and totals by currency. This project is independent and not affiliated with Buy Me a Coffee. Buy Me a Coffee is a trademark of its owner.
Tools
limit accepts 1 to 100. days accepts 1 to 365. since accepts an ISO date or a timestamp with a timezone. max_pages accepts 1 to 20 per endpoint. Requests are spaced at least one second apart, so a 20-page walk takes about 20 seconds. Missing normalized fields are null. Every argument also carries its own description in the tool schema, so your client can show you this detail inline.
The two list tools and the two counting tools behave differently when they run out of pages, and it is the difference worth knowing:
list_supportersandlist_extra_purchasesreturn what they found and sethas_more. A result is not the whole story untilhas_moreis false.list_subscriptionsandsummaryreturn an error instead, naming the cap. Neither will hand back a partial membership list or a total computed over part of the window, because a short total reads exactly like a real one.
since filters after the rows are fetched rather than at the API, so asking for more history than max_pages covers gives you a partial window, not an error.
Summary checks newest-first ordering within and across pages for each endpoint. It stops after a whole page falls before the window, provided no ordering break was seen. A final page with next_page_url: null always completes the walk. If ordering breaks, summary keeps walking and returns an error if the cap leaves pages unread. early_stop says whether older pages were skipped; pages_fetched counts all fetched pages across both endpoints. The API serves five rows per page.
Summary excludes refunded supports and revoked purchases. supports.count includes free supports. supports.free_count counts non-refunded, in-window supports with amount zero, including free downloads. Subtract it from supports.count for the paid support count. Currency totals are unchanged.
Getting a token
Open the Buy Me a Coffee developer dashboard. Select Login and sign in with your creator account. In the developer dashboard, select "generate my token", give it a name, and select "generate". Copy the token into your client's BMAC_TOKEN setting.
Claude Desktop
Use node 20 or newer. Add this entry to your Claude Desktop MCP configuration:
Restart Claude Desktop after saving.
Claude Code
Replace ... with your token.
Cursor
Add this to your Cursor MCP configuration:
Codex CLI
Replace ... with your token.
Privacy
Emails are redacted by default as j***@example.com, including emails in notes and nested records. Set include_emails: true only when you need full addresses. This is data from the account owner's account and should be handled accordingly.
The server reads the token only from BMAC_TOKEN. It stays in the local process and is sent only to developers.buymeacoffee.com for authentication. The server contacts no other host, writes no files, and logs nothing. Tool results go to your assistant. There is no telemetry.
HTTP 403 and client fingerprints
The API can reject a client fingerprint with HTTP 403 and error code 1010. This may be a client-fingerprint block rather than a bad token. The server sends a browser-like User-Agent on every request. If a block persists, try again later. HTTP 429 means the API has throttled requests.
Development
Tests use synthetic fixtures and a local HTTP server. The live test is skipped unless both BMAC_LIVE=1 and BMAC_TOKEN are set. It uses your real account and makes three read-only requests. Never put a token in a tracked file.
scripts/probe-shape.mjs prints the API response shape without values, for verifying against a real account.
The API documentation is marked unmaintained. Field mappings, date assumptions, and page-cap behavior are recorded in NOTES.md in the repository.
Licence
MIT. Copyright 2026 Mathieu Kessler. See LICENSE.
來源:README.md,提交 01239cc
工具
0版本歷史
1- v0.1.2最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分