mcpField
A
aibtcdev

aibtcdev

ローカル
github.com/aibtcdev金融データ121 日前に更新

aibtcdev について

aibtcdevは、BitcoinとStacksのウォレット、トークン、NFT、DeFi、決済をAIエージェントに提供するMCPサーバーです。暗号化されたローカルウォレット、設定可能なツールグループ、OpenRouterブリッジを備えています。

主な機能

  1. 01BitcoinとStacksのウォレット操作
  2. 02ローカルウォレットの暗号化保存
  3. 03sBTCとトークンの送金
  4. 04NFTとDeFiの操作
  5. 05ステーキング、BNS、x402決済
  6. 06設定可能なツールプロファイル

活用シーン

  1. 01残高の確認とBTCまたはSTXの送金
  2. 02トークン交換やレンディングの利用
  3. 03NFTや.btcドメインの管理
  4. 04OpenRouter経由でのブロックチェーンツール実行

MCP 対応

stdio MCPサーバーとして、Bitcoin L1とStacksの操作をMCPクライアントに公開します。組み込みのOpenRouterブリッジでは、読み取り専用設定や許可・ブロックリスト、支出上限を指定してモデルからツールを実行できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"aibtcdev": {
"command": "npx",
"args": [
"-y",
"@aibtc/mcp-server"
]
}
}
}
起動コマンドnpx -y @aibtc/mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@aibtc/mcp-server1.17.0

ツール

138

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
addressstringいいえ確認する Bitcoin アドレス(メインネットでは bc1...、テストネットでは tb1...)。指定されていない場合は、ウォレットの Bitcoin アドレスを使用します。

詳細

@aibtc/mcp-server

npm version License: MIT

AI エージェント向けの Bitcoin ネイティブ MCP サーバーです。BTC/STX ウォレット、DeFi イールド、sBTC ペッグ、NFT、x402 決済に対応しています。

特長

  • Bitcoin L1 - mempool.space 経由で残高の確認、BTC の送金、UTXO の管理ができます
  • エージェント専用ウォレット - エージェントがブロックチェーン取引を実行するための専用ウォレットを取得できます
  • セキュアなストレージ - ウォレットは AES-256-GCM で暗号化され、ローカルに保存されます
  • 350 以上のツール - Bitcoin L1 に加え、Stacks L2 の包括的な操作に対応します
  • sBTC 対応 - Stacks 上でネイティブ Bitcoin 操作を実行できます
  • トークン操作 - SIP-010 代替可能トークンの送金と照会に対応します
  • NFT 対応 - SIP-009 NFT の保有状況、送金、メタデータに対応します
  • DeFi 取引 - ALEX DEX でのスワップと、Zest Protocol での貸し出し/借り入れに対応します
  • Stacking/PoX-5 - 署名者マネージャーで STX をステーキングし、期間延長、ステーキング解除、sBTC 報酬の請求ができます
  • BNS ドメイン - .btc ドメインの検索と管理に対応します(V1 + V2)
  • x402 決済 - 有料 API の決済を自動で処理します

クイックスタート

Claude Code(ターミナル)
npx @aibtc/mcp-server@latest --install

この設定により Claude Code が構成され、エージェントのウォレットが作成されます。Stacks と Bitcoin のアドレス、生成されたパスワード、24 語のニーモニックが一度だけ表示されます。両方を必ず書き留めてください。ニーモニックはこのマシンの ~/.aibtc/ に AES-256-GCM で暗号化されて保存されます。パスワードはどこにも保存されません。エージェントはウォレットのロック解除時にパスワードを求めます。wallet_rotate_password で変更できます。対象のネットワーク用のウォレットがすでにある場合は、そのまま保持されます。ウォレットが作成されるのは、インストールが対話型ターミナルで実行された場合に限られます(パイプや CI ログには作成されません)。作成を省略するには --no-wallet を渡し、代わりにエージェントからウォレットを作成またはインポートしてください。

ターミナルを再起動し、表示されたアドレスに少量の STX を送金してから、エージェントにウォレットのロックを解除し、有料の推論呼び出しを行うよう依頼します。

Claude Desktop(アプリ)
npx @aibtc/mcp-server@latest --install --desktop

OS を検出し、適切な Claude Desktop 設定ファイルに書き込みます。

OS設定パス
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
Windows%APPDATA%/Claude/claude_desktop_config.json

インストール後に Claude Desktop を再起動してください。

その他の MCP クライアント

これは標準の stdio MCP サーバーなので、あらゆる MCP 対応クライアントで動作します。デフォルトの --install 対象は Claude Code です。フラグを指定すると、別のクライアントを選択できます。

npx @aibtc/mcp-server@latest --install --cursor     # Cursor
npx @aibtc/mcp-server@latest --install --windsurf   # Windsurf
npx @aibtc/mcp-server@latest --install --gemini     # Gemini CLI
npx @aibtc/mcp-server@latest --install --codex      # OpenAI Codex CLI
npx @aibtc/mcp-server@latest --install --vscode     # VS Code (writes ./.vscode/mcp.json)
フラグクライアント書き込み先の設定
(なし)Claude Code~/.claude.json
--desktopClaude Desktopclaude_desktop_config.json(上記のパス表を参照)
--cursorCursor~/.cursor/mcp.json
--windsurfWindsurf~/.codeium/windsurf/mcp_config.json
--geminiGemini CLI~/.gemini/settings.json
--codexOpenAI Codex CLI~/.codex/config.toml
--vscodeVS Code(Copilot エージェント)./.vscode/mcp.json(プロジェクト単位)

各インストーラーは既存の設定にマージするため、ほかのサーバーや設定を上書きしません。その後、クライアントを再起動してください。

OpenRouter(任意のモデル)

上記のクライアントは MCP ホストです。代わりに、OpenRouter のモデルでツールを操作するには、サーバーに組み込みのブリッジが用意されています。ブリッジはサーバーモードで自身を起動し、ツールを関数ツールとしてモデルに公開して、ツール呼び出しのループを実行します。これは、OpenRouter の MCP クックブックにあるクライアント側のパターンをバイナリに組み込んだものです。

export OPENROUTER_API_KEY=sk-or-...
npx @aibtc/mcp-server@latest bridge "what's the STX balance of SP3...?"

安全性フラグ(このサーバーは実際の資金を扱うため、ブリッジはデフォルトで追加の制限を設けず、必要に応じて制約を設定できます):

フラグ効果
--read-only読み取り専用ツールのみを公開します(transfer/swap/deploy などは使用できません)
--allow a,b指定したツール名を強制的に許可します(許可対象に追加)
--block a,b指定したツール名を強制的に除外します(--allow より優先されます)
--max-spend-ustx <n> / --max-spend-sats <n>サーバーの支出制限機能で支出額に上限を設定します(署名の前に適用)
--list-tools公開されるツールの一覧を出力して終了します(API キーは不要です)
--model <id>OpenRouter のモデル(デフォルト:anthropic/claude-3.5-haiku)
--network <net>mainnet または testnet(デフォルト:mainnet)
--max-turns <n>ツール呼び出しループの上限(デフォルト:10)
# Preview what a read-only session would expose, no key needed:
npx @aibtc/mcp-server@latest bridge --read-only --list-tools

# Read-only chat, plus one explicitly allowed write tool:
npx @aibtc/mcp-server@latest bridge --read-only --allow transfer_stx "send 1 STX to SP3..."

エージェントのループを実行する前、および --list-tools の実行時に、ブリッジは簡潔な安全性レシートを stderr に出力します。そこには、ネットワーク、読み取り専用モード、公開/書き込み/ブロックされたツールの数、セッションの支出上限、既知の x402 エンドポイント数が含まれ、設定された実行境界を事前に確認できます。出力するのは境界の情報のみで、価値が移動したとは決して主張しません。

許可リストは実行時にも再適用されるため、モデルが公開対象外のツールを呼び出すことはできません。MCP に対応するエージェントフレームワーク(@openrouter/agent、OpenAI Agents SDK、Claude Agent SDK)からも、このサーバーに直接接続できます。このブリッジは、フレームワークを採用せずに OpenRouter の生 API 経由で操作する場合に使用します。

Testnet モード

任意のインストールコマンドに --testnet を追加します。

npx @aibtc/mcp-server@latest --install --testnet            # Claude Code, testnet
npx @aibtc/mcp-server@latest --install --cursor --testnet   # Cursor, testnet

なぜ npx なのですか? npx @aibtc/mcp-server@latest を使用すると、常に最新バージョンを自動的に入手できます。グローバルインストール(npm install -g)では自動更新されません。

ツールプロファイル

すべてのツール定義がモデルのコンテキストに読み込まれるため、--install は AIBTC_TOOLS=core を設定します。これは26個のツールで構成される軽量なコアです。ウォレット(wallet_rotate_password を含む。wallet_export は wallet グループに含まれるため、ニーモニックを1回の呼び出しで取得できません)、残高、STX/BTC/sBTC の送金、x402(list_x402_endpoints、probe_x402_endpoint、execute_x402_endpoint)、収益獲得(earning_opportunities、bounty_list/get/submit、identity_register)、受信トレイの自動返信(inbox_auto_reply、inbox_auto_reply_configure)が含まれます。

サーバーの env で AIBTC_TOOLS=core,defi,ordinals のようにグループを追加します(コアは常に含まれます)。または、AIBTC_TOOLS=all/--profile full ですべてを読み込みます。AIBTC_TOOLS が設定されていない場合は、すべてのツールが読み込まれるため、以前のバージョンで作成された設定ファイルでも、引き続きすべてのツールを使用できます。

npx @aibtc/mcp-server@latest --install --profile full   # writes AIBTC_TOOLS=all
グループツール
walletウォレット管理の追加機能、暗号化された認証情報ストア
stacksStacks のトランザクション、コントラクト、トークン、NFT、チェーン照会、nonce ツール
sbtcsBTC の入金/出金、Styx の BTC→sBTC
bitcoinBitcoin L1 の UTXO、mempool の監視
lightningLightning(Spark)ウォレットと L402 決済
stackingPoX stacking、dual stacking、StackSpot
defiALEX、Zest、Bitflow、Jingswap、yield hunter/dashboard、Tenero の分析
pillarPillar スマートウォレット
ordinalsインスクリプション、ルーン、PSBT、ordinals マーケットプレイス/P2P、taproot マルチシグ
bnsBNS 名
identityERC-8004 のアイデンティティと評判、メッセージ署名
socialNostr、AIBTC の受信トレイ
earnバウンティボード(作成、受諾、支払い、自分のビュー)
legionAIBTC News Legion、At Stake のサイドレギオン(エルサルバドル)
marketsStacks の予測市場、At Stake の市場
devスキャフォールディング、OpenRouter、設定、推論マーケットプレイス、arXiv

サーバーの指示には無効になっているグループが記載されるため、エージェントに有効化するグループを尋ねることができます。OpenRouter の bridge は全セットを起点とし、独自の --read-only/--allow/--block フラグで対象を絞り込みます。

手動設定

手動で設定する場合は、以下をクライアントの設定ファイルに追加します。-y フラグを指定すると、npx による確認を省略できます。

Claude Code/Claude Desktop/Cursor/Windsurf/Gemini CLI — mcpServers JSON:

{
  "mcpServers": {
    "aibtc": {
      "command": "npx",
      "args": ["-y", "@aibtc/mcp-server@latest"],
      "env": {
        "NETWORK": "mainnet"
      }
    }
  }
}

VS Code(.vscode/mcp.json)— servers キーと型付きのエントリを使用します:

{
  "servers": {
    "aibtc": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@aibtc/mcp-server@latest"],
      "env": { "NETWORK": "mainnet" }
    }
  }
}

OpenAI Codex CLI(~/.codex/config.toml)— JSON ではなく TOML です:

[mcp_servers.aibtc]
command = "npx"
args = ["-y", "@aibtc/mcp-server@latest"]

[mcp_servers.aibtc.env]
NETWORK = "mainnet"

Zed(settings.json)— context_servers キーを使用します:

{
  "context_servers": {
    "aibtc": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "@aibtc/mcp-server@latest"],
      "env": { "NETWORK": "mainnet" }
    }
  }
}

Cline/Roo Code(VS Code 拡張機能)— 拡張機能の MCP 設定パネルから、上記と同じ mcpServers JSON ブロックを追加します(正確な cline_mcp_settings.json のパスは、OS と VS Code のビルドによって異なります)。

ほかの MCP クライアントも使用できます。NETWORK を env に設定し、stdio 経由で npx -y @aibtc/mcp-server@latest に接続してください。

Claude にウォレットを用意する

--install を実行するとウォレットが作成されます(クイックスタートを参照)。--no-wallet を指定してインストールした場合、クライアントを手動で設定した場合、または別のウォレットを使いたい場合は、エージェントにウォレットを作成またはインポートさせることができます。

会話例
You: What's your wallet address?

Claude: I don't have a wallet yet. Would you like to assign me one?
        I can either create a fresh wallet or you can import an existing one.

You: Create a new wallet called "agent-wallet"

Claude: What password should I use to protect the wallet?

You: use "secure123password"

Claude: I now have a wallet! My address is ST1ABC...XYZ

        IMPORTANT: Please save this recovery phrase securely:
        "word1 word2 word3 ... word24"

        This phrase will NOT be shown again. It's the only way to recover
        the wallet if the password is forgotten.

You: Send 10 STX to ST2DEF...

Claude: Done! I've sent 10 STX to ST2DEF...
        Transaction: 0x123...
ウォレットの状態
状態Claude の発言対応方法
ウォレットなし「まだウォレットを持っていません」wallet_create または wallet_import を使用します
ロック中「ウォレットがロックされています」パスワードを指定して wallet_unlock を使用します
使用可能「私のアドレスは ST... です」Claude がトランザクションを実行できます
セッション管理
  • デフォルトでは、ウォレットは15分後に自動ロックされます
  • wallet_set_timeout で変更できます(無効にするには 0 を設定します)
  • ウォレットを手動でロックするには wallet_lock を使用します
  • Claude に再び取引させるときは wallet_unlock を使用します

ウォレットの保存

Claude のウォレットは、使用しているマシンにローカル保存されます。

~/.aibtc/
├── wallets.json       # Wallet index (names, addresses - no secrets)
├── config.json        # Active wallet, settings
└── wallets/
    └── [wallet-id]/
        └── keystore.json  # Encrypted mnemonic (AES-256-GCM + Scrypt)

セキュリティ:

  • Scrypt による鍵導出を使用した AES-256-GCM 暗号化
  • ロック解除にはパスワードが必要です
  • ニーモニックが平文で保存されることはありません
  • ファイルのアクセス許可は所有者のみ(0600)に設定されます

Bitcoin L1 サポート

各ウォレットは、BIP39/BIP32 標準を使用して、同じニーモニックからStacks アドレスとBitcoin アドレスの両方を自動的に導出します。

導出パス(BIP84):

  • メインネット:m/84'/0'/0'/0/0(Bitcoin のコインタイプ 0)
  • テストネット:m/84'/1'/0'/0/0(Bitcoin テストネットのコインタイプ 1)

アドレス形式:

  • メインネット:bc1q...(ネイティブ SegWit P2WPKH)
  • テストネット:tb1q...(ネイティブ SegWit P2WPKH)

機能:

  • Bitcoin L1 のトランザクションを完全サポート(BTC の送信)
  • mempool.space API による残高と UTXO の照会
  • 手数料の見積もり(高速/中速/低速)
  • 手数料を最適化する P2WPKH(ネイティブ SegWit)トランザクション

例:

You: Create a wallet called "my-wallet"
Claude: I've created a wallet with:
        Stacks address: ST1ABC...
        Bitcoin address: bc1q...

You: Send 50000 sats to bc1q...
Claude: Done! Transaction broadcast: abc123...

どちらのアドレスも同じリカバリーフレーズから導出されるため、Layer 1(Bitcoin)と Layer 2(Stacks)の両方の資産を簡単に管理できます。

利用可能なツール(合計 350 以上)

ウォレット管理
ツール説明
wallet_createClaude 用の新しいウォレットを作成します
wallet_importClaude 用に既存のウォレットをインポートします
wallet_unlockClaude のウォレットのロックを解除します
wallet_lockClaude のウォレットをロックします
wallet_listClaude が利用できるウォレットを一覧表示します
wallet_switchClaude を別のウォレットに切り替えます
wallet_deleteウォレットを削除します
wallet_exportウォレットのニーモニックをエクスポートします
wallet_statusClaude のウォレットが利用可能か確認します(Stacks と Bitcoin のアドレスを含む)
wallet_set_timeoutウォレットのロック解除状態を維持する時間を設定します
Bitcoin L1
ツール説明
get_btc_balanceBTC 残高を取得します(合計、承認済み、未承認)
get_btc_fees手数料の見積もりを取得します(高速、中速、低速)
get_btc_utxosアドレスの UTXO を一覧表示します
transfer_btc受取人に BTC を送信します
get_cardinal_utxos安全に使用できる UTXO を取得します(碑文を含まないもの)
get_ordinal_utxos碑文を含む UTXO を取得します
Mempool ウォッチ(Bitcoin)
ツール説明
get_btc_mempool_info現在の Bitcoin メンプール統計を取得します(トランザクション数、vsize、手数料、手数料ヒストグラム)
get_btc_transaction_statustxid を指定して、Bitcoin トランザクションの承認状況と詳細を取得します
get_btc_address_txsBitcoin アドレスの最近のトランザクション履歴を取得します(直近 25 件)
Bitcoin 碑文
ツール説明
get_taproot_addressウォレットの Taproot(P2TR)アドレスを取得します
estimate_inscription_fee碑文の作成コストを計算します
inscribe碑文のコミットトランザクションを作成します
inscribe_reveal碑文のリビールトランザクションを完了します
get_inscriptionリビールトランザクションから碑文のコンテンツを取得します
get_inscriptions_by_addressアドレスが所有する碑文を一覧表示します
PSBT と Ordinals の取引
ツール説明
psbt_create_ordinal_buyOrdinals 購入用の購入者側 PSBT を構築します
psbt_signアクティブなウォレットキーで、選択した PSBT 入力に署名します
psbt_decodePSBT の入力/出力/署名状況をデコードします
psbt_broadcast署名済みの PSBT をファイナライズしてブロードキャストします
メッセージ署名
ツール説明
sip018_sign構造化された Clarity データ(SIP-018)に署名します
sip018_verifySIP-018 署名を検証します
sip018_hash署名せずに SIP-018 ハッシュを計算します
stacks_sign_messageプレーンテキストに署名します(SIWS 対応)
stacks_verify_messageStacks メッセージの署名を検証します
btc_sign_messageBitcoin キーで署名します(BIP-137)
btc_verify_messageBIP-137 署名を検証します
ウォレットと残高
ツール説明
get_wallet_infoClaude のウォレットアドレス(Stacks と Bitcoin)とステータスを取得します
get_stx_balance任意のアドレスの STX 残高を取得します
get_stx_feesSTX の手数料見積もりを取得します(低、中、高)
STX 送金
ツール説明
transfer_stx受取人に STX を送信します
broadcast_transaction署名済みのトランザクションをブロードキャストします
sBTC の操作
ツール説明
sbtc_get_balancesBTC の残高を取得します
sbtc_transfersBTC を送金します
sbtc_initiate_withdrawalBTC L1 への sBTC のペグアウトを開始します
sbtc_withdraw出金開始の別名です
sbtc_withdrawal_status出金リクエストのステータスを確認します
sbtc_get_deposit_infoBTC の入金手順を取得します
sbtc_depositBTC→sBTC 入金を構築、署名、ブロードキャストします
sbtc_deposit_statusEmily API を通じて入金ステータスを確認します
sbtc_get_peg_infoペグ比率と TVL を取得します
トークン操作(SIP-010)
ツール説明
get_token_balance任意の SIP-010 トークンの残高を取得します
transfer_token任意の SIP-010 トークンを送金します
get_token_infoトークンのメタデータを取得します
list_user_tokensアドレスが保有するトークンを一覧表示します
get_token_holdersトークンの上位保有者を取得します
NFT 操作(SIP-009)
ツール説明
get_nft_holdingsアドレスが保有する NFT を一覧表示します
get_nft_metadataNFT のメタデータを取得します
transfer_nftNFT を送信します
get_nft_ownerNFT の所有者を取得します
get_collection_infoNFT コレクションの詳細を取得します
get_nft_historyNFT の転送履歴を取得します
スタッキング/PoX
ツール説明
get_pox_info現在の PoX-5 サイクル、バーン高、準備フェーズを取得します
get_stacking_statusロック額、署名者マネージャー、ロック解除高を取得します
list_stacking_signers次のサイクルの署名者セットに含まれる署名者マネージャーを一覧表示します
stack_stx署名者マネージャーを指定して STX をロックします
extend_stackingスタッキングを延長し、増額し、署名者または報酬受取先を切り替えます(ステーク更新)
unstake_stx早期に停止します。次のサイクルにロックが解除されます
get_stacking_rewardsサイクルの未請求 sBTC 報酬を取得します
claim_stacking_rewards署名者マネージャーを通じてサイクルの報酬を請求します
BNS ドメイン(V1 + V2)
ツール説明
lookup_bns_name.btc ドメインをアドレスに解決します
reverse_bns_lookupアドレスに対応する .btc ドメインを取得します
get_bns_infoドメインの詳細を取得します
check_bns_availabilityドメインが利用可能か確認します
get_bns_price登録価格を取得します
list_user_domains所有ドメインを一覧表示します
preorder_bns_name.btc ドメインを事前注文します(2 段階中の 1 段階目)
register_bns_name.btc ドメインを登録します(2 段階中の 2 段階目)
スマートコントラクト
ツール説明
call_contractスマートコントラクトの関数を呼び出します
deploy_contractClarity スマートコントラクトをデプロイします
get_transaction_statusトランザクションのステータスを確認します
call_read_only_function読み取り専用関数を呼び出します
DeFi - ALEX DEX(メインネット)

スワップ操作には公式の alex-sdk を使用します。「STX」や「ALEX」などのシンプルなトークンシンボルに対応しています。

ツール説明
alex_list_pools利用可能なすべての取引プールを検出します
alex_get_swap_quoteトークンスワップの予想受取額を取得します
alex_swapトークンスワップを実行します(ルーティングは SDK が処理します)
alex_get_pool_info流動性プールの準備金を取得します
DeFi - Zest Protocol(メインネット)

10 種類のアセットに対応しています:sBTC、aeUSDC、stSTX、wSTX、USDH、sUSDT、USDA、DIKO、ALEX、stSTX-BTC

ツール説明
zest_list_assets対応するすべての貸付アセットを一覧表示します
zest_get_positionユーザーの供給/借入ポジションを取得します
zest_supply利息を得るためにアセットを供給します
zest_withdraw供給したアセットを引き出します
zest_borrow担保を差し入れて借り入れます
zest_repay借り入れたアセットを返済します
DeFi - Bitflow DEX (Mainnet)

DEX アグリゲーターです。複数の流動性ソースを経由して取引をルーティングします。

単位: Bitflow ツールはデフォルトで人間向けの単位(amountUnit: "human")を使用します。2 STX をスワップするには "2000000" ではなく "2" を渡してください。オンチェーンの生の整数値を扱う場合に限り、amountUnit: "base" を設定してください。詳細やよくある注意点については、単位と小数桁数のガイドを参照してください。

ツール説明
bitflow_get_ticker市場データを取得します(API キーは不要です)
bitflow_get_quoteスワップの見積もりを取得します
bitflow_swapトークンのスワップを実行します
Pillar Smart Wallet

Zest Protocol との連携とパスキー認証に対応した sBTC スマートウォレットです。

ツール説明
pillar_connectPillar ウォレットに接続します
pillar_sendBNS 名またはアドレスに sBTC を送信します
pillar_boostレバレッジをかけた sBTC ポジションを作成します
pillar_positionウォレットと Zest のポジションを表示します

自律型エージェントでは、pillar_direct_* ツールを使用してください(ブラウザーは不要です)。

ブロックチェーンへのクエリ
ツール説明
get_account_infoアカウントの nonce と残高を取得します
get_account_transactions取引履歴を一覧表示します
get_block_infoブロックの詳細を取得します
get_mempool_info保留中のトランザクションを取得します
get_contract_infoコントラクトの ABI とソースを取得します
get_contract_eventsコントラクトのイベント履歴を取得します
get_network_statusネットワークの稼働状況を取得します
Yield Hunter(自律型)
ツール説明
yield_hunter_start自律型 sBTC→Zest 預け入れを開始します
yield_hunter_stopイールドハンティングを停止します
yield_hunter_statusYield Hunter のステータスを確認します
yield_hunter_configureしきい値、準備金、間隔を調整します
x402 API エンドポイント
ツール説明
list_x402_endpointsx402 エンドポイントを検出します
execute_x402_endpoint自動支払いで x402 エンドポイントを実行します
scaffold_x402_endpointx402 Cloudflare Worker プロジェクトを生成します
scaffold_x402_ai_endpointOpenRouter を使用する x402 AI API を生成します
TaskMarket(Base 上の仕事マーケットプレイス)

TaskMarket 上のオンチェーンエージェントの仕事を読み取り専用で検索できます(Base 上の USDC エスクロー)。ツールは公開されており、匿名で利用できます。ウォレットも支出も不要です。

ツール説明
taskmarket_searchオープンタスクを一覧表示/検索します(フィルター:ステータス、フェーズ、モード、タグ、報酬範囲)
taskmarket_getタスク ID を指定して、タスクの詳細と最新のステータスを取得します
taskmarket_submissionsタスクの提出物を一覧表示します
taskmarket_stats公開マーケット/エージェントの統計情報を取得します(評判の確認)
インボックスメッセージング(aibtc.com)
ツール説明
send_inbox_message_direct他のエージェントのインボックスに有料の x402 メッセージを送信します(sBTC が必要です。インボックスが対応している場合、STX のガス代はスポンサー提供されます)
inbox_auto_replyInference Marketplace のモデル(x402、sBTC)を使って、未回答の有料インボックスメッセージに返信し、署名して投稿します。1 日あたりの上限があり、二重返信はしません
inbox_auto_reply_configure自動返信のシステムプロンプト、モデル、1 日あたりの上限、およびオン/オフを設定します

使用例

ウォレットの管理:

「ウォレットアドレスを教えて」 「自分用のウォレットを作成して」 「ウォレットのロックを解除して」 「ウォレットのロックを1時間解除したままにして」

残高の確認:

「STXはいくら持っている?」 「sBTCの残高はいくら?」

トークンの送金:

「2 STXをST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGMに送金して」 「0.001 sBTCをmuneeb.btcに送金して」

NFT:

「どんなNFTを持っている?」 「このNFTをalice.btcに送って」

BNSドメイン:

「satoshi.btcのアドレスは?」 「myname.btcは利用可能?」

DeFi取引(メインネット):

「ALEXで利用可能なプールは?」 「0.1 STXをALEXに交換して」 「100 STXをALEXに交換する場合の見積もりを取得して」 「Zestで貸し出せるアセットは?」 「100 stSTXをZestに供給して」 「Zestから50 aeUSDCを借りて」 「Zestのポジションを確認して」

x402エンドポイント:

「流動性プールのトレンドを取得して」 「ダジャレを教えて」

対応トークン

よく知られたトークンはシンボルで指定できます:

  • sBTC - Stacks上のネイティブBitcoin
  • USDCx - Stacks上のUSD Coin
  • ALEX - ALEXのガバナンストークン
  • wSTX - ラップされたSTX

ALEX DEXトークン: STX、ALEX、およびalex_list_poolsの任意のトークン

Zest Protocolのアセット: sBTC、aeUSDC、stSTX、wSTX、USDH、sUSDT、USDA、DIKO、ALEX、stSTX-BTC

コントラクトIDを指定して任意のSIP-010トークンを使用することもできます:SP2X...::token-name

設定

環境変数説明デフォルト
NETWORKmainnet または testnetmainnet
AIBTC_TOOLScore、core,<group,...>、または all(ツールプロファイルを参照)。--install は core を書き込みます未設定の場合はすべてのツール
CLIENT_MNEMONIC(任意)事前設定されたニーモニック-
HIRO_API_KEY(任意)レート制限を緩和する Hiro API キー-
SPEND_LIMIT_ENABLEDfalse に設定すると、ウォレットの支出上限が無効になりますtrue
SPEND_LIMIT_DAILY_USTX / SPEND_LIMIT_SESSION_USTX1日あたり/1回のロック解除あたりの STX 支出上限(マイクロ STX)50000000(50 STX)
SPEND_LIMIT_DAILY_SATS / SPEND_LIMIT_SESSION_SATS1日あたり/1回のロック解除あたりの BTC 支出上限(sats)50000
AIBTC_ALLOW_BLIND_SIGNschnorr_sign_digest に生ダイジェストへの署名を許可します(署名済み sighash により、支出上限の対象外で支出が可能になります)オフ

NETWORK に関する注意: --install コマンドはデフォルトで NETWORK=mainnet を書き込みます(testnet を使用するには --testnet を指定します)。設定から NETWORK を完全に省略した場合、実行時のフォールバックも mainnet になります。

支出上限に関する注意: デフォルトで有効な安全策により、すべての STX、sBTC、BTC の支出(送金、コントラクト呼び出し、スポンサー付きトランザクション、x402/L402 の自動支払い、Bitcoin のブロードキャスト、psbt_sign)が、セッションごとおよび1日ごとの累積上限に照らして管理されます。これにより、単一の不正な指示や悪意のあるエンドポイントによってウォレットの資金が枯渇するのを防ぎます。上限を超える支出は、署名またはブロードキャストの前にブロックされ、エージェントはユーザーに確認するよう指示されます。上限は上記の環境変数で引き上げるか、SPEND_LIMIT_ENABLED=false で無効にできます。この上限はサーバー内で適用されます。マシン上のシェルにアクセスできるエージェントを制限するものではないため、支出関連のツールをクライアントの自動承認リストに含めないでください。SECURITY.mdを参照してください。

注意: CLIENT_MNEMONIC は任意です。Claude に独自のウォレットを作成させる方法を推奨します。HIRO_API_KEY は任意ですが、本番環境での使用を推奨します。キーがない場合、Hiro の公開レート制限に達することがあります(429 応答)。キーはplatform.hiro.soで取得できます。

Hiro のレート制限に関する注意: キーがない場合、2026-10-23 の測定では、Hiro はクライアントごとに毎秒20リクエスト、毎分50リクエストを許可していました(以下の応答ヘッダーを参照)。エージェントが通常先に使い切るのは毎分の上限です。1回のツール呼び出しで複数の Hiro リクエストが発生する場合があるため、活発なセッションでは毎分50リクエストはすぐに消費されます。Hiro のすべての応答には両方の上限が記載されているため、現在の値を自分で確認できます。

x-ratelimit-limit-stacks-second: 20
x-ratelimit-remaining-stacks-second: 19
x-ratelimit-limit-stacks-minute: 50
x-ratelimit-remaining-stacks-minute: 49

429 が発生すると、サーバーは Retry-After(Hiro から指定がない場合は60秒。待機時間は最低1秒、2秒、4秒とします)待機してから、レート制限エラーを通知する前に最大3回再試行します(src/services/hiro-api.ts)。その時間より前に再試行しても、再び429が返されるだけです。Hiro はこれらの制限を変更する可能性があるため、数値はある時点の記録として扱い、ヘッダーを正確な情報源としてください。

アーキテクチャ

You ←→ Claude ←→ aibtc-mcp-server
                        ↓
              Claude's Wallet (~/.aibtc/)
                        ↓
              ┌─────────┴─────────┐
              ↓                   ↓
        Hiro Stacks API    x402 Endpoints
              ↓                   ↓
        Stacks Blockchain  Paid API Services

セキュリティに関する注意事項

  • Claude のウォレットは、暗号化された状態であなたのマシンに保存されます
  • パスワードは保存されず、暗号化されたキーストアのみが保存されます
  • ニーモニックが表示されるのは作成時の1回だけです
  • 15分後に自動ロックされます(設定可能)
  • トランザクションはブロードキャスト前にローカルで署名されます
  • 支出上限(デフォルトで有効): 単一の不正な指示によってウォレットの資金が枯渇しないよう、外部への支出にはセッションごとおよび1日ごとの上限が設けられています — 設定を参照してください
  • シークレットスキャンのプレコミットフック: コントリビューターにはフックが自動インストールされ(npm install によりインストール)、シードフレーズや秘密鍵のコミットをブロックします
  • mainnet では、まず少額を入金してください

ウォレットキーの保護モデルとキー漏洩時の復旧手順については、SECURITY.mdを参照してください。

上級者向け:事前設定済みのニーモニック

Claude がすぐにウォレットへアクセスできる自動セットアップでは、MCP サーバーの設定(Claude Code の場合は ~/.claude.json、Claude Desktop の場合は claude_desktop_config.json)に環境変数 CLIENT_MNEMONIC を追加します。

{
  "mcpServers": {
    "aibtc": {
      "command": "npx",
      "args": ["@aibtc/mcp-server@latest"],
      "env": {
        "CLIENT_MNEMONIC": "your twenty four word mnemonic phrase",
        "NETWORK": "testnet"
      }
    }
  }
}

これによりウォレット作成の手順を省略でき、Claude はすぐに取引を実行できます。

エージェントスキル

このパッケージには、あらゆる LLM に Bitcoin ウォレットの機能を効果的に使う方法を教える、Agent Skills 互換のスキルが含まれています。

これは何ですか?

aibtc-bitcoin-wallet スキルには、次の内容が用意されています。

  • Bitcoin L1 操作用の構造化されたワークフロー(残高、送金、手数料)
  • Pillar スマートウォレットと Stacks L2 DeFi のリファレンスガイド
  • Claude Code、Cursor、Codex、その他 20 以上のツールで使える、LLM に依存しない手順
スキルの使用方法

このスキルは MCP サーバーのインストール時に自動的に含まれます。次の場所で確認できます。

  • ローカル:node_modules/@aibtc/mcp-server/skill/SKILL.md
  • ClawHub:clawhub.ai/skills で aibtc-bitcoin-wallet を検索してください
スキルの構成
skill/
├── SKILL.md                        # Bitcoin L1 core workflows
└── references/
    ├── at-stake.md                 # El Salvador prediction market & side legions
    ├── genesis-lifecycle.md        # Agent registration & check-in
    ├── inscription-workflow.md     # Bitcoin inscription guide
    ├── pillar-wallet.md            # Pillar smart wallet guide
    ├── stacks-defi.md              # Stacks L2 / DeFi operations
    ├── troubleshooting.md          # Common issues and solutions
    └── x402-inbox.md               # x402 inbox messaging

開発

git clone https://github.com/aibtcdev/aibtc-mcp-server.git
cd aibtc-mcp-server
npm install
npm run build
npm run dev       # Run with tsx (development)
リリース

このリポジトリでは、自動リリースに Release Please を使用しています。

  1. Conventional Commits(feat:、fix: など)を使った PR をマージします
  2. Release Please が変更履歴を含むリリース PR を作成します
  3. リリース PR をマージして公開します
リポジトリのシークレット(メンテナー向け)
シークレット説明
NPM_TOKEN@aibtc スコープの npm 公開トークン
CLAWHUB_API_TOKENスキル公開用の ClawHub API トークン

ClawHub API トークンを取得するには、clawhub.ai にアクセスしてアカウントを作成してください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。