BitBooth Agent Tools
io.github.Drock91由 GitHub 账号 Drock91 发布v2.3.1更新于 Oct 24, 2026
Discover BitBooth APIs for free, then buy capped x402 fetch, PageDelta, and wallet checks.
概览
一个 MCP 服务器,让助手免费浏览 BitBooth 的 x402 API 目录,并按次付费抓取网页、监控页面变化或检查 XRPL 钱包余额。
- 可以做什么
- 免费发现并预检 BitBooth API 路由,可按查询、类别、价格上限和网络筛选,不签名也不付款。通过 Base USDC 把公开网址抓取为 Markdown,支持快速原始 HTML 和完整正文提取两种模式。在 XRPL RLUSD 模式下为页面生成指纹,并在后续调用中报告有意义的变化。检查 XRPL 钱包的可用 XRP、RLUSD 余额、近期活动和陌生收款地址。渲染页面并与付款方上次观察结果比较,返回有界 Markdown、重点证据和可选 JPEG 快照。
- 适用场景
- 当助手需要通过按次付费的 x402 网关读取网页、监控页面变化或钱包余额,且不想注册账号时使用。免费的发现和预检工具本身也可用来了解 BitBooth 提供哪些路由以及费用多少。
- 运行要求
- 通过 npm 包以 stdio 在本地运行,通常用 npx 启动,因此需要 Node.js。需要能访问 BitBooth 网关的网络。付费的 Base 抓取工具需要 BITBOOTH_AGENT_KEY,即一个有余额的 EVM 钱包私钥;默认网络是 Base Sepolia 测试网。XRPL 模式需要把 BITBOOTH_PAYMENT_RAIL 设为 xrpl-rlusd 并提供 BITBOOTH_XRPL_SEED。支出上限由 BITBOOTH_MAX_PER_CALL_USD 和 BITBOOTH_DAILY_LIMIT_USD 设置。
安装
在 SourceWeft 中
- 打开 控制台中的 BitBooth Agent Tools,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@bitbooth/mcp-fetch
[npm version] [MCP Registry] [MIT license]
An agent-facing x402 catalog and buyer shipped as one MCP server. Discover and preflight BitBooth APIs for free, fetch a URL over Base USDC, or explicitly opt into XRPL mainnet RLUSD for PageDelta, lightweight page watching, and XRPL wallet-runway monitoring.
What makes this worth paying for:
page_deltarenders a public page, returns bounded Markdown and exact focus evidence, compares it with that payer's prior observation, and may include a bounded JPEG snapshot. It also returns hashes, an opaque tracking cursor that never authorizes access, a content-bound observation ID that is not a public attestation, and settled payment metadata. Web content is always marked untrusted.🧭 Scope:
discover_bitboothandpreflight_bitboothare free and available in every rail mode, even without a wallet credential. Base remains the default paid rail and exposesfetch. Explicitxrpl-rlusdmode exposes the 0.001-RLUSD watch tools and keepspage_deltavisible for recovery. New PageDelta signing requires an explicit per-call cap of at least0.010000; a zero, omitted, or subsequently lowered cap permits only exact recovery of an already-signed proof. The live catalog at/bazaar.jsonis canonical.✅ Verified on-chain — BitBooth's XRPL merchant receipts are public on the XRPL AI profile.
🛡️ Testnet by default. A fresh install uses Base Sepolia. XRPL is mainnet-only and requires both an explicit rail selection and a separate XRPL seed.
Install
Use version 2.3.1 for accurate PageDelta onboarding: this patch corrects the examples to include PageDelta's required
requestIdand accurately identifies the default public/v1/fetchroute as Base Sepolia. It does not expand the payment runtime or add payment networks. PageDelta remains on the serialized XRPL buyer introduced in 2.3.0. Keep the^2.3.1pin below so older clients cannot expose an incompatible tool contract or stale setup guidance.
MCP-native — drop into Claude Desktop, Claude Code, Cursor, Windsurf, Continue, or any MCP-compatible client. The snippet below matches the canonical install on app.heinrichstech.com.
Claude Desktop / Cursor / Windsurf / Continue
Paste into claude_desktop_config.json (Claude Desktop), .cursorrules.mcp.json (Cursor), or your client's MCP config:
For free catalog discovery and preflight, no wallet is required:
Add a dedicated testnet wallet to enable the paid fetch tool:
Claude Code
Set your agent wallet key:
Global install
Get a testnet wallet + USDC (free, 2 minutes)
- Generate an EVM wallet or use an existing one you control
- Fund it with Base Sepolia ETH (gas): https://www.alchemy.com/faucets/base-sepolia
- Fund it with Base Sepolia USDC: https://faucet.circle.com (select Base Sepolia)
- Set
BITBOOTH_AGENT_KEYto the wallet's private key (0x...)
Usage
Every install exposes two free tools that never sign or submit a payment:
discover_bitbooth fetches and validates the live catalog, then returns concise JSON with matching routes and advertised payment requirements. Set configuredOnly: true to filter to the MCP server's configured network and asset instead of browsing all rails.
preflight_bitbooth accepts an exact route name, path, or URL and either selects one compatible advertised requirement under the hard price ceiling or returns a structured no_match. If network or asset is explicit, that filter wins, but it does not reconfigure the buyer: the selected requirement must still match the server's configured payment rail. Otherwise preflight uses that configured rail automatically. Its output always contains paymentAuthorized: false. A buyer must still compare the selection with the live HTTP 402 challenge before signing.
With a Base wallet configured, your agent also gets the paid fetch tool:
Modes:
Returns markdown with title, body, and metadata (URL, timestamp, content length, truncation status).
XRPL RLUSD agent tools
XRPL mode replaces the paid fetch tool with two 0.001-RLUSD watch tools. With an explicit per-call cap of at least 0.010000, it also exposes PageDelta. The free discovery and preflight tools remain available:
watch_page stores a lightweight content fingerprint, then reports meaningful changes on later calls. watch_xrpl_wallet returns OK, WARN, or CRITICAL with spendable XRP after reserves, RLUSD trust-line and paid-call runway, recent validated activity, unfamiliar destinations, and payer-scoped baseline deltas. Omitted wallet-watch policy fields use server defaults: 0.001 RLUSD per planned call, 10 calls remaining, 1,000 spendable drops, no known destinations, and 50 recent transactions.
page_delta costs exactly 0.010000 RLUSD. It requires a caller-generated UUID requestId; reuse that UUID only to recover the same paid attempt. Before starting a later observation, use a new UUID and set acknowledgeRequestId to the prior completed UUID. Its extract value is article (default) or raw; focus is an optional exact, case-sensitive search over the bounded Markdown; and cursor is the opaque value from a prior observation. A missing screenshot is a valid result and is explained in warnings.
To opt in, use a dedicated low-balance payment wallet that holds only the RLUSD and XRP gas budget intended for this agent:
This is real mainnet spend. BITBOOTH_AGENT_KEY is never used as an XRPL seed, and setting only BITBOOTH_XRPL_SEED does not enable XRPL payments. Keep BITBOOTH_MAX_PER_CALL_USD=0.001 if the agent should have only the watch tools; PageDelta will not be registered. Monitoring the payment wallet itself works, but its own watch payment changes that wallet; for cleaner incident signals, pay from a separate low-balance watchdog wallet.
Pricing
Configuration
Base-network compatibility
The legacy Base client supports chain ID 8453 only when BITBOOTH_API_URL points to a compatible x402 origin that actually challenges on Base mainnet. The default public https://app.heinrichstech.com/v1/fetch route currently challenges on Base Sepolia (84532), and the client intentionally rejects a challenge whose network does not match its configuration.
Do not set BITBOOTH_CHAIN_ID=8453 against the default origin. BitBooth's live PageDelta mainnet path in this package is the explicit xrpl-rlusd configuration above.
XRPL safety pins
XRPL mode refuses to pay unless every live PAYMENT-REQUIRED challenge matches all of these values:
- HTTPS origin
https://app.heinrichstech.com - network
xrpl:0, schemeexact, and the canonical hex-encoded RLUSD currency - Ripple RLUSD issuer
rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De - BitBooth recipient
rfryheo6yzFdLWj8qUQtZc7zG9MKkBkUEy - exact requested resource URL, a bounded one-time invoice, and the expected source tag
- exactly
0.001000RLUSD for either XRPL watch tool - exactly
0.010000RLUSD for PageDelta on the existing/v1/cdp/render-proresource
The transaction is last-ledger bounded, partial payments are forbidden, and autofilled recipient, amount, issuer, invoice, memo, and fee fields are checked again before signing. The signed payload is sent as PAYMENT-SIGNATURE; it and the seed are never printed.
watch_page rejects credential-bearing URLs, localhost and .local names, and literal private, loopback, or link-local IPs before requesting a challenge. BitBooth also resolves and checks DNS server-side before settlement to cover rebinding and hostname-to-private-address cases. watch_xrpl_wallet validates classic addresses, numeric bounds, activity limits, and a maximum 25-address allowlist before requesting a challenge.
Programmatic use
Catalog discovery and preflight can be used without constructing a wallet client:
For automatic payment:
How it works
The free catalog client performs one credential-free GET /bazaar.json, validates the complete remote payload with Zod, and filters locally. It sends no API key, wallet key, seed, signature, or payment header. Preflight is advisory: the eventual buyer must validate the fresh HTTP 402 challenge again.
For Base payments, the package performs the existing request-bound USDC transfer flow. In XRPL mode it reads the base64 PAYMENT-REQUIRED v2 header, selects exactly one pinned RLUSD requirement, checks the route's exact canonical price, reserves spend durably, and only then signs an invoice-bound XRPL Payment and sends the base64 PAYMENT-SIGNATURE. PageDelta uses this same code path—not a second signer or payment loop. The full XRPL lifecycle is serialized per wallet, including across package clients and processes. At most one unresolved proof is retained per wallet; same-request retries reuse it byte-for-byte, while a different request is blocked until the first resolves. page_delta requires a caller-generated UUID requestId: reuse it only to recover the same paid attempt. A validated result remains recoverable until the next PageDelta call supplies a new UUID plus acknowledgeRequestId equal to the prior UUID. The acknowledgement and next reservation are one atomic wallet-document transition. Automatic watch results do not require IDs, stay fresh, and cannot overwrite an unacknowledged explicit PageDelta result.
XRPL proofs, bounded completed results, and the per-wallet UTC-day spend ledger are encrypted
together in one per-wallet document using a key derived from the dedicated wallet seed. The
document is fsynced and atomically replaced; POSIX ownership/mode and Windows private DACL
readback are enforced fail-closed.
Set BITBOOTH_XRPL_JOURNAL_DIR only when the MCP host needs a different persistent state
directory. After a restart, retry the exact same requestId and input. Never delete this state
merely to bypass the block. A lease owned by a live process is not stolen; native HTTP calls are
bounded to 30 seconds, and a genuinely wedged host must be terminated before PID-based recovery.
Zero human in the loop. Zero signup. Just pay-per-call via x402.
What endpoints can my agent call
Every mode exposes discover_bitbooth and preflight_bitbooth. Paid tool exposure follows the selected rail: fetch on Base; watch_page, watch_xrpl_wallet, and recovery-capable page_delta on XRPL RLUSD. PageDelta starts new spend only with an explicit per-call cap of at least 0.010000. Agents can call the rest of BitBooth over plain HTTP with a compatible x402 buyer. Prices and route inventory change, so /bazaar.json and the fresh HTTP 402 challenge are canonical.
Federal posture
BitBooth is operated by a service-disabled veteran-owned small business (SDVOSB certified) with an active CAGE code and SAM.gov registration. Defense and federal-contractor teams can procure implementation and managed-operations support through an identifiable U.S. supplier. Details are on the landing page.
Security notes
BITBOOTH_AGENT_KEYandBITBOOTH_XRPL_SEEDare secrets. Use separate dedicated agent wallets, never a personal or treasury wallet.- Discovery-only installs need neither secret. The catalog client never forwards
BITBOOTH_API_KEYor any payment credential to/bazaar.json. - Default config uses testnet. Never set mainnet keys in a testnet config.
- Base validates the recipient from each payment challenge; all XRPL tools pin the canonical network, issuer, merchant, resource, and route-specific price in code. If delivery fails after settlement, the XRPL proof is retained for safe replay; retry the byte-identical tool request and do not manually submit another payment.
- Base spend reservations are process-local. XRPL reservations and confirmed totals are additionally persisted before signing in the encrypted per-wallet UTC-day ledger, so process restarts cannot reset the configured XRPL daily limit. A signed reservation is released only after a body/header-bound definitive non-settlement response. An unsigned reservation is atomically released if its challenge expires or current caps revoke it.
- The encrypted document and private directory fail closed if the document alone is deleted or corrupted. A malicious user with the same OS account can still delete or roll back all local state; no purely local journal can distinguish that from first use without creating another split-brain state store. Treat the local account as trusted and keep the dedicated agent wallet deliberately low-balance—the on-ledger wallet balance is the hard loss ceiling.
License
MIT
来源:packages/mcp-fetch/README.md,提交 6161a5c
工具
0版本历史
1- v2.3.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
