ZBD Bitcoin Lightning
STDIOAdd Bitcoin powers to your LLM.
Add Bitcoin powers to your LLM.
🚨 This MCP Server is no longer maintained. 🚨
We’ve moved to a new and improved MCP Server implementation. All future updates, features, and support will be provided there.
👉 Please migrate to the new MCP Server here: https://github.com/zebedeeio/zbd-payments-typescript-sdk/tree/main/packages/mcp-server
This repo will remain available for reference, but is not recommended for production use.
Add Bitcoin powers to your LLM.
This MCP server uses the official TypeScript SDK -- https://github.com/modelcontextprotocol/typescript-sdk
Get your API key from the ZBD Developer Dashboard and put it in a new .env
file under ZBD_API_KEY=XXXXXXXXXXXX
(check .env.example
for an example).
Once that's done run the pnpm build
command and setup the MCP server on your client (e.g. Claude Desktop or Cursor).
If you don't have Bun installed, you can install it using one of the following methods:
# Using curl (recommended) curl -fsSL https://bun.sh/install | bash # Using Homebrew brew install oven-sh/bun/bun # Using npm npm install -g bun
# Using PowerShell powershell -c "irm bun.sh/install.ps1|iex" # Using npm npm install -g bun # Using Scoop scoop install bun
Verify your installation by running:
bun --version
pnpm install
ps aux | grep mcp-zbd | grep -v grep
to list all running ZBD MCP Server instances.pkill -f mcp-zbd
to kill any duplicate ZBD MCP Server instances that may linger.This project demonstrates a modular approach to building MCP tools:
src
directorybin
directoryindex.ts
provides the actual tooling implementationsrc/zbd.ts
): ZBD API for global Bitcoin Lightning paymentsTo create a new tool:
src
directory (e.g., src/mytool.ts
)package.json
:"build:mytool": "mkdir -p bin && bun build src/mytool.ts --compile --minify --sourcemap --outfile bin/mcp-mytool"
build:all
script to include your new tool# Build all tools pnpm build # Build a specific tool pnpm build:zbd
The resulting executables will be in the bin
directory and can be run directly:
./bin/mcp-zbd
When using these tools with Cursor, always use the full path to the executable:
/path/to/your/project/bin/mcp-zbd
Alternatively, you can run the TypeScript files directly with Node:
/path/to/node ~/path/to/project/src/index.ts
# Run all tests pnpm test # Run tests in watch mode pnpm test:watch # Run tests with coverage pnpm test:coverage
The following tools are available in the ZBD MCP Server:
send-lightning-payment
- Send a Bitcoin Lightning Network payment to a Lightning Address using ZBDsend-gamertag-payment
- Send a Bitcoin payment to a ZBD Gamertagcreate-gamertag-charge
- Generate a payment request for a ZBD Uservalidate-lightning-address
- Verify the validity of a Lightning Addresscreate-lightning-charge
- Generate a payment request for a Lightning Addressget-userid-by-gamertag
- Retrieve User ID from a ZBD Gamertagget-gamertag-by-userid
- Retrieve ZBD Gamertag from a User IDsend-email-payment
- Send instant Bitcoin payments to any emailget-wallet-info
- Retrieve all data about a ZBD Project's Walletcheck-supported-region
- Verify if a user is coming from a supported regionget-zbd-ip-addresses
- Get the official IP addresses of ZBD serversinternal-transfer
- Performs a transfer of funds between two Projectscreate-withdrawal-request
- Create a Bitcoin withdrawal QR codeget-withdrawal-request
- Retrieve all data about a single Withdrawal Requestsend-payment
- Send a Bitcoin Lightning Network paymentget-payment
- Retrieve all data about a single Paymentdecode-charge
- Understand the inner properties of a Charge QR codecreate-charge
- Create a new Bitcoin Lightning Network chargeget-charge
- Retrieve all data about a single Chargecreate-voucher
- Create a single-use ZBD Voucher that can be redeemed by any ZBD userget-voucher
- Retrieve details about a ZBD Voucherredeem-voucher
- Redeem a ZBD Voucher to credit your Project walletrevoke-voucher
- Revoke a valid ZBD Voucher and reclaim the sats to your Project walletsend-batch-lightning-payments
- Send multiple Bitcoin Lightning Network payments to Lightning Addresses in a single request