Bitcoin SV MCP Server

by b-open-io
Verified
MIT License
1,169
8
  • Apple
  • Linux

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides wallet functionality, BSV blockchain interaction, ordinals/NFT management, and utility tools for Bitcoin SV. Capabilities include retrieving addresses, sending transactions, purchasing NFTs, getting price information, working with ordinals, and managing BSV20 tokens.

  • Uses Bun as the JavaScript runtime for the MCP server, enabling fast execution of the Bitcoin SV tools and capabilities.

比特币SV MCP服务器

⚠️ 注意:实验工作正在进行中
该项目处于早期实验阶段。功能可能会发生变化,API 也尚未稳定。欢迎贡献代码、提供反馈和报告错误!欢迎随时提交问题或拉取请求。

适用于模型上下文协议 (MCP) 框架的比特币 SV (BSV) 工具集合。该库提供用于 BSV 区块链交互的钱包、序数函数和实用函数。

连接到 MCP 客户端

该服务器实现了模型上下文协议(MCP),允许人工智能助手使用比特币 SV 的功能。您可以将此服务器连接到各种兼容 MCP 的客户端。

光标

要将 BSV MCP 服务器与Cursor一起使用:

  1. 如果尚未安装 Cursor,请安装
  2. 克隆此存储库并在项目目录中运行bun install
  3. 打开 Cursor 并导航至“设置”→“扩展”→“模型上下文协议”
  4. 点击“添加新的全局 MCP 服务器”
  5. 以 JSON 格式输入以下配置:
{ "mcpServers": { "Bitcoin SV": { "command": "bunx", "args": [ "bsv-mcp@latest" ], "env": { "PRIVATE_KEY_WIF": "<your_private_key_wif>" } } } }
  1. 用您的实际私钥 WIF 替换<your_private_key_wif> (确保安全!)
  2. 点击“保存”

BSV 工具现在将在“比特币 SV”命名空间下供 Cursor 的 AI 助手使用。

克劳德桌面版

要将此服务器连接到 Claude for Desktop:

  1. 确保已安装Claude for Desktop并更新至最新版本
  2. 克隆此存储库并在项目目录中运行bun install
  3. 打开您的 Claude for Desktop 配置文件:
    # macOS/Linux code ~/Library/Application\ Support/Claude/claude_desktop_config.json # Windows code %APPDATA%\Claude\claude_desktop_config.json
  4. 将 BSV MCP 服务器添加到您的配置中(如果不存在,请创建该文件):
    { "mcpServers": { "Bitcoin SV": { "command": "bunx", "args": [ "bsv-mcp@latest" ], "env": { "PRIVATE_KEY_WIF": "<your_private_key_wif>" } } } }
  5. <your_private_key_wif>替换为你的实际私钥 WIF
  6. 保存文件并重新启动 Claude for Desktop
  7. 单击 Claude 桌面版中的工具图标(锤子)时,BSV 工具将会出现

可用工具

该工具包分为几类:

钱包工具

钱包工具提供核心 BSV 钱包功能:

工具名称描述示例输出
wallet_getPublicKey检索指定协议和密钥 ID 的公钥{"publicKey":"032d0c73eb9270e9e009fd1f9dd77e19cf764fbad5f799560c4e8fd414e40d6fc2"}
wallet_createSignature为提供的数据创建加密签名{"signature":[144,124,85,193,226,45,140,249,9,177,11,167,33,215,209,38,...]}
wallet_verifySignature根据提供的数据验证加密签名{"isValid":true}
wallet_encryption使用钱包密钥加密和解密数据的组合工具。示例: 1. 加密文本: "Encrypt this message: Hello World" 2. 解密数据: "Decrypt this data that was previously encrypted for me"加密: {"ciphertext":[89,32,155,38,125,22,49,226,26,...]}解密: {"plaintext":"hello world"}
wallet_getAddress返回当前钱包或派生路径的 BSV 地址{"address":"1ExampleBsvAddressXXXXXXXXXXXXXXXXX","status":"ok"}
wallet_sendToAddress将 BSV 发送到指定地址(支持 BSV 或 USD 金额){"status":"success","txid":"a1b2c3d4e5f6...","satoshis":1000000}
wallet_purchaseListing从市场列表中购买 NFT 或 BSV-20/BSV-21 代币{"status":"success","txid":"a1b2c3d4e5f6...","type":"nft","origin":"abcdef123456..."}
wallet_createOrdinals在 BSV 区块链上创建并记录序数{"txid":"a1b2c3d4e5f6...","inscriptionAddress":"1ExampleAddress...","contentType":"image/png"}

BSV 工具

与 BSV 区块链和网络交互的工具:

工具名称描述示例输出
bsv_getPrice从交易所 API 获取当前 BSV 价格Current BSV price: $38.75 USD
bsv_decodeTransaction解码 BSV 交易并返回详细信息{"txid":"a1b2c3d4e5f6...","version":1,"locktime":0,"size":225,"inputs":[...],"outputs":[...]}
bsv_explore全面的区块链探索工具,可访问 WhatsOnChain API 端点{"chain_info":{"chain":"main","blocks":826458,"headers":826458,"bestblockhash":"0000000000..."}}

序数工具

在 BSV 上使用序数 (NFT) 的工具:

工具名称描述示例输出
ordinals_getInscription检索有关特定铭文的详细信息{"id":"a1b2c3d4e5f6...","origin":"a1b2c3d4e5f6...","contentType":"image/png","content":"iVBORw0KGgoAAA..."}
ordinals_searchInscriptions根据各种标准搜索铭文{"results":[{"id":"a1b2c3...","contentType":"image/png","owner":"1Example..."},...]}
ordinals_marketListings使用统一界面检索 NFT、BSV-20 和 BSV-21 代币的市场列表{"results":[{"txid":"a1b2c3...","price":9990000,"tick":"PEPE","listing":true},...]}
ordinals_marketSales获取有关 BSV-20 和 BSV-21 代币市场销售的信息{"results":[{"txid":"a1b2c3...","price":34710050,"tick":"$BTC","sale":true},...]}
ordinals_getTokenByIdOrTicker通过 ID 检索特定 BSV20 代币的详细信息{"tick":"PEPE","max":"21000000","lim":"1000","dec":"2"}

实用工具

通用实用功能:

工具名称描述示例输出
utils_convertData在不同的编码格式(utf8、hex、base64、binary)之间转换数据。参数: - data (必需):要转换的字符串 - from (必需):源编码格式(utf8、hex、base64 或 binary) - to (必需):目标编码格式(utf8、hex、base64 或 binary)示例: - UTF-8 到 hex: {"data": "hello world", "from": "utf8", "to": "hex"}68656c6c6f20776f726c64 - UTF-8 到 base64: {"data": "Hello World", "from": "utf8", "to": "base64"}SGVsbG8gV29ybGQ= - base64 到 UTF-8: {"data": "SGVsbG8gV29ybGQ=", "from": "base64", "to": "utf8"}Hello World - hex 到 base64: {"data": "68656c6c6f20776f726c64", "from": "hex", "to": "base64"}aGVsbG8gd29ybGQ=注意: - 所有参数均为必填项 - 该工具将转换后的数据作为字符串返回 - 对于二进制转换,数据表示为字节值数组"SGVsbG8gV29ybGQ=" (UTF-8“Hello World”转换为base64)

MNEE 工具

使用 MNEE 代币的工具:

工具名称描述示例输出
mnee_getBalance检索钱包的当前 MNEE 代币余额{"balance": {"amount": 2900, "decimalAmount": 0.029}}
mnee_sendMnee将 MNEE 代币发送到指定地址。支持 MNEE 和 USD 金额{"success": true, "txid": "d1ce853934964e6c1fe9f44c918a824f175c6ab466b966f49ebc0682a8318895", "rawtx": "0100000002a0be40d8942015f1...", "mneeAmount": 0.01, "usdAmount": "$0.01", "recipient": "15mNxEkyKJXPD8amic6oLUjS45zBKQQoLu"}
mnee_parseTx解析 MNEE 交易,获取其操作和金额的详细信息。所有金额均以原子单位表示,精确到小数点后 5 位(例如,1000 个原子单位 = 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}]}

使用 MCP 工具

连接后,您可以通过人工智能助手使用自然语言与比特币 SV 进行交互。以下是一些示例提示:

钱包操作

  • “获取我的比特币SV地址”
  • “发送 0.01 BSV 到 1ExampleBsvAddressXXXXXXXXXXXXXXXXX”
  • “将价值 5 美元的 BSV 发送至 1ExampleBsvAddressXXXXXXXXXXXXXXXXX”
  • “向 1ExampleBsvAddressXXXXXXXXXXXXXXXXX 发送 0.01 MNEE”
  • “检查我的 MNEE 余额”
  • “解析此 MNEE 交易:txid”
  • “使用我的钱包的密钥加密此消息”
  • “解密之前为我加密的数据”
  • “购买此 NFT 列表:txid_vout”
  • “购买此 BSV-20 代币列表:txid_vout”

序数(NFT)

  • “显示有关输出点为 6a89047af2cfac96da17d51ae8eb62c5f1d982be2bc4ba0d0cd2084b7ffed325_0 的 NFT 的信息”
  • “搜索 Pixel Zoide NFT”
  • “显示 BSV NFT 的当前市场列表”
  • “显示代码为 PEPE 的 BSV-20 代币列表”
  • “获取最近的 BSV-20 代币销售信息”

区块链操作

  • “BSV 目前的价格是多少?”
  • “解码此 BSV 交易:(交易十六进制或 ID)”
  • “获取最新的比特币SV链信息”
  • “显示高度 800000 的区块详细信息”
  • “探索地址 1ExampleBsvAddressXXXX 的交易历史记录”
  • “检查我的钱包地址中的未使用输出(UTXO)”
  • “获取哈希 a1b2c3d4e5f6 的交易详细信息...”

数据转换

  • “将‘Hello World’从 UTF-8 格式转换为十六进制格式”

MCP 的工作原理

当您与支持 MCP 的 AI 助手互动时:

  1. 人工智能会分析你的请求并决定使用哪些工具
  2. 经您批准后,它会调用适当的 BSV MCP 工具
  3. 服务器在 Bitcoin SV 区块链上执行请求的操作
  4. 结果返回给AI助手
  5. 助手以自然、对话的方式呈现信息

故障排除

如果您在连接服务器时遇到问题:

  1. 确保软件包依赖项已正确安装: bun install
  2. 验证您的 WIF 私钥是否在环境中正确设置
  3. 检查您的客户端是否支持 MCP 并且配置正确
  4. 在客户端的控制台输出中查找错误消息

对于 Claude for Desktop,请检查以下日志:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

对于 Cursor,请检查设置 → 扩展 → 模型上下文协议中的 Cursor MCP 日志。

最近更新

  • 区块链浏览器:添加了bsv_explore工具,用于访问 WhatsOnChain API 并支持主网/测试网
  • 统一工具:将wallet_encrypt / wallet_decrypt合并为单个wallet_encryption工具
  • 增强市场:支持 NFT、BSV-20/21 代币的上架、销售和购买
  • 性能:添加价格缓存并优化 API 端点结构
  • 改进的验证:更好地处理私钥和参数的错误

比特币SV区块链浏览器

bsv_explore工具通过 WhatsOnChain API 提供对比特币 SV 区块链的全面访问。这款强大的浏览器工具允许您查询区块链的各个方面,包括链数据、区块、交易和地址信息。

可用端点

该工具支持以下端点类别和特定端点:

链数据

端点描述必需参数示例响应
chain_info网络统计、难度和链工作没有任何{"chain":"main","blocks":826458,"headers":826458,"bestblockhash":"000000000000..."}
chain_tips当前链提示包括高度和状态没有任何[{"height":826458,"hash":"000000000000...","branchlen":0,"status":"active"}]
circulating_supplyBSV 当前流通供应量没有任何{"bsv":21000000}
peer_info已连接对等点统计信息没有任何[{"addr":"1.2.3.4:8333","services":"000000000000...","lastsend":1621234567}]

区块数据

端点描述必需参数示例响应
block_by_hash通过哈希完成区块数据blockHash{"hash":"000000000000...","confirmations":1000,"size":1000000,...}
block_by_height通过高度完成区块数据blockHeight{"hash":"000000000000...","confirmations":1000,"size":1000000,...}
tag_count_by_height特定区块的标签计数统计blockHeight{"tags":{"amp":3,"bitkey":5,"metanet":12,"planaria":7,"b":120}}
block_headers检索最后 10 个区块头没有任何[{"hash":"000000000000...","height":826458,"version":536870912,...},...]
block_pages检索大块的交易 ID 页blockHash ,可选: pageNumber["tx1hash","tx2hash","tx3hash",...]

统计数据

端点描述必需参数示例响应
block_stats_by_height特定高度的区块统计信息blockHeight{"size":123456,"txCount":512,"outputTotal":54.12345678,"outputTotalUsd":2345.67,...}
block_miner_stats一段时间内的区块挖矿统计可选: days (默认 7){"blocks":{"miner1":412,"miner2":208,...},"total":1008}
miner_summary_stats采矿统计数据摘要可选: days (默认 7){"totalBlocks":1008,"totalFees":1.23456789,"totalFeesUsd":53.67,...}

交易数据

端点描述必需参数示例响应
tx_by_hash详细交易数据txHash{"txid":"a1b2c3d4e5f6...","version":1,"locktime":0,"size":225,...}
tx_raw原始交易十六进制数据txHash"01000000012345abcdef..."
tx_receipt交易收据txHash{"blockHash":"000000000000...","blockHeight":800000,"confirmations":26458}
bulk_tx_details在一个请求中检索多个交易txids (数组)[{"txid":"a1b2c3d4e5f6...","version":1,...}, {"txid":"b2c3d4e5f6a7...","version":1,...}]

地址数据

端点描述必需参数示例响应
address_history地址的交易历史记录address ,可选: limit[{"tx_hash":"a1b2c3d4e5f6...","height":800000},...]
address_utxos地址的未使用输出address[{"tx_hash":"a1b2c3d4e5f6...","tx_pos":0,"value":100000},...]

网络

端点描述必需参数示例响应
healthAPI 健康检查没有任何{"status":"synced"}

使用示例

bsv_explore工具可以与自然语言提示一起使用,例如:

"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"

在底层,该工具接受参数来指定要检索的数据:

  • endpoint :要查询的特定 WhatsOnChain 端点(例如, chain_infotx_by_hash
  • network :要使用的 BSV 网络( maintest网络)
  • 特定端点所需的附加参数:
    • blockHash :用于 block_by_hash 和 block_pages 端点
    • blockHeight :用于 block_by_height、tag_count_by_height 和 block_stats_by_height 端点
    • pageNumber :用于 block_pages 端点(分页)
    • days :对于 block_miner_stats 和 miner_summary_stats 端点(默认为 7)
    • txHash :用于与交易相关的端点(tx_by_hash、tx_raw、tx_receipt)
    • txids :用于 bulk_tx_details 端点(交易 ID 数组)
    • address :用于与地址相关的端点
    • limit :address_history 的可选分页限制

网络选项

该工具支持主网和测试网:

  • main :比特币 SV 主网(默认)
  • test :比特币SV测试网

发展

运行服务器

bun run index.ts

运行测试

bun test

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

-
security - not tested
A
license - permissive license
-
quality - not tested

用于模型上下文协议的比特币 SV 工具集合,使 AI 助手能够通过钱包操作、序数 (NFT) 和各种区块链实用程序与 BSV 区块链进行交互。

  1. Connecting to MCP Clients
    1. Cursor
    2. Claude for Desktop
  2. Available Tools
    1. Wallet Tools
    2. BSV Tools
    3. Ordinals Tools
    4. Utility Tools
    5. MNEE Tools
  3. Using the Tools with MCP
    1. Wallet Operations
    2. Ordinals (NFTs)
    3. Blockchain Operations
    4. Data Conversion
  4. How MCP Works
    1. Troubleshooting
      1. Recent Updates
        1. Bitcoin SV Blockchain Explorer
          1. Available Endpoints
          2. Usage Examples
          3. Network Options
        2. Development
          1. Running the Server
          2. License
        ID: 2tjvjasfmo