Skip to main content
Glama
opldotdev

Bitcoin SV MCP Server

by opldotdev

Bitcoin SV MCP サーバー

鍛冶屋のバッジ

⚠️ 注意: 実験作業進行中
このプロジェクトはまだ初期段階の実験段階です。機能は変更される可能性があり、APIはまだ安定していません。貢献、フィードバック、バグ報告を歓迎します!お気軽に問題を報告したり、プルリクエストを送信してください。

モデルコンテキストプロトコル(MCP)フレームワーク用のBitcoin SV(BSV)ツールのコレクション。このライブラリは、BSVブロックチェーンとの連携に必要なウォレット、序数、ユーティリティ関数を提供します。

インストールとセットアップ

パンを使用する(オプションですが推奨)

このプロジェクトは、高速なJavaScriptランタイム兼パッケージマネージャーであるBunを使用して構築されています。最高のパフォーマンスを得るにはBunの使用が推奨されますが、BunはNode.jsとの下位互換性を持つように設計されているため、サーバーはNode.jsとnpmでも実行できます。

Bunのインストール

macOS (Homebrew を使用):

brew install oven-sh/bun/bun

macOS/Linux/WSL (インストーラー スクリプトを使用):

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

Windows: Windows ユーザーは、Bun を実行するために WSL (Windows Subsystem for Linux) または Docker を使用する必要があります。

Node.js と npm も動作しますが、同じパフォーマンス上の利点が得られない可能性があります。

Related MCP server: MNEE MCP Server

MCPクライアントへの接続

このサーバーはモデルコンテキストプロトコル(MCP)を実装しており、AIアシスタントがBitcoin SVの機能を利用できるようにします。このサーバーは、MCP対応の様々なクライアントに接続できます。

MCP 構成例

注: PRIVATE_KEY_WIF環境変数はオプションになりました。この環境変数を指定しないと、サーバーは教育リソースとウォレット以外のツールが利用可能な制限モードで動作します。ウォレットとMNEEトークンの操作には有効な秘密鍵が必要です。また、 IDENTITY_KEY_WIF環境変数を設定することで、認証、キュレーション、信頼の輪のための序数表記のシグマプロトコル署名を有効にすることもできます。

カーソル

Cursorで BSV MCP サーバーを使用するには:

  1. まだインストールしていない場合は、Cursorをインストールしてください。

  2. カーソルを開き、設定→拡張機能→モデルコンテキストプロトコルに移動します。

  3. 「新しいグローバルMCPサーバーを追加」をクリックします

  4. 次の構成を JSON 形式で入力します。

{
  "mcpServers": {
    "Bitcoin SV": {
      "command": "bunx",
      "args": [
        "bsv-mcp@latest"
      ],
      "env": {
        "PRIVATE_KEY_WIF": "<your_private_key_wif>",
        "IDENTITY_KEY_WIF": "<your_identity_key_wif>"
      }
    }
  }
}
  1. <your_private_key_wif>を実際の秘密鍵 WIF に置き換えてください(安全な場所に保管してください!)。WIF をお持ちでない場合は、今のところ省略できますが、ウォレットを必要とするツールは使用できなくなります。 <your_identity_key_wif>もオプションです。これは、提供された ID キーを使用して、Sigma プロトコルで 1Sat Ordinals に署名します。

  2. 「保存」をクリック

BSV ツールは、「Bitcoin SV」名前空間の Cursor の AI アシスタントで利用できるようになります。

npmユーザー向けの代替手段

Bun の代わりに npm を使用する場合:

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

デスクトップ版クロード

このサーバーをClaude for Desktopに接続するには:

  1. Claude for Desktopを開き、Claude > 設定 > 開発者に移動します。

  2. 「設定の編集」をクリックします。

Claude の設定 JSON ファイルを、お好きなテキストエディタで開きます。CLI から実行する場合は、以下の手順を実行してください。

# macOS/Linux
code ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Windows
code %APPDATA%\Claude\claude_desktop_config.json
  1. BSV MCP サーバーを設定に追加します。

    {
      "mcpServers": {
        "Bitcoin SV": {
          "command": "bun",
          "args": [
            "run", "bsv-mcp@latest"
          ],
          "env": {
            "PRIVATE_KEY_WIF": "<your_private_key_wif>",
            "IDENTITY_KEY_WIF": "<your_identity_key_wif>"
          }
        }
      }
    }
  2. <your_private_key_wif>を実際の秘密鍵 WIF に置き換えます。

  3. ファイルを保存し、Claude for Desktopを再起動します。

  4. Claude for Desktopのツールアイコン(ハンマー)をクリックするとBSVツールが表示されます。

npm ユーザー向けの代替手段 (Claude)

Bun の代わりに npm を使用する場合は、「command」フィールドを「npx」に置き換えます。

利用可能なツール

ツールキットはいくつかのカテゴリに分類されています。

ウォレットツール

ウォレットツールは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、16 進数、base64、バイナリ) 間でデータを変換します。パラメータ: - data (必須): 変換する文字列from (必須): ソースエンコード形式 (utf8、16 進数、base64、またはバイナリ) - to (必須): ターゲットエンコード形式 (utf8、16 進数、base64、またはバイナリ)例: - UTF-8 から 16 進数: {"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 - 16 進数から 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 でのツールの使用

接続すると、AIアシスタントを介して自然言語でBitcoin SVと対話できるようになります。プロンプトの例を以下に示します。

ウォレット操作

  • 「Bitcoin SVアドレスを取得する」

  • 「0.01 BSVを1ExampleBsvAddressXXXXXXXXXXXXXXXXXXに送金する」

  • 「1ExampleBsvAddressXXXXXXXXXXXXXXXXXXに5米ドル相当のBSVを送信してください」

  • 「0.01 MNEEを1ExampleBsvAddressXXXXXXXXXXXXXXXXXXに送金する」

  • 「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トランザクションをデコードします: (トランザクションの16進数またはID)」

  • 「最新のビットコインSVチェーン情報を入手する」

  • 「高さ800000のブロックの詳細を表示」

  • 「アドレス 1ExampleBsvAddressXXXX の取引履歴を調べる」

  • 「ウォレットアドレスの未使用出力(UTXO)を確認する」

  • 「ハッシュ a1b2c3d4e5f6 のトランザクションの詳細を取得します...」

データ変換

  • 「『Hello World』をUTF-8から16進形式に変換する」

MCP プロンプトとリソース

BSV MCPサーバーは、Bitcoin SVテクノロジーに関する詳細な情報とコンテキストを提供する専用のプロンプトとリソースを公開しています。AIモデルはこれらにアクセスすることで、理解度と能力を向上させることができます。

利用可能なプロンプト

サーバーは、MCP プロトコルを介して直接アクセスできる次の教育プロンプトを提供します。

序数プロンプト

  • 識別子bitcoin_sv_ordinals

  • 説明: Bitcoin SV 序数に関する包括的な情報(それが何であるか、どのように機能するか、どのように使用するかなど)。

  • 使用方法: この情報にアクセスするには、アシスタントに「Bitcoin SV ordinals」または「1Sat Ordinals」について尋ねます。

BSV SDK プロンプト

Bitcoin SV SDK に関する詳細情報を提供するプロンプトのコレクション:

  • 概要

    • 識別子: bitcoin_sv_sdk_overview

    • 説明: Bitcoin SV SDK の目的と主なコンポーネントを含む概要。

    • 使用方法:「BSV SDK について教えてください」または「Bitcoin SV SDK とは何ですか?」

  • ウォレット操作

    • 識別子: bitcoin_sv_sdk_wallet

    • 説明: BSV SDK でのウォレット操作に関する情報。

    • 使用方法: 「BSV SDK ではウォレット操作はどのように機能しますか?」

  • 取引の構築

    • 識別子: bitcoin_sv_sdk_transaction

    • 説明: トランザクションの作成と操作に関する詳細。

    • 使用方法:「BSV SDK トランザクションの構築について説明します」または「BSV SDK を使用してトランザクションを作成するにはどうすればよいですか?」

  • 認証

    • 識別子: bitcoin_sv_sdk_auth

    • 説明: BSV SDK の認証および ID プロトコル。

    • 使用方法:「BSV SDK では認証はどのように機能しますか?」

  • 暗号化

    • 識別子: bitcoin_sv_sdk_cryptography

    • 説明: 署名、暗号化、検証機能。

    • 使用方法:「BSV SDK の暗号化機能の説明」

  • スクリプト

    • 識別子: bitcoin_sv_sdk_script

    • 説明: Bitcoin のスクリプトと契約機能。

    • 使用方法: 「BSV SDK を使用して Bitcoin スクリプトを操作するにはどうすればよいですか?」

  • プリミティブ

    • 識別子: bitcoin_sv_sdk_primitives

    • 説明: BSV SDK のコア データ型と構造。

    • 使用法:「BSV SDK ではどのようなプリミティブが利用できますか?」

利用可能なリソース

サーバーは、Bitcoin Request for Comments (BRC) の仕様とドキュメントへのアクセスも提供します。

変更ログリソース

  • 識別子: bsv-mcp-changelog

  • 説明: BSV MCP サーバーのバージョン履歴と変更ログ。

  • 使用方法: 「BSV MCP の変更ログを表示してください」または「最新バージョンの新機能は何ですか?」

BRCリソース

  • BRCの概要

    • 識別子: brcs_readme

    • 説明: BRC リポジトリ内のすべての Bitcoin SV プロトコル仕様の概要。

    • 使用方法: 「Bitcoin SV BRC の概要を表示」

  • BRCの概要

    • 識別子: brcs_summary

    • 説明: すべての Bitcoin SV BRC の目次。

    • 使用方法:「Bitcoin SV BRCの概要を教えてください」

  • 具体的なBRC仕様

    • 識別子: brc_spec

    • 説明: カテゴリと番号で特定の BRC 仕様にアクセスします。

    • 使用法: 「取引エンベロープの BRC 8 を表示してください」または「BRC 1 は何を指定しますか?」

BRCカテゴリー

BRC 仕様は次のカテゴリに分類されます。

  • 財布

  • 取引

  • スクリプト

  • トークン

  • オーバーレイ

  • 支払い

  • ピアツーピア

  • 鍵導出

  • アウトポイント

  • 意見

  • ステートマシン

  • アプリ

プロンプトとリソースの使用

AIモデルはこれらのプロンプトとリソースを使用して、Bitcoin SVテクノロジーに関するより正確で詳細な回答を提供できます。ユーザーは以下のことができます。

  1. 特定のトピックについて質問する:「Bitcoin SV のオーディナルについて教えてください」または「BSV SDK のトランザクション構築について説明してください」

  2. 具体的な BRC の詳細をリクエストします。「BRC 8 では何が規定されていますか?」または「トランザクション作成時の BRC を表示してください」

  3. 一般的な概要を確認する:「BSV SDK とは何ですか?」または「すべての BRC の概要を表示してください」

これらのプロンプトとリソースにより、AI の知識ベースが強化され、複雑な Bitcoin SV トピックに対しても、より技術的で正確な応答が可能になります。

MCPの仕組み

MCP 対応の AI アシスタントと対話する場合:

  1. AIがあなたのリクエストを分析し、どのツールを使用するかを決定します

  2. 承認されると、適切なBSV MCPツールが呼び出されます。

  3. サーバーはビットコインSVブロックチェーン上で要求された操作を実行する

  4. 結果はAIアシスタントに返されます

  5. アシスタントは自然な会話形式で情報を提示します

カスタマイズオプション

BSV MCP サーバーは、環境変数を使用して特定のコンポーネントを有効または無効にすることでカスタマイズできます。

コンポーネント構成

環境変数

デフォルト

説明

DISABLE_PROMPTS

false

すべての教育プロンプトを無効にするには、 trueに設定します

DISABLE_RESOURCES

false

すべてのリソース(BRC、変更ログ)を無効にするには、 trueに設定します。

DISABLE_TOOLS

false

すべてのツールを無効にするにはtrueに設定します

ツール固有の構成

環境変数

デフォルト

説明

DISABLE_WALLET_TOOLS

false

Bitcoinウォレットツールを無効にするにはtrueに設定します

DISABLE_MNEE_TOOLS

false

MNEEトークンツールを無効にするにはtrueに設定します

DISABLE_BSV_TOOLS

false

BSVブロックチェーンツールを無効にするにはtrueに設定してください

DISABLE_ORDINALS_TOOLS

false

序数/NFTツールを無効にするにはtrueに設定してください

DISABLE_UTILS_TOOLS

false

ユーティリティツールを無効にするにはtrueに設定します

IDENTITY_KEY_WIF

not set

識別キー用のオプションの WIF。設定されている場合、序数の刻印は認証、キュレーション、および信頼の Web のためにシグマ プロトコルで署名されます。

DISABLE_BROADCASTING

false

trueに設定すると、トランザクションのブロードキャストが無効になります。代わりに、生のトランザクションの16進数を返します。ブロードキャスト前のテストやトランザクションの確認に役立ちます。

ツールを使わず、教育リソースとプロンプトのみで実行します。

DISABLE_TOOLS=true bunx bsv-mcp@latest

ウォレットやその他の機能なしで、BSV ツールのみで実行します。

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

ウォレット操作以外のすべてのツールを使用します。

DISABLE_WALLET_TOOLS=true bunx bsv-mcp@latest

ブロードキャストせずにトランザクションを作成する (ドライラン モード):

DISABLE_BROADCASTING=true bunx bsv-mcp@latest

トラブルシューティング

BSV MCP サーバーに問題がある場合:

接続の問題

  1. システムにBunまたはNode.jsがインストールされていることを確認してください

  2. WIF秘密鍵が環境に正しく設定されていることを確認します

  3. クライアントがMCPをサポートし、適切に構成されていることを確認してください。

  4. クライアントのコンソール出力でエラーメッセージを探します

Bunを最新の状態に保つ

互換性を確保するために、Bun を最新バージョンに更新しておくことが重要です。

# Update Bun to the latest version
bun upgrade

現在の Bun バージョンを確認するには:

bun --version

ログ記録とデバッグ

Claude for Desktop の場合は、次のログを確認してください。

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

# Windows
type %APPDATA%\Claude\Logs\mcp*.log

カーソルの場合は、[設定] → [拡張機能] → [モデル コンテキスト プロトコル] でカーソル MCP ログを確認します。

最近の更新

  • トランザクションブロードキャスト制御: トランザクションがネットワークにブロードキャストされるのを防ぐためのDISABLE_BROADCASTING環境変数を追加しました

  • ブロックチェーンエクスプローラー:メインネット/テストネットをサポートするWhatsOnChain APIアクセス用のbsv_exploreツールを追加しました

  • 統合ツール: wallet_encrypt / wallet_decrypt単一のwallet_encryptionツールに統合しました

  • 強化されたマーケットプレイス:出品、販売、購入におけるNFT、BSV-20/21トークンのサポート

  • パフォーマンス: 価格キャッシュの追加とAPIエンドポイント構造の最適化

  • 検証の改善:秘密鍵とパラメータのエラー処理の改善

Bitcoin SV ブロックチェーンエクスプローラー

bsv_exploreツールは、WhatsOnChain APIを介してBitcoin SVブロックチェーンへの包括的なアクセスを提供します。この強力なエクスプローラーツールを使用すると、チェーンデータ、ブロック、トランザクション、アドレス情報など、ブロックチェーンのさまざまな側面を照会できます。

利用可能なエンドポイント

このツールは、次のエンドポイント カテゴリと特定のエンドポイントをサポートしています。

チェーンデータ

終点

説明

必須パラメータ

回答例

chain_info

ネットワーク統計、難易度、チェーンワーク

なし

{"chain":"main","blocks":826458,"headers":826458,"bestblockhash":"0000000000..."}

chain_tips

高さや状態を含む現在のチェーンのヒント

なし

[{"height":826458,"hash":"000000000000...","branchlen":0,"status":"active"}]

circulating_supply

現在のBSV流通供給量

なし

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

生のトランザクション16進データ

txHash

"01000000012345abcdef..."

tx_receipt

取引領収書

txHash

{"blockHash":"000000000000...","blockHeight":800000,"confirmations":26458}

bulk_tx_details

1回のリクエストで複数のトランザクションを取得する

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},...]

ネットワーク

終点

説明

必須パラメータ

回答例

health

APIヘルスチェック

なし

{"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ネットワーク( mainまたはtest

  • 特定のエンドポイントに必要な追加パラメータ:

    • 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 : Bitcoin SV メインネット(デフォルト)

  • test :Bitcoin SV テストネット

発達

プロジェクトのセットアップ

プロジェクトに貢献したり、ローカルで実行したりしたい場合は、次の手順に従ってください。

  1. リポジトリをクローンします。

    git clone https://github.com/b-open-io/bsv-mcp.git
    cd bsv-mcp
  2. 依存関係をインストールします:

    bun install
    # or with npm
    npm install

サーバーの実行

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

テストの実行

bun test
# or with npm
npm test

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

Available Tools

9 tools
bsv_decodeTransactionA

Decodes and analyzes Bitcoin SV transactions to provide detailed insights. This powerful tool accepts either a transaction ID or raw transaction data and returns comprehensive information including inputs, outputs, fee calculations, script details, and blockchain context. Supports both hex and base64 encoded transactions and automatically fetches additional on-chain data when available.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses behavioral traits such as supporting hex/base64 encoding, fetching on-chain data, and returning detailed insights, but lacks information on error handling, rate limits, or authentication needs, which are important for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, starting with the core purpose. Every sentence adds value, such as input formats and output details, but it could be slightly more streamlined by avoiding redundant phrases like 'powerful tool'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (1 parameter with nested objects, no output schema, and no annotations), the description is somewhat complete but lacks details on return values, error cases, or performance considerations. It covers input semantics well but falls short in fully compensating for the missing structured data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the input schema, which has 0% coverage. It explains that 'tx' can be a transaction ID or raw data and clarifies encoding options, effectively compensating for the schema's lack of descriptions. However, it doesn't detail the structure of 'args' or provide examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('decodes and analyzes') and resource ('Bitcoin SV transactions'), distinguishing it from siblings like price checking or ordinal tools. It specifies the comprehensive insights returned, making the function unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by mentioning it accepts transaction IDs or raw data, but does not explicitly state when to use this tool versus alternatives like bsv_explore or other Bitcoin-related tools. No exclusions or clear alternatives are provided, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bsv_exploreA

Explore Bitcoin SV blockchain data using the WhatsOnChain API. Access multiple data types:

CHAIN DATA:

  • chain_info: Network stats, difficulty, and chain work

  • chain_tips: Current chain tips including heights and states

  • circulating_supply: Current BSV circulating supply

  • peer_info: Connected peer statistics

BLOCK DATA:

  • block_by_hash: Complete block data via hash (requires blockHash parameter)

  • block_by_height: Complete block data via height (requires blockHeight parameter)

  • tag_count_by_height: Stats on tag count for a specific block via height (requires blockHeight parameter)

  • block_headers: Retrieves the last 10 block headers

  • block_pages: Retrieves pages of transaction IDs for large blocks (requires blockHash and optional pageNumber)

STATS DATA:

  • block_stats_by_height: Block statistics for a specific height (requires blockHeight parameter)

  • block_miner_stats: Block mining statistics for a time period (optional days parameter, default 7)

  • miner_summary_stats: Summary of mining statistics (optional days parameter, default 7)

TRANSACTION DATA:

  • tx_by_hash: Detailed transaction data (requires txHash parameter)

  • tx_raw: Raw transaction hex data (requires txHash parameter)

  • tx_receipt: Transaction receipt (requires txHash parameter)

  • bulk_tx_details: Bulk transaction details (requires txids parameter as array of transaction hashes)

ADDRESS DATA:

  • address_history: Transaction history for address (requires address parameter, optional limit)

  • address_utxos: Unspent outputs for address (requires address parameter)

NETWORK:

  • health: API health check

Use the appropriate parameters for each endpoint type and specify 'main' or 'test' network.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYes

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description lists endpoint functionalities but lacks critical behavioral details: it doesn't specify whether operations are read-only or mutative, rate limits, authentication requirements, error handling, or response formats. While it mentions 'API health check' and parameter requirements, it fails to provide comprehensive behavioral context needed for safe and effective tool invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with categorized sections (CHAIN DATA, BLOCK DATA, etc.) and bullet points for each endpoint, making it easy to scan. It is appropriately sized for a tool with 19 endpoints, though some redundancy exists (e.g., repeating 'requires X parameter' could be streamlined). Every sentence adds value by clarifying endpoint purposes and parameter mappings, with no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (19 endpoints, no annotations, no output schema, and nested input schema), the description is partially complete. It excels in documenting endpoints and parameter mappings but lacks behavioral details (e.g., read/write nature, rate limits) and output information. Without annotations or output schema, the description should ideally cover more behavioral aspects to fully guide the agent, leaving gaps in operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the input schema, which has 0% schema description coverage. It explicitly maps each endpoint to required parameters (e.g., 'block_by_hash: Complete block data via hash (requires blockHash parameter)'), provides optional parameters with defaults (e.g., 'days parameter, default 7'), and clarifies parameter usage across endpoints. This compensates fully for the schema's lack of descriptions, making parameter semantics clear and actionable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Explore Bitcoin SV blockchain data using the WhatsOnChain API. Access multiple data types:' followed by a comprehensive categorization of endpoints (CHAIN DATA, BLOCK DATA, etc.). It specifies the verb 'explore' and resource 'Bitcoin SV blockchain data', distinguishing it from sibling tools like bsv_decodeTransaction (decodes transactions) or bsv_getPrice (gets price data).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: for exploring Bitcoin SV blockchain data via the WhatsOnChain API, with a list of specific endpoint types. It explicitly states 'Use the appropriate parameters for each endpoint type and specify 'main' or 'test' network.' However, it does not explicitly mention when not to use it or name alternatives among sibling tools (e.g., using bsv_decodeTransaction for transaction decoding instead of this tool's tx_by_hash).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bsv_getPriceA

Retrieves the current price of Bitcoin SV (BSV) in USD from a reliable exchange API. This tool provides real-time market data that can be used for calculating transaction values, monitoring market conditions, or converting between BSV and fiat currencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoNo parameters required - simply returns the current BSV price in USD

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the tool fetches 'real-time market data' and mentions the source ('reliable exchange API'), which adds useful context. However, it doesn't mention potential limitations like rate limits, authentication requirements, error conditions, or data freshness guarantees that would be important for a price API tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with two sentences: the first states the core functionality, and the second provides usage context. Every sentence adds value without redundancy, and it's appropriately front-loaded with the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple price retrieval tool with no annotations and no output schema, the description provides adequate purpose and usage context. However, it lacks details about the return format (e.g., numeric value, timestamp, currency pair), error handling, or data source specifics that would be helpful given the absence of structured output documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100% and clearly states 'No parameters required - simply returns the current BSV price in USD'. The description reinforces this by not mentioning any parameters, which is appropriate for a zero-parameter tool. The baseline for 0 parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Retrieves'), resource ('current price of Bitcoin SV (BSV) in USD'), and data source ('from a reliable exchange API'). It distinguishes itself from siblings by focusing on real-time price data rather than transaction decoding, exploration, or ordinal-related functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('calculating transaction values, monitoring market conditions, or converting between BSV and fiat currencies'). However, it doesn't explicitly state when not to use it or name specific alternatives among the sibling tools for similar price data needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ordinals_getInscriptionA

Retrieves detailed information about a specific ordinal inscription by its outpoint. Returns complete inscription data including content type, file information, inscription origin, and current status. Useful for verifying NFT authenticity or retrieving metadata about digital artifacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the return data ('complete inscription data including content type, file information, inscription origin, and current status'), which is helpful. However, it lacks details on error handling, rate limits, authentication needs, or performance characteristics, leaving gaps for a mutation-free but data-rich tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by return details and usage context in two efficient sentences. Every sentence adds value without redundancy, making it appropriately sized and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (data retrieval with detailed output), no annotations, and no output schema, the description is moderately complete. It outlines the purpose and return data but lacks specifics on output structure, error cases, or operational constraints, which are important for a tool with rich data returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by specifying the parameter as 'outpoint' and implying its critical role in identifying the inscription, though it does not detail the format beyond what the schema provides ('Outpoint in format 'txid_vout''). For a single parameter tool, this provides adequate context, but not exhaustive detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('retrieves detailed information') and resource ('about a specific ordinal inscription by its outpoint'), distinguishing it from siblings like ordinals_searchInscriptions (searching) or ordinals_getTokenByIdOrTicker (tokens). It provides a precise verb+resource combination that leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('useful for verifying NFT authenticity or retrieving metadata about digital artifacts'), providing clear context. However, it does not specify when NOT to use it or name alternatives (e.g., ordinals_searchInscriptions for broader searches), which prevents a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ordinals_getTokenByIdOrTickerB

Retrieves detailed information about a specific BSV-20 token by its ID or ticker symbol. Returns complete token data including ticker symbol, supply information, decimals, and current status. This tool is useful for verifying token authenticity or checking supply metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool retrieves detailed information and returns complete token data, which implies a read-only operation, but doesn't explicitly state whether it's safe, requires authentication, has rate limits, or what happens on errors. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences: the first states the purpose and parameters, and the second provides usage context. It's front-loaded with the core functionality, and every sentence adds value without redundancy. However, it could be slightly more structured by explicitly listing return fields or constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (1 parameter with nested objects, no output schema, no annotations), the description is moderately complete. It covers the purpose, parameters, and usage context but lacks details on return values, error handling, or behavioral traits. Without an output schema, it should ideally explain what 'complete token data' includes, but it doesn't. It's adequate for basic use but has clear gaps for full agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning by specifying that the tool retrieves information 'by its ID or ticker symbol,' which aligns with the two properties in the input schema (id and tick). However, with 0% schema description coverage, the schema provides no descriptions for these parameters. The description compensates somewhat by indicating what the parameters represent, but it doesn't detail formats (e.g., ID as outpoint) or usage rules (e.g., exclusive OR). Baseline is 3 as it adds some value but doesn't fully compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: retrieving detailed information about a specific BSV-20 token by ID or ticker symbol. It specifies the resource (BSV-20 token) and action (retrieving detailed information), and distinguishes it from siblings like ordinals_getInscription or ordinals_marketListings by focusing on token data rather than inscriptions or market listings. However, it doesn't explicitly differentiate from all siblings (e.g., bsv_explore might also retrieve data).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating it's 'useful for verifying token authenticity or checking supply metrics,' which suggests when to use it. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like bsv_explore or ordinals_searchInscriptions, nor does it specify prerequisites or exclusions. The guidance is present but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ordinals_marketListingsC

Retrieves current marketplace listings for Bitcoin SV ordinals with flexible filtering. Supports multiple asset types (NFTs, BSV-20 tokens, BSV-21 tokens) through a unified interface. Results include listing prices, details about the assets, and seller information.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'retrieves' listings and includes details like prices and seller info, but fails to describe critical behaviors such as pagination handling (implied by 'offset' and 'limit' parameters), rate limits, authentication requirements, error conditions, or the structure of returned results. For a tool with 14 parameters and no output schema, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized at three sentences, front-loaded with the core purpose. Each sentence adds value: the first states the action and scope, the second details asset types, and the third specifies result contents. There's no redundant information, and it's structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 parameters, nested objects, no annotations, no output schema), the description is incomplete. It covers the purpose and result types but lacks essential context such as behavioral traits (e.g., pagination, errors), detailed parameter guidance, and differentiation from siblings. Without an output schema, the description should ideally explain return values, but it only mentions them superficially ('listing prices, details about the assets, and seller information').

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning all 14 parameters lack descriptions in the schema. The description compensates partially by mentioning 'flexible filtering' and listing the types of results included (prices, asset details, seller information), which hints at parameters like 'minPrice', 'maxPrice', and 'tokenType'. However, it doesn't explain the semantics of most parameters (e.g., 'id', 'origin', 'pending'), leaving many undocumented. Baseline is 3 due to some compensation but incomplete coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Retrieves current marketplace listings for Bitcoin SV ordinals with flexible filtering.' It specifies the resource (marketplace listings) and the action (retrieves), and mentions support for multiple asset types. However, it doesn't explicitly differentiate from sibling tools like 'ordinals_marketSales' or 'ordinals_searchInscriptions', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'flexible filtering' but doesn't specify scenarios where this tool is preferred over siblings like 'ordinals_marketSales' (which might retrieve sales history) or 'ordinals_searchInscriptions' (which might search inscriptions without marketplace context). No explicit when/when-not instructions or named alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ordinals_marketSalesB

Retrieves recent sales data for BSV-20 and BSV-21 tokens on the ordinals marketplace. This tool provides insights into market activity, including sale prices, transaction details, and token information. Supports filtering by token ID, ticker symbol, or seller address to help analyze market trends and track specific token sales.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool 'retrieves recent sales data' and 'provides insights into market activity,' which implies a read-only operation, but doesn't explicitly state this is a query tool with no side effects. It also doesn't disclose rate limits, authentication requirements, data freshness, or pagination behavior (though pagination parameters exist in the schema). The description adds some behavioral context about what data is returned but leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with three sentences that each add value: first states core purpose, second explains what insights are provided, third describes filtering capabilities and use cases. It's front-loaded with the main purpose and avoids unnecessary repetition. Some minor wordiness exists ('to help analyze market trends and track specific token sales' could be tighter).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (8 parameters in a nested structure, no output schema, no annotations), the description provides basic purpose and filtering context but is incomplete. It doesn't explain the return format, pagination behavior, default tokenType, or what 'recent' means temporally. For a sales data retrieval tool with rich filtering options, more contextual information would be helpful despite the lack of output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions filtering 'by token ID, ticker symbol, or seller address' which maps to three of the eight parameters (id, tick, address). However, with 0% schema description coverage, the description doesn't compensate for the undocumented parameters (dir, limit, offset, pending, tokenType). The description adds some semantic value for three parameters but leaves five completely undocumented beyond the schema structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'retrieves recent sales data for BSV-20 and BSV-21 tokens on the ordinals marketplace' with specific verbs ('retrieves', 'provides insights') and resources ('sales data', 'BSV-20 and BSV-21 tokens'). It distinguishes from siblings like ordinals_marketListings (which likely shows current listings rather than completed sales) and ordinals_getTokenByIdOrTicker (which retrieves token metadata rather than sales data), though the differentiation could be more explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating it 'helps analyze market trends and track specific token sales' and mentions filtering capabilities, but doesn't explicitly state when to use this tool versus alternatives like ordinals_marketListings or bsv_getPrice. It provides some guidance through the filtering mention but lacks explicit when/when-not instructions or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ordinals_searchInscriptionsB

Searches for Bitcoin SV ordinal inscriptions using flexible criteria. This powerful search tool supports filtering by address, inscription content, MIME type, MAP fields, and other parameters. Results include detailed information about each matched inscription. Ideal for discovering NFTs and exploring the ordinals ecosystem.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral disclosure. It mentions 'results include detailed information' but doesn't specify what that includes, format, or any limitations. No information about rate limits, authentication needs, error conditions, or pagination behavior beyond what's implied in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste - first states purpose, second enumerates capabilities, third provides usage context. Well-structured and appropriately sized for a search tool with multiple parameters. Could be slightly more front-loaded with explicit sibling differentiation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex search tool with 9 nested parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain return format, error handling, performance characteristics, or provide examples. The 'detailed information' claim is too vague for an agent to understand what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates by listing supported filter criteria: 'address, inscription content, MIME type, MAP fields, and other parameters.' This provides meaningful context about what the args object contains, though it doesn't explain individual parameter purposes or relationships. The description adds value beyond the bare schema but doesn't fully document all 9 nested parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'searches for Bitcoin SV ordinal inscriptions using flexible criteria' with specific verb+resource. It distinguishes from siblings like ordinals_getInscription (specific retrieval) and ordinals_marketListings (market-focused), though not explicitly named. However, it doesn't fully differentiate from potential general search tools like bsv_explore.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('ideal for discovering NFTs and exploring the ordinals ecosystem') but doesn't explicitly state when to use this tool versus alternatives. It mentions 'powerful search tool' but provides no guidance on when to choose it over other search or retrieval tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

utils_convertDataA

Converts data between different encodings (utf8, hex, base64, binary). Useful for transforming data formats when working with blockchain data, encryption, or file processing.

Parameters:

  • data (required): The string to convert

  • from (required): Source encoding format (utf8, hex, base64, or binary)

  • to (required): Target encoding format (utf8, hex, base64, or binary)

Example usage:

  • UTF-8 to hex: {"data": "hello world", "from": "utf8", "to": "hex"} → 68656c6c6f20776f726c64

  • UTF-8 to base64: {"data": "Hello World", "from": "utf8", "to": "base64"} → SGVsbG8gV29ybGQ=

  • base64 to UTF-8: {"data": "SGVsbG8gV29ybGQ=", "from": "base64", "to": "utf8"} → Hello World

  • hex to base64: {"data": "68656c6c6f20776f726c64", "from": "hex", "to": "base64"} → aGVsbG8gd29ybGQ=

Notes:

  • All parameters are required

  • The tool returns the converted data as a string

  • For binary conversion, data is represented as an array of byte values

ParametersJSON Schema
NameRequiredDescriptionDefault
argsYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: all parameters are required, returns converted data as a string, and explains binary representation. It doesn't mention error handling, performance characteristics, or side effects, but covers essential operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized. It starts with a clear purpose statement, provides usage context, documents parameters with examples, and adds important notes. Every sentence adds value, and the information is front-loaded with the most important details first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a data conversion tool with no annotations and no output schema, the description does an excellent job covering purpose, parameters, and basic behavior. The examples are particularly helpful. It could be more complete by mentioning error cases or performance considerations, but it provides sufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0% (no parameter descriptions in schema), so the description fully compensates. It clearly documents all three parameters, their required status, valid values for 'from' and 'to' (utf8, hex, base64, binary), and provides multiple examples showing exactly how to use them together.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Converts') and resource ('data between different encodings'), and distinguishes it from sibling tools by focusing on data format transformation rather than blockchain or ordinal operations. The examples further clarify the exact functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use the tool ('useful for transforming data formats when working with blockchain data, encryption, or file processing'), but doesn't explicitly state when NOT to use it or name specific alternatives among sibling tools. The guidance is helpful but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv1.0.0
    • First observedbsv_decodeTransaction
    • First observedbsv_explore
    • First observedbsv_getPrice
    • First observedordinals_getInscription
    • First observedordinals_getTokenByIdOrTicker
    • First observedordinals_marketListings
    • First observedordinals_marketSales
    • First observedordinals_searchInscriptions
    • First observedutils_convertData

TDQS

B3.4/5.0

Scored across 9 tools

Disambiguation3/5

The tools have clear domains (BSV blockchain, ordinals, utilities), but within the bsv_explore tool, many sub-endpoints (e.g., block_by_hash, address_history) are bundled under one tool, which could cause confusion as they represent distinct operations. Other tools like ordinals_getInscription and ordinals_searchInscriptions have overlapping purposes but are differentiated by specific vs. search functionality.

Naming Consistency4/5

Most tools follow a consistent prefix_snake_case pattern (e.g., bsv_decodeTransaction, ordinals_getInscription, utils_convertData), with clear domain prefixes. However, bsv_explore is an outlier as it groups multiple operations under one name, deviating from the single-action-per-tool convention seen elsewhere.

Tool Count4/5

With 9 tools, the count is reasonable for covering Bitcoin SV blockchain, ordinals, and utilities. However, the bsv_explore tool effectively bundles many sub-operations, making the actual functionality count higher than 9, which could be seen as slightly heavy but still manageable.

Completeness4/5

The toolset covers key areas: transaction decoding, blockchain exploration, price data, ordinals (inscriptions, tokens, marketplace), and data conversion. Minor gaps include lack of tools for creating or broadcasting transactions, and deeper wallet or smart contract operations, but core read-only and analysis functions are well-represented for the domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI agents to interact with MNEE stablecoin on Bitcoin SV, including checking balances, transferring tokens, and querying transaction history in both sandbox and production environments.
    -
  • A
    license
    C
    quality
    D
    maintenance
    Enables AI applications to interact with the Bitcoin Network, manage wallets, check balances, convert prices, and send transactions.
    4
    35 npm
    6
    MIT