Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Discover BitBooth APIs for free, then buy capped x402 fetch, PageDelta, and wallet checks.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
BITBOOTH_AGENT_KEY, BITBOOTH_API_URL, BITBOOTH_CHAIN_ID, BITBOOTH_PAYMENT_RAIL, BITBOOTH_XRPL_SEED, BITBOOTH_MAX_PER_CALL_USD, BITBOOTH_DAILY_LIMIT_USDValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"bitbooth-fetch": {
"command": "npx",
"args": [
"-y",
"@bitbooth/mcp-fetch"
],
"env": {
"BITBOOTH_AGENT_KEY": "your-value",
"BITBOOTH_API_URL": "your-value",
"BITBOOTH_CHAIN_ID": "your-value",
"BITBOOTH_PAYMENT_RAIL": "your-value",
"BITBOOTH_XRPL_SEED": "your-value",
"BITBOOTH_MAX_PER_CALL_USD": "your-value",
"BITBOOTH_DAILY_LIMIT_USD": "your-value"
}
}
}
}Run this in your terminal
claude mcp add bitbooth-fetch --env BITBOOTH_AGENT_KEY=your-value --env BITBOOTH_API_URL=your-value --env BITBOOTH_CHAIN_ID=your-value --env BITBOOTH_PAYMENT_RAIL=your-value --env BITBOOTH_XRPL_SEED=your-value --env BITBOOTH_MAX_PER_CALL_USD=your-value --env BITBOOTH_DAILY_LIMIT_USD=your-value -- npx -y @bitbooth/mcp-fetchFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"bitbooth-fetch": {
"command": "npx",
"args": [
"-y",
"@bitbooth/mcp-fetch"
],
"env": {
"BITBOOTH_AGENT_KEY": "your-value",
"BITBOOTH_API_URL": "your-value",
"BITBOOTH_CHAIN_ID": "your-value",
"BITBOOTH_PAYMENT_RAIL": "your-value",
"BITBOOTH_XRPL_SEED": "your-value",
"BITBOOTH_MAX_PER_CALL_USD": "your-value",
"BITBOOTH_DAILY_LIMIT_USD": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"bitbooth-fetch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bitbooth/mcp-fetch"
],
"env": {
"BITBOOTH_AGENT_KEY": "your-value",
"BITBOOTH_API_URL": "your-value",
"BITBOOTH_CHAIN_ID": "your-value",
"BITBOOTH_PAYMENT_RAIL": "your-value",
"BITBOOTH_XRPL_SEED": "your-value",
"BITBOOTH_MAX_PER_CALL_USD": "your-value",
"BITBOOTH_DAILY_LIMIT_USD": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
BITBOOTH_API_URL envBITBOOTH_CHAIN_ID envBITBOOTH_PAYMENT_RAIL envBITBOOTH_MAX_PER_CALL_USD envBITBOOTH_DAILY_LIMIT_USD envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account Drock91, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: BITBOOTH_AGENT_KEY, BITBOOTH_XRPL_SEED
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.3.1) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Draugr
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
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.
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:
{
"mcpServers": { "bitbooth": { "command": "npx", "args": ["-y", "@bitbooth/mcp-fetch@^2.3.1"] } } }
Add a dedicated testnet wallet to enable the paid fetch tool:
{
"mcpServers": { "bitbooth": { "command": "npx", "args": ["-y", "@bitbooth/mcp-fetch@^2.3.1"], "env": { "BITBOOTH_AGENT_KEY": "0x ", "BITBOOTH_MAX_PER_CALL_USD": "0.10", "BITBOOTH_DAILY_LIMIT_USD": "1.00" } } } }
claude mcp add bitbooth -- npx -y @bitbooth/mcp-fetch@^2.3.1
Set your agent wallet key:
export BITBOOTH_AGENT_KEY="0x<your-testnet-wallet-private-key>"
npm install -g @bitbooth/mcp-fetch@^2.3.1
mcp-fetch # runs on stdio
BITBOOTH_AGENT_KEY to the wallet's private key (0x...)Every install exposes two free tools that never sign or submit a payment:
discover_bitbooth(
query: "repair malformed JSON", category: "utility", maxPriceUsd: 0.01, network: "eip155:8453", limit: 10 )
preflight_bitbooth( route: "json-repair", maxPriceUsd: 0.01, network: "eip155:8453" )
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:
fetch(url: "https://example.com", mode: "full")
Modes:
| Mode | Price | Description | Best for |
|---|---|---|---|
fast | 0.005 USDC | Raw HTML converted to markdown | Quick lookups, static pages |
full | 0.005 USDC | Article extraction (Readability) then markdown | Blog posts, docs, news |
Returns markdown with title, body, and metadata (URL, timestamp, content length, truncation status).
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(url: "https://example.com/pricing")
watch_xrpl_wallet( address: "rAgentWallet...", minCallsRemaining: 10, minSpendableXrpDrops: "1000", allowedDestinations: ["rKnownMerchant..."] )
page_delta( requestId: "2f019f98-7bea-4c44-9b3f-2d6d9ffbce6c", url: "https://example.com/pricing", extract: "article", focus: "Enterprise price", cursor: "pd1_ " )
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:
{
"mcpServers": { "bitbooth-watch": { "command": "npx", "args": ["-y", "@bitbooth/mcp-fetch@^2.3.1"], "env": { "BITBOOTH_PAYMENT_RAIL": "xrpl-rlusd", "BITBOOTH_XRPL_SEED": "sEd ", "BITBOOTH_MAX_PER_CALL_USD": "0.010000", "BITBOOTH_DAILY_LIMIT_USD": "0.10" } } } }
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.
| Item | Cost |
|---|---|
discover_bitbooth | Free — reads the public live catalog |
preflight_bitbooth | Free — selects a requirement but never signs or pays |
fast/full | 0.005 USDC per fetch |
watch_page | 0.001 RLUSD per fingerprint comparison |
watch_xrpl_wallet | 0.001 RLUSD per wallet runway/activity check |
page_delta | 0.010000 RLUSD per rendered observation and comparison |
| Gas | Base gas as applicable; XRPL fee is capped at 100 drops by default |
| Default chain | Base Sepolia (testnet). Explicit opt-in for mainnet. |
| Env var | Description | Default |
|---|---|---|
BITBOOTH_AGENT_KEY | Dedicated EVM agent private key (required only for the paid Base fetch tool) | — |
BITBOOTH_PAYMENT_RAIL | base or explicit mainnet opt-in xrpl-rlusd | base |
BITBOOTH_XRPL_SEED | Dedicated XRPL seed; required only for xrpl-rlusd | — |
BITBOOTH_CHAIN_ID | Base network for the legacy fetch tool. The default public /v1/fetch origin currently requires 84532 (Base Sepolia). | 84532 |
BITBOOTH_API_URL | BitBooth gateway URL | https://app.heinrichstech.com |
BITBOOTH_RPC_URL | EVM RPC endpoint | https://base-sepolia-rpc.publicnode.com |
BITBOOTH_CONFIRMATIONS | Tx confirmations to wait before retry (minimum two) | 2 |
BITBOOTH_API_KEY | Optional tenant API key (for higher rate limits) | — |
BITBOOTH_MAX_PER_CALL_USD | Maximum stablecoin amount accepted from one challenge; explicitly set at least 0.010000 to expose PageDelta | 0.10 Base / 0.001 XRPL |
BITBOOTH_DAILY_LIMIT_USD | Per-wallet, per-UTC-day reservation cap; XRPL accounting is durable across restarts | 1.00 Base / 0.10 XRPL |
| BITBOOTH_XRPL_WS_URL | Credential-
Only the beginning is shown; read the rest in the repo