Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Bsv Mcp

    An MCP Server for Bitcoin SV

    14 stars
    TypeScript
    Updated Aug 22, 2025

    Table of Contents

    • Installation Options
    • Option 1: Claude Code Plugin (Simplest)
    • Option 2: Hosted Version (FREE - No BSV Required!)
    • Option 3: Self-Hosted Installation
    • Prerequisites
    • Installing Bun
    • Connecting to MCP Clients
    • Claude Code
    • Cursor
    • Alternative for npm users
    • Claude for Desktop
    • Alternative for npm users (Claude)
    • VS Code (CLI Method)
    • Available Tools
    • Wallet Tools
    • BSV Tools
    • BSocial Tools
    • Ordinals Tools
    • Utility Tools
    • BAP (Bitcoin Attestation Protocol) Tools
    • bap_getId
    • bap_getCurrentAddress
    • bap_generate
    • MNEE Tools
    • Using the Tools with MCP
    • Wallet Operations
    • Ordinals (NFTs)
    • Collection Minting
    • Blockchain Operations
    • Data Conversion
    • Social Posts
    • MCP Prompts and Resources
    • Available Prompts
    • Ordinals Prompt
    • BSV SDK Prompts
    • Available Resources
    • Changelog Resource
    • BRC Resources
    • BRC Categories
    • Using Prompts and Resources
    • MCP Apps (Interactive Dashboard)
    • How MCP Works
    • Key Management & Security
    • Encrypted Key Storage (Recommended)
    • Security Best Practices
    • Environment Variables for Key Management
    • Customization Options
    • Component Configuration
    • Tool-Specific Configuration
    • Droplet API Configuration
    • Droplet API Mode
    • Example Droplet Configuration
    • Examples
    • Troubleshooting
    • Connection Issues
    • Keeping Bun Up to Date
    • Logging and Debugging
    • Recent Updates
    • Bitcoin SV Blockchain Explorer
    • Available Endpoints
    • Chain Data
    • Block Data
    • Stats Data
    • Transaction Data
    • Address Data
    • Network
    • Usage Examples
    • Network Options
    • Project Setup
    • Running the Server
    • Running Tests
    • Troubleshooting
    • License

    Table of Contents

    • Installation Options
    • Option 1: Claude Code Plugin (Simplest)
    • Option 2: Hosted Version (FREE - No BSV Required!)
    • Option 3: Self-Hosted Installation
    • Prerequisites
    • Installing Bun
    • Connecting to MCP Clients
    • Claude Code
    • Cursor
    • Alternative for npm users
    • Claude for Desktop
    • Alternative for npm users (Claude)
    • VS Code (CLI Method)
    • Available Tools
    • Wallet Tools
    • BSV Tools
    • BSocial Tools
    • Ordinals Tools
    • Utility Tools
    • BAP (Bitcoin Attestation Protocol) Tools
    • bap_getId
    • bap_getCurrentAddress
    • bap_generate
    • MNEE Tools
    • Using the Tools with MCP
    • Wallet Operations
    • Ordinals (NFTs)
    • Collection Minting
    • Blockchain Operations
    • Data Conversion
    • Social Posts
    • MCP Prompts and Resources
    • Available Prompts
    • Ordinals Prompt
    • BSV SDK Prompts
    • Available Resources
    • Changelog Resource
    • BRC Resources
    • BRC Categories
    • Using Prompts and Resources
    • MCP Apps (Interactive Dashboard)
    • How MCP Works
    • Key Management & Security
    • Encrypted Key Storage (Recommended)
    • Security Best Practices
    • Environment Variables for Key Management
    • Customization Options
    • Component Configuration
    • Tool-Specific Configuration
    • Droplet API Configuration
    • Droplet API Mode
    • Example Droplet Configuration
    • Examples
    • Troubleshooting
    • Connection Issues
    • Keeping Bun Up to Date
    • Logging and Debugging
    • Recent Updates
    • Bitcoin SV Blockchain Explorer
    • Available Endpoints
    • Chain Data
    • Block Data
    • Stats Data
    • Transaction Data
    • Address Data
    • Network
    • Usage Examples
    • Network Options
    • Project Setup
    • Running the Server
    • Running Tests
    • Troubleshooting
    • License

    Documentation

    Bitcoin SV MCP Server

    smithery badge

    ⚠️ NOTICE: Experimental Work in Progress

    This project is in an early experimental stage. Features may change, and the API is not yet stable.

    Contributions, feedback, and bug reports are welcome! Feel free to open issues or submit pull requests.

    A collection of Bitcoin SV (BSV) tools for the Model Context Protocol (MCP) framework. This library provides wallet, ordinals, and utility functions for BSV blockchain interaction.

    Installation Options

    Option 1: Claude Code Plugin (Simplest)

    Install bsv-mcp as a Claude Code plugin — one command, no configuration required:

    bash
    claude plugin install bsv-mcp@b-open-io

    The plugin bundles the MCP server and registers it automatically. This works in both local Claude Code and Cowork environments. No environment variables or JSON config needed to get started.

    Option 2: Hosted Version (FREE - No BSV Required!)

    The easiest way to get started! Use our hosted version with OAuth 2.1 authentication:

    1. Configure: Add the MCP server configuration to your IDE

    2. Authenticate: Sign in with your Bitcoin wallet via sigma-auth

    3. Use: Start using BSV features immediately - no BSV needed!

    json
    {
      "mcpServers": {
        "bsv-mcp-hosted": {
          "url": "https://bsv-mcp.rohenaz.workers.dev/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_ACCESS_TOKEN"
          }
        }
      }
    }

    To get your access token, authenticate at https://auth.sigmaidentity.com

    Benefits:

    • ✅ No Bitcoin required - we pay for everything
    • ✅ Secure OAuth 2.1 authentication with Bitcoin signatures
    • ✅ Instant setup - no installation needed
    • ✅ Always up-to-date
    • ✅ Global availability via Cloudflare

    Option 3: Self-Hosted Installation

    Prerequisites

    **Use Bun (Optional but recommended)

    This project is built using Bun, a fast JavaScript runtime and package manager. While Bun is recommended for best performance, the server can also run with Node.js and npm as Bun is designed to be backward compatible with node.

    Installing Bun

    macOS (using Homebrew):

    bash
    brew install oven-sh/bun/bun

    macOS/Linux/WSL (using installer script):

    bash
    curl -fsSL https://bun.sh/install | bash

    Windows:

    Windows users should use WSL (Windows Subsystem for Linux) or Docker to run Bun.

    Node.js and npm will also work but may not offer the same performance benefits.

    Connecting to MCP Clients

    This server implements the Model Context Protocol (MCP), allowing AI assistants to utilize Bitcoin SV functionalities. You can connect this server to various MCP-compatible clients.

    MCP Configuration Example

    Note: The PRIVATE_KEY_WIF environment variable is now optional. Without it, the server runs in limited mode with educational resources and non-wallet tools available. Wallet and MNEE token operations require a valid private key. You can also set the IDENTITY_KEY_WIF environment variable to enable sigma-protocol signing of ordinals inscriptions for authentication, curation, and web-of-trust.

    Claude Code

    To use the BSV MCP server with Claude Code:

    bash
    # Using bunx (recommended)
    claude mcp add bsv-mcp "bunx bsv-mcp@latest"
    
    # Or using npx
    claude mcp add bsv-mcp "npx bsv-mcp@latest"

    To add with environment variables:

    bash
    claude mcp add bsv-mcp "bunx bsv-mcp@latest" -e PRIVATE_KEY_WIF=your_key -e IDENTITY_KEY_WIF=your_identity_key

    For encrypted key storage (recommended):

    bash
    claude mcp add bsv-mcp "bunx bsv-mcp@latest" -e BSV_MCP_PASSPHRASE="your-secure-passphrase"

    Note: The server automatically runs in stdio mode when used with Claude Code CLI.

    Cursor

    Add BSV MCP server to Cursor

    Quick Install: Click the button above to automatically add the BSV MCP server to Cursor! This will install the server with the basic configuration using bunx bsv-mcp@latest.

    Manual Setup: To manually configure the BSV MCP server with Cursor:

    1. Install Cursor if you haven't already

    2. Open Cursor and navigate to Settings → Extensions → Model Context Protocol

    3. Click "Add a new global MCP server"

    4. Enter the following configuration in JSON format:

    json
    {
      "mcpServers": {
        "Bitcoin SV": {
          "command": "bunx",
          "args": [
            "bsv-mcp@latest"
          ],
          "env": {
            "PRIVATE_KEY_WIF": "",
            "IDENTITY_KEY_WIF": ""
          }
        }
      }
    }

    5. Replace ` with your actual private key WIF (keep this secure!) If you dont have one you can leave this off for now but you wont be able to use tools that require a wallet. ` is also optional. It will sign 1Sat Ordinals with Sigma protocol using the provided identity key.

    6. Click "Save"

    The BSV tools will now be available to Cursor's AI assistant under the "Bitcoin SV" namespace.

    Alternative for npm users

    If you prefer to use npm instead of Bun:

    json
    {
      "mcpServers": {
        "Bitcoin SV": {
          "command": "npx",
          "args": [
            "bsv-mcp@latest"
          ],
          "env": {
            "PRIVATE_KEY_WIF": "",
            "IDENTITY_KEY_WIF": ""
          }
        }
      }
    }

    Claude for Desktop

    To connect this server to Claude for Desktop:

    1. Open Claude for Desktop and go to Claude > Settings > Developer

    2. Click "Edit Config".

    Open the Claude configuration json file in your favorite text editor. If you prefer to do it from the cli:

    bash
    # macOS/Linux
       code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
       # Windows
       code %APPDATA%\Claude\claude_desktop_config.json

    3. Add the BSV MCP server to your configuration:

    json
    {
         "mcpServers": {
           "Bitcoin SV": {
             "command": "bun",
             "args": [
               "run", "bsv-mcp@latest"
             ],
             "env": {
               "PRIVATE_KEY_WIF": "",
               "IDENTITY_KEY_WIF": ""
             }
           }
         }
       }

    4. Replace `` with your actual private key WIF

    5. Save the file and restart Claude for Desktop

    6. The BSV tools will appear when you click the tools icon (hammer) in Claude for Desktop

    Alternative for npm users (Claude)

    If you prefer to use npm instead of Bun, replace the "command" field with "npx".

    VS Code (CLI Method)

    If you prefer using the command line, you can add the BSV MCP server to VS Code (which uses the same underlying settings as Cursor) directly:

    Using Bun (Recommended):

    bash
    code --add-mcp '{"name":"Bitcoin SV","command":"bunx","args":["bsv-mcp@latest"],"env":{"PRIVATE_KEY_WIF":"","IDENTITY_KEY_WIF":""}}'

    Using Node.js/npm:

    bash
    code --add-mcp '{"name":"Bitcoin SV","command":"npx","args":["bsv-mcp@latest"],"env":{"PRIVATE_KEY_WIF":"","IDENTITY_KEY_WIF":""}}'
    • Replace `` with your actual private key WIF (optional, required for wallet tools).
    • Replace `` with your identity key WIF (optional, enables Sigma protocol signing).
    • Ensure the code command is in your system's PATH (it usually is if VS Code was installed normally).

    This command adds the server configuration to your VS Code settings.json file under the mcp.servers key.

    Available Tools

    The toolkit is organized into several categories:

    Wallet Tools

    Wallet tools provide core BSV wallet functionality:

    Tool NameDescriptionExample Output
    wallet_getPublicKeyRetrieves a public key for a specified protocol and key ID{"publicKey":"032d0c73eb9270e9e009fd1f9dd77e19cf764fbad5f799560c4e8fd414e40d6fc2"}
    wallet_createSignatureCreates a cryptographic signature for the provided data{"signature":[144,124,85,193,226,45,140,249,9,177,11,167,33,215,209,38,...]}
    wallet_verifySignatureVerifies a cryptographic signature against the provided data{"isValid":true}
    wallet_encryptionCombined tool for encrypting and decrypting data using the wallet's cryptographic keys.Examples:1. Encrypt text: "Encrypt this message: Hello World"2. Decrypt data: "Decrypt this data that was previously encrypted for me"Encrypt: {"ciphertext":[89,32,155,38,125,22,49,226,26,...]} Decrypt: {"plaintext":"hello world"}
    wallet_getAddressReturns a BSV address for the current wallet or a derived path{"address":"1ExampleBsvAddressXXXXXXXXXXXXXXXXX","status":"ok"}
    wallet_sendToAddressSends BSV to a specified address (supports BSV or USD amounts){"status":"success","txid":"a1b2c3d4e5f6...","satoshis":1000000}
    wallet_purchaseListingPurchases NFTs or BSV-20/BSV-21 tokens from marketplace listings{"status":"success","txid":"a1b2c3d4e5f6...","type":"nft","origin":"abcdef123456..."}
    wallet_createOrdinalsCreates and inscribes ordinals on the BSV blockchain{"txid":"a1b2c3d4e5f6...","inscriptionAddress":"1ExampleAddress...","contentType":"image/png"}

    BSV Tools

    Tools for interacting with the BSV blockchain and network:

    Tool NameDescriptionExample Output
    bsv_getPriceGets the current BSV price from an exchange APICurrent BSV price: $38.75 USD
    bsv_decodeTransactionDecodes a BSV transaction and returns detailed information{"txid":"a1b2c3d4e5f6...","version":1,"locktime":0,"size":225,"inputs":[...],"outputs":[...]}
    bsv_exploreComprehensive blockchain explorer tool accessing WhatsOnChain API endpoints{"chain_info":{"chain":"main","blocks":826458,"headers":826458,"bestblockhash":"0000000000..."}}

    BSocial Tools

    Tools for social interactions on the BSV blockchain (requires wallet):

    Tool NameDescriptionExample Output
    bsocial_createPostCreates a social post on the BSV blockchain using B:// and MAP protocols{"success":true,"txid":"a1b2c3d4e5f6...","rawTx":"0100000001..."}
    bsocial_readPostsReads social posts from the BSV blockchain with filtering optionsPost 1:\n TX ID: a1b2c3...\n Content: Hello BSV!\n Type: text/plain\n Author: 1Example...

    Ordinals Tools

    Tools for working with ordinals (NFTs) on BSV:

    Tool NameDescriptionExample Output
    ordinals_getInscriptionRetrieves detailed information about a specific inscription{"id":"a1b2c3d4e5f6...","origin":"a1b2c3d4e5f6...","contentType":"image/png","content":"iVBORw0KGgoAAA..."}
    ordinals_searchInscriptionsSearches for inscriptions based on various criteria{"results":[{"id":"a1b2c3...","contentType":"image/png","owner":"1Example..."},...]}
    ordinals_marketListingsRetrieves market listings for NFTs, BSV-20, and BSV-21 tokens with unified interface{"results":[{"txid":"a1b2c3...","price":9990000,"tick":"PEPE","listing":true},...]}
    ordinals_marketSalesGets information about BSV-20 and BSV-21 token market sales{"results":[{"txid":"a1b2c3...","price":34710050,"tick":"$BTC","sale":true},...]}
    ordinals_getTokenByIdOrTickerRetrieves details about a specific BSV20 token by ID{"tick":"PEPE","max":"21000000","lim":"1000","dec":"2"}

    Utility Tools

    General-purpose utility functions:

    Tool NameDescriptionExample Output
    utils_convertDataConverts data between different encodings (utf8, hex, base64, binary).
    • Args:
    • data (string, required): The data string to be converted.
    • from (string, required): Source encoding format (utf8, hex, base64, or binary).
    • to (string, required): Target encoding format (utf8, hex, base64, or binary).
    • Returns: The converted data as a string.

    BAP (Bitcoin Attestation Protocol) Tools

    Tools for interacting with BAP identities.

    bap_getId

    Retrieves a Bitcoin Attestation Protocol (BAP) identity profile using an idKey.

    • Args:
    • idKey (string, optional): The Identity Key (Paymail or public key string) to fetch the profile for. If not provided, the tool attempts to use the server's configured identity key (derived from IDENTITY_KEY_WIF or the key file ~/.bsv-mcp/keys.json).
    • Returns: A JSON string containing the BAP identity data if found, or a message indicating that no identity was found for the given key. Returns an error if the API request fails or the key cannot be derived.

    bap_getCurrentAddress

    Retrieves the current BAP identity's Bitcoin SV address. This address is derived from the server's configured identity key.

    • Args: None.
    • Returns: A JSON object containing the address string.

    bap_generate

    Generates a new BAP HD master key (xprv) and saves it to ~/.bsv-mcp/keys.json. This key can be used as a root for deriving multiple BAP identities.

    • Args: None.
    • Returns: A JSON object with the generated xprv string and a status message, or an error message if generation/saving fails.

    MNEE Tools

    Tools for working with MNEE tokens:

    Tool NameDescriptionExample Output
    mnee_getBalanceRetrieves the current MNEE token balance for the wallet{"balance": {"amount": 2900, "decimalAmount": 0.029}}
    mnee_sendMneeSend MNEE tokens to a specified address. Supports both MNEE and USD amounts{"success": true, "txid": "d1ce853934964e6c1fe9f44c918a824f175c6ab466b966f49ebc0682a8318895", "rawtx": "0100000002a0be40d8942015f1...", "mneeAmount": 0.01, "usdAmount": "$0.01", "recipient": "15mNxEkyKJXPD8amic6oLUjS45zBKQQoLu"}
    mnee_parseTxParse an MNEE transaction to get detailed information about its operations and amounts. All amounts are in atomic units with 5 decimal precision (e.g. 1000 atomic units = 0.01 MNEE){"txid": "d1ce853934964e6c1fe9f44c918a824f175c6ab466b966f49ebc0682a8318895", "environment": "production", "type": "transfer", "inputs": [{"address": "18izL7Wtm2fx3ALoRY3MkY2VFSMjArP62D", "amount": 2900}], "outputs": [{"address": "15mNxEkyKJXPD8amic6oLUjS45zBKQQoLu", "amount": 1000}, {"address": "19Vq2TV8aVhFNLQkhDMdnEQ7zT96x6F3PK", "amount": 100}, {"address": "18izL7Wtm2fx3ALoRY3MkY2VFSMjArP62D", "amount": 1800}]}

    Using the Tools with MCP

    Once connected, you can use natural language to interact with Bitcoin SV through your AI assistant. Here are some example prompts:

    Wallet Operations

    • "Get my Bitcoin SV address"
    • "Send 0.01 BSV to 1ExampleBsvAddressXXXXXXXXXXXXXXXXX"
    • "Send $5 USD worth of BSV to 1ExampleBsvAddressXXXXXXXXXXXXXXXXX"
    • "Send 0.01 MNEE to 1ExampleBsvAddressXXXXXXXXXXXXXXXXX"
    • "Check my MNEE balance"
    • "Parse this MNEE transaction: txid"
    • "Encrypt this message using my wallet's keys"
    • "Decrypt this data that was previously encrypted for me"
    • "Purchase this NFT listing: txid_vout"
    • "Purchase this BSV-20 token listing: txid_vout"

    Ordinals (NFTs)

    • "Show me information about the NFT with outpoint 6a89047af2cfac96da17d51ae8eb62c5f1d982be2bc4ba0d0cd2084b7ffed325_0"
    • "Search for Pixel Zoide NFTs"
    • "Show me the current marketplace listings for BSV NFTs"
    • "Show me BSV-20 token listings for ticker PEPE"
    • "Get recent BSV-20 token sales"

    Collection Minting

    The BSV MCP server provides a two-step process for minting ordinal collections from folders of images:

    1. Gather Collection Info (Pre-flight check)

    • "Analyze the folder /path/to/my/nft-images for collection minting"
    • "Check if I can mint a collection from ./my-art-folder"

    This step will:

    • Validate all images in the folder
    • Check your wallet balance
    • Estimate total costs
    • Suggest collection metadata
    • Report any issues before minting

    2. Mint Collection (Create the collection)

    • "Mint a collection called 'My Art Collection' from /path/to/images with description 'Amazing digital art'"
    • "Create an NFT collection from ./my-art-folder with traits: background=[red,blue,green], style=[vintage,modern]"
    • "Mint collection with rarity labels: common=60%, rare=30%, legendary=10%"

    Blockchain Operations

    • "What is the current BSV price?"
    • "Decode this BSV transaction: (transaction hex or ID)"
    • "Get the latest Bitcoin SV chain information"
    • "Show me block details for height 800000"
    • "Explore transaction history for address 1ExampleBsvAddressXXXX"
    • "Check unspent outputs (UTXOs) for my wallet address"
    • "Get details for transaction with hash a1b2c3d4e5f6..."

    Data Conversion

    • "Convert 'Hello World' from UTF-8 to hex format"

    Social Posts

    • "Create a post saying 'Hello BSV World!' on the blockchain"
    • "Post a markdown message: # My First On-Chain Post\n\nThis is bold and *italic* text"
    • "Read the latest social posts from the blockchain"
    • "Read posts by BAP identity 1SomeIdentityKey..."
    • "Get the post with transaction ID a1b2c3d4e5f6..."
    • "Show me replies to post txid a1b2c3d4e5f6..."

    MCP Prompts and Resources

    The BSV MCP server exposes specialized prompts and resources that provide detailed information and context about Bitcoin SV technologies. These can be accessed by AI models to enhance their understanding and capabilities.

    Available Prompts

    The server provides the following educational prompts that can be accessed directly via the MCP protocol:

    Ordinals Prompt

    • Identifier: bitcoin_sv_ordinals
    • Description: Comprehensive information about Bitcoin SV ordinals, including what they are, how they work, and how to use them.
    • Usage: Ask the assistant about "Bitcoin SV ordinals" or "1Sat Ordinals" to access this information.

    BSV SDK Prompts

    A collection of prompts providing detailed information about the Bitcoin SV SDK:

    • Overview
    • Identifier: bitcoin_sv_sdk_overview
    • Description: General overview of the Bitcoin SV SDK, including its purpose and main components.
    • Usage: "Tell me about the BSV SDK" or "What is the Bitcoin SV SDK?"
    • Wallet Operations
    • Identifier: bitcoin_sv_sdk_wallet
    • Description: Information about wallet operations in the BSV SDK.
    • Usage: "How do wallet operations work in the BSV SDK?"
    • Transaction Building
    • Identifier: bitcoin_sv_sdk_transaction
    • Description: Details about transaction creation and manipulation.
    • Usage: "Explain BSV SDK transaction building" or "How do I create transactions with BSV SDK?"
    • Authentication
    • Identifier: bitcoin_sv_sdk_auth
    • Description: Authentication and identity protocols in BSV SDK.
    • Usage: "How does authentication work with BSV SDK?"
    • Cryptography
    • Identifier: bitcoin_sv_sdk_cryptography
    • Description: Signing, encryption, and verification functionality.
    • Usage: "Explain BSV SDK cryptography features"
    • Scripting
    • Identifier: bitcoin_sv_sdk_script
    • Description: Bitcoin scripting and contract capabilities.
    • Usage: "How do I work with Bitcoin scripts using the BSV SDK?"
    • Primitives
    • Identifier: bitcoin_sv_sdk_primitives
    • Description: Core data types and structures in the BSV SDK.
    • Usage: "What primitives are available in the BSV SDK?"

    Available Resources

    The server also provides access to Bitcoin Request for Comments (BRC) specifications and documentation:

    Changelog Resource

    • Identifier: bsv-mcp-changelog
    • Description: Version history and changelog for the BSV MCP server.
    • Usage: "Show me the BSV MCP changelog" or "What's new in the latest version?"

    BRC Resources

    • BRCs Overview
    • Identifier: brcs_readme
    • Description: Overview of all Bitcoin SV protocol specifications in the BRCs repository.
    • Usage: "Show me the Bitcoin SV BRCs overview"
    • BRCs Summary
    • Identifier: brcs_summary
    • Description: Table of contents for all Bitcoin SV BRCs.
    • Usage: "Give me a summary of Bitcoin SV BRCs"
    • Specific BRC Specifications
    • Identifier: brc_spec
    • Description: Access specific BRC specifications by category and number.
    • Usage: "Show me BRC 8 on Transaction Envelopes" or "What does BRC 1 specify?"

    BRC Categories

    The BRC specifications are organized into the following categories:

    • Wallet
    • Transactions
    • Scripts
    • Tokens
    • Overlays
    • Payments
    • Peer-to-Peer
    • Key Derivation
    • Outpoints
    • Opinions
    • State Machines
    • Apps

    Using Prompts and Resources

    AI models can use these prompts and resources to provide more accurate and detailed responses about Bitcoin SV technologies. As a user, you can:

    1. Ask about a specific topic: "Tell me about Bitcoin SV ordinals" or "Explain BSV SDK transaction building"

    2. Request specific BRC details: "What does BRC 8 specify?" or "Show me the BRC on Transaction Creation"

    3. Get general overviews: "What is the BSV SDK?" or "Show me a summary of all BRCs"

    These prompts and resources enhance the AI's knowledge base, enabling more technical and accurate responses even for complex Bitcoin SV topics.

    MCP Apps (Interactive Dashboard)

    bsv-mcp ships with MCP App support. Tool results include a viewUUID field that MCP-compatible clients use to render an interactive HTML dashboard instead of raw JSON output.

    Three built-in dashboard tabs are available:

    • Explorer — Browse the blockchain, look up transactions and addresses
    • Wallet — View balances, manage UTXOs, send BSV
    • Ordinals — Browse, create, and manage NFTs and ordinals

    When you call a tool like wallet_getAddress in a compatible client, the response renders as a live interactive UI rather than a wall of text. The dashboard source lives at src/views/mcp-app.ts and src/views/app.html.

    MCP Apps are supported in clients that implement the MCP App specification. The Claude Code plugin installation (Option 1 above) includes dashboard support automatically.

    How MCP Works

    When you interact with an MCP-enabled AI assistant:

    1. The AI analyzes your request and decides which tools to use

    2. With your approval, it calls the appropriate BSV MCP tool

    3. The server executes the requested operation on the Bitcoin SV blockchain

    4. The results are returned to the AI assistant

    5. The assistant presents the information in a natural, conversational way

    Key Management & Security

    Encrypted Key Storage (Recommended)

    BSV MCP now supports encrypted key storage using bitcoin-backup for enhanced security:

    1. Set a passphrase (minimum 8 characters):

    bash
    export BSV_MCP_PASSPHRASE="your-secure-passphrase"

    2. Automatic migration: Keys will be automatically encrypted when a passphrase is provided

    3. Manual migration: Use the migration script:

    bash
    BSV_MCP_PASSPHRASE="your-passphrase" bun run scripts/migrate-keys.ts

    4. File locations:

    • Encrypted keys: ~/.bsv-mcp/keys.bep
    • Legacy keys: ~/.bsv-mcp/keys.json (deprecated)
    • Automatic backup: ~/.bsv-mcp/keys.bep.backup

    Security Best Practices

    1. Use encrypted storage: Always set BSV_MCP_PASSPHRASE for production use

    2. Strong passphrases: Use 12+ characters with mixed case, numbers, and symbols

    3. Backup your keys: Keep secure backups of both keys and passphrase

    4. File permissions: Key files are automatically created with restricted permissions (0600)

    Environment Variables for Key Management

    VariableDescriptionDefault
    BSV_MCP_PASSPHRASEPassphrase for encrypted key storageNone
    BSV_MCP_AUTO_MIGRATEAutomatically migrate legacy keysfalse
    BSV_MCP_KEEP_LEGACYKeep unencrypted keys after migrationfalse

    Customization Options

    The BSV MCP server can be customized using environment variables to enable or disable specific components:

    Component Configuration

    Environment VariableDefaultDescription
    DISABLE_PROMPTSfalseSet to true to disable all educational prompts
    DISABLE_RESOURCESfalseSet to true to disable all resources (BRCs, changelog)
    DISABLE_TOOLSfalseSet to true to disable all tools

    Tool-Specific Configuration

    Environment VariableDefaultDescription
    DISABLE_WALLET_TOOLSfalseSet to true to disable Bitcoin wallet tools
    DISABLE_MNEE_TOOLSfalseSet to true to disable MNEE token tools
    DISABLE_BSV_TOOLSfalseSet to true to disable BSV blockchain tools
    DISABLE_ORDINALS_TOOLSfalseSet to true to disable Ordinals/NFT tools
    DISABLE_UTILS_TOOLSfalseSet to true to disable utility tools
    IDENTITY_KEY_WIFnot setOptional WIF for identity key; if set, ordinals inscriptions will be signed with sigma-protocol for authentication, curation, and web-of-trust.
    DISABLE_BROADCASTINGfalseSet to true to disable transaction broadcasting; returns raw transaction hex instead - useful for testing and transaction review before broadcasting

    Droplet API Configuration

    The BSV MCP server supports running in Droplet API mode, which allows operation without local private keys by using a remote faucet service:

    Environment VariableDefaultDescription
    USE_DROPLET_APIfalseSet to true to enable Droplet API mode for remote wallet operations
    DROPLET_API_URLhttp://localhost:4000Base URL for the Droplet faucet API service
    DROPLET_FAUCET_NAMEnot setName of the faucet to use (required when USE_DROPLET_API is true)
    TRANSPORTstdioMCP transport mode (stdio/http) - automatically set to stdio for Claude Code compatibility

    Droplet API Mode

    When USE_DROPLET_API=true is set, the server operates in remote mode:

    • No Local Keys Required: The server doesn't need PRIVATE_KEY_WIF or local key files
    • Remote Wallet Operations: Transactions are funded and broadcast through the Droplet API
    • BSM Authentication: Uses Bitcoin Signed Message (BSM) authentication for secure API communication
    • Automatic Funding: The faucet automatically provides UTXOs for transactions
    • Seamless Integration: All existing wallet tools work transparently with the remote service

    Example Droplet Configuration

    bash
    # Enable Droplet API mode
    USE_DROPLET_API=true
    DROPLET_API_URL=https://your-droplet-service.com
    DROPLET_FAUCET_NAME=your-faucet-name
    TRANSPORT=stdio

    This mode is particularly useful for:

    • Development and Testing: No need to manage local private keys
    • Educational Environments: Safe experimentation without real funds
    • Shared Environments: Multiple users can use the same faucet service
    • Simplified Deployment: Reduced security concerns for demonstration purposes

    Examples

    Run with only educational resources and prompts, no tools:

    bash
    DISABLE_TOOLS=true bunx bsv-mcp@latest

    Run with only BSV tools, no wallet or other functionality:

    bash
    DISABLE_PROMPTS=true DISABLE_RESOURCES=true DISABLE_WALLET_TOOLS=true DISABLE_MNEE_TOOLS=true DISABLE_ORDINALS_TOOLS=true DISABLE_UTILS_TOOLS=true bunx bsv-mcp@latest

    Use all tools except wallet operations:

    bash
    DISABLE_WALLET_TOOLS=true bunx bsv-mcp@latest

    Create transactions without broadcasting them (dry-run mode):

    bash
    DISABLE_BROADCASTING=true bunx bsv-mcp@latest

    Troubleshooting

    If you're having issues with the BSV MCP server:

    Connection Issues

    1. Make sure Bun or Node.js is installed on your system

    2. Verify your WIF private key is correctly set in the environment

    3. Check that your client supports MCP and is properly configured

    4. Look for error messages in the client's console output

    Keeping Bun Up to Date

    It's important to keep Bun updated to the latest version to ensure compatibility:

    bash
    # Update Bun to the latest version
    bun upgrade

    To verify your current Bun version:

    bash
    bun --version

    Logging and Debugging

    For Claude for Desktop, check the logs at:

    bash
    # macOS/Linux
    tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
    
    # Windows
    type %APPDATA%\Claude\Logs\mcp*.log

    For Cursor, check the Cursor MCP logs in Settings → Extensions → Model Context Protocol.

    Recent Updates

    • Transaction Broadcast Control: Added DISABLE_BROADCASTING environment variable to prevent transactions from being broadcast to the network
    • Blockchain Explorer: Added bsv_explore tool for WhatsOnChain API access with mainnet/testnet support
    • Unified Tools: Merged wallet_encrypt/wallet_decrypt into single wallet_encryption tool
    • Enhanced Marketplace: Support for NFTs, BSV-20/21 tokens in listings, sales and purchases
    • Performance: Added price caching and optimized API endpoint structure
    • Improved Validation: Better error handling for private keys and parameters

    Bitcoin SV Blockchain Explorer

    The bsv_explore tool provides comprehensive access to the Bitcoin SV blockchain through the WhatsOnChain API. This powerful explorer tool allows you to query various aspects of the blockchain, including chain data, blocks, transactions, and address information.

    Available Endpoints

    The tool supports the following endpoint categories and specific endpoints:

    Chain Data

    EndpointDescriptionRequired ParametersExample Response
    chain_infoNetwork statistics, difficulty, and chain workNone{"chain":"main","blocks":826458,"headers":826458,"bestblockhash":"0000000000..."}
    chain_tipsCurrent chain tips including heights and statesNone[{"height":826458,"hash":"000000000000...","branchlen":0,"status":"active"}]
    circulating_supplyCurrent BSV circulating supplyNone{"bsv":21000000}
    peer_infoConnected peer statisticsNone[{"addr":"1.2.3.4:8333","services":"000000000000...","lastsend":1621234567}]

    Block Data

    EndpointDescriptionRequired ParametersExample Response
    block_by_hashComplete block data via hashblockHash{"hash":"000000000000...","confirmations":1000,"size":1000000,...}
    block_by_heightComplete block data via heightblockHeight{"hash":"000000000000...","confirmations":1000,"size":1000000,...}
    tag_count_by_heightStats on tag count for a specific blockblockHeight{"tags":{"amp":3,"bitkey":5,"metanet":12,"planaria":7,"b":120}}
    block_headersRetrieves the last 10 block headersNone[{"hash":"000000000000...","height":826458,"version":536870912,...},...]
    block_pagesRetrieves pages of transaction IDs for large blocksblockHash, optional: pageNumber["tx1hash","tx2hash","tx3hash",...]

    Stats Data

    EndpointDescriptionRequired ParametersExample Response
    block_stats_by_heightBlock statistics for a specific heightblockHeight{"size":123456,"txCount":512,"outputTotal":54.12345678,"outputTotalUsd":2345.67,...}
    block_miner_statsBlock mining statistics for a time periodoptional: days (default 7){"blocks":{"miner1":412,"miner2":208,...},"total":1008}
    miner_summary_statsSummary of mining statisticsoptional: days (default 7){"totalBlocks":1008,"totalFees":1.23456789,"totalFeesUsd":53.67,...}

    Transaction Data

    EndpointDescriptionRequired ParametersExample Response
    tx_by_hashDetailed transaction datatxHash{"txid":"a1b2c3d4e5f6...","version":1,"locktime":0,"size":225,...}
    tx_rawRaw transaction hex datatxHash"01000000012345abcdef..."
    tx_receiptTransaction receipttxHash{"blockHash":"000000000000...","blockHeight":800000,"confirmations":26458}
    bulk_tx_detailsRetrieve multiple transactions in one requesttxids (array)[{"txid":"a1b2c3d4e5f6...","version":1,...}, {"txid":"b2c3d4e5f6a7...","version":1,...}]

    Address Data

    EndpointDescriptionRequired ParametersExample Response
    address_historyTransaction history for addressaddress, optional: limit[{"tx_hash":"a1b2c3d4e5f6...","height":800000},...]
    address_utxosUnspent outputs for addressaddress[{"tx_hash":"a1b2c3d4e5f6...","tx_pos":0,"value":100000},...]

    Network

    EndpointDescriptionRequired ParametersExample Response
    healthAPI health checkNone{"status":"synced"}

    Usage Examples

    The bsv_explore tool can be used with natural language prompts like:

    code
    "Get the current Bitcoin SV blockchain information"
    "Show me block #800000 details"
    "Get tag count statistics for block #800000"
    "Fetch transaction history for address 1ExampleBsvAddressXXXXXXXX"
    "Get unspent outputs for my wallet address"
    "Check transaction details for txid a1b2c3d4e5f6..."
    "What is the current BSV circulating supply?"
    "Show me the latest block headers"
    "Get transaction IDs for page 2 of a large block"
    "Show me block statistics for height 800000"
    "What are the mining statistics for the last 14 days?"
    "Get a summary of mining activity over the past 30 days"
    "Retrieve details for multiple transactions in a single query"

    Under the hood, the tool accepts parameters to specify which data to retrieve:

    • endpoint: The specific WhatsOnChain endpoint to query (e.g., chain_info, tx_by_hash)
    • network: The BSV network to use (main or test)
    • Additional parameters as required by the specific endpoint:
    • blockHash: For block_by_hash and block_pages endpoints
    • blockHeight: For block_by_height, tag_count_by_height, and block_stats_by_height endpoints
    • pageNumber: For block_pages endpoint (pagination)
    • days: For block_miner_stats and miner_summary_stats endpoints (defaults to 7)
    • txHash: For transaction-related endpoints (tx_by_hash, tx_raw, tx_receipt)
    • txids: For bulk_tx_details endpoint (array of transaction IDs)
    • address: For address-related endpoints
    • limit: Optional pagination limit for address_history

    Network Options

    The tool supports both mainnet and testnet:

    • main: Bitcoin SV mainnet (default)
    • test: Bitcoin SV testnet

    Development

    Project Setup

    If you want to contribute to the project or run it locally:

    1. Clone the repository:

    bash
    git clone https://github.com/b-open-io/bsv-mcp.git
       cd bsv-mcp

    2. Install dependencies:

    bash
    bun install
       # or with npm
       npm install

    Running the Server

    bash
    bun run index.ts
    # or with npm
    npm run start

    Running Tests

    bash
    bun test
    # or with npm
    npm test

    Troubleshooting

    • Make sure you're on the latest version of bun
    • Make sure the commands can be run directly from your cli
    • Make sure you're on node v22+

    License

    This project is licensed under the MIT License - see the LICENSE file for details.

    Similar MCP

    Based on tags & features

    • ME

      Metmuseum Mcp

      TypeScript·
      14
    • MC

      Mcp Ipfs

      TypeScript·
      11
    • LI

      Liveblocks Mcp Server

      TypeScript·
      11
    • MC

      Mcp Wave

      TypeScript00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • ME

      Metmuseum Mcp

      TypeScript·
      14
    • MC

      Mcp Ipfs

      TypeScript·
      11
    • LI

      Liveblocks Mcp Server

      TypeScript·
      11
    • MC

      Mcp Wave

      TypeScript00

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k