Counterparty Mcp Server について
Counterparty MCP Serverは、AIエージェントからBitcoin上のCounterpartyトークンプロトコルを照会し、トランザクションを作成するサーバーです。未署名トランザクションの作成に加え、ローカルでの署名とブロードキャストにも対応します。
主な機能
- 01残高、資産、注文、ディスペンサーの照会
- 02Counterpartyトランザクションの作成
- 03任意でトランザクションを署名・ブロードキャスト
- 04プロトコルガイドとクイックスタートの参照
活用シーン
- 01アドレスのトークン残高と履歴の確認
- 02トークン送金やDEX注文の準備
- 03署名前のトランザクションデータ確認
- 04Counterpartyプロトコルの操作方法の把握
MCP 対応
stdio経由で、MCPクライアントにCounterpartyの照会、トランザクション作成、Bitcoin操作、プロトコルリソースを提供します。署名キーを設定すると、署名とブロードキャストを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @21e14/mcp-serverCOUNTERPARTY_NODECounterparty node URL (default: https://api.counterparty.io:4000)SIGNER_PRIVATE_KEYシークレットWIF-encoded private key for transaction signingSIGNER_ADDRESSBitcoin address for the signing keyローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
48掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| address | string | はい | Bitcoin アドレス |
| cursor | string | いいえ | 前回のレスポンスに含まれるページネーションカーソル |
| limit | integer | いいえ | 返す結果の件数 |
| offset | integer | いいえ | スキップする結果数 |
詳細
Counterparty MCP サーバー
AI エージェントがCounterpartyとやり取りできるようにします。CounterpartyはBitcoin上に構築されたトークンプロトコルです。残高、資産、注文、ディスペンサーを照会できます。トランザクションの作成、署名、ブロードキャストも可能です。MCP互換のクライアントであれば、どれでも利用できます。
インストール
ダウンロードは不要です。以下の設定をAIクライアントに追加するだけで、npxがサーバーを自動的に取得して実行します。
Claude Desktop
claude_desktop_config.jsonに追加します(場所の確認方法)。
{
"mcpServers": {
"counterparty": {
"command": "npx",
"args": ["-y", "@21e14/mcp-server"]
}
}
}
Claude Code
claude mcp add counterparty -- npx -y @21e14/mcp-server
署名機能を有効にする場合(署名とブロードキャストを参照)。
claude mcp add counterparty \
-e SIGNER_PRIVATE_KEY=L1aW4aubDFB7yfras2S1mN... \
-e SIGNER_ADDRESS=bc1q... \
-- npx -y @21e14/mcp-server
claude mcp list、claude mcp get counterparty、またはclaude mcp remove counterpartyでサーバーを管理できます。
VS Code(Copilot)
Ctrl+Shift+P → MCP: Add Server → Stdioを選択し、次の内容を入力します。
npx -y @21e14/mcp-server
または、.vscode/mcp.jsonに追加します。
{
"servers": {
"counterparty": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@21e14/mcp-server"]
}
}
}
Cursor
.cursor/mcp.jsonに追加します。
{
"mcpServers": {
"counterparty": {
"command": "npx",
"args": ["-y", "@21e14/mcp-server"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.jsonに追加します。
{
"mcpServers": {
"counterparty": {
"command": "npx",
"args": ["-y", "@21e14/mcp-server"]
}
}
}
ChatGPT
ChatGPTデスクトップアプリで、Settings → Beta Features → MCP Serversに移動し、次を追加します。
npx -y @21e14/mcp-server
任意のMCPクライアント
このサーバーはstdioで通信します。任意のMCP互換クライアントから、次を指定してください。
npx -y @21e14/mcp-server
これで完了です。エージェントはCounterpartyネットワークを照会し、未署名トランザクションを作成できるようになります。
署名とブロードキャスト
エージェントがトランザクションに署名してブロードキャストできるようにするには、署名キーを追加します。
{
"mcpServers": {
"counterparty": {
"command": "npx",
"args": ["-y", "@21e14/mcp-server"],
"env": {
"SIGNER_PRIVATE_KEY": "L1aW4aubDFB7yfras2S1mN...",
"SIGNER_ADDRESS": "bc1q..."
}
}
}
}
これにより、sign_and_broadcastツールが有効になります。署名を有効にすると、AIエージェントが資金を使えるようになります。以下のセキュリティガイダンスをお読みください。
ボットウォレットのパターン(推奨)
- **オフラインで新しいキーペアを生成します。**既存のウォレットを使い回したり、AIにキーを生成させたりしないでください。
- **リスクを許容できる金額だけを入金します。**これが損害の上限になります。
- **SegWitアドレスを使用します。**P2WPKH(
bc1q...)、P2SH-P2WPKH(3...)、またはP2TR(bc1p...)を使用してください。従来型のP2PKHには対応していません。 - **1つのキーにつき1つのアドレスを使用します。**HD派生には対応していません。Counterpartyは設計上、アドレスを再利用します。
- **主な資産は別の場所に保管します。**ボットウォレットは使い捨てです。
作成のみのモード
署名キーがない場合、サーバーはすべての作成ツールから未署名のトランザクションhexを返します。独自のツールを使って内容を確認し、オフラインで署名できます。これが最も安全なモードです。
トランザクションの検証
sign_and_broadcastは署名する前にトランザクションから埋め込み済みのOP_RETURNデータを抽出して返します。APIを信頼せずローカルで処理するため、エージェントはトランザクションが要求どおりであることを検証できます。
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
COUNTERPARTY_NODE | いいえ | CounterpartyノードのURL(デフォルト:https://api.counterparty.io:4000) |
SIGNER_PRIVATE_KEY | いいえ | 署名に使用するWIF形式の秘密鍵 |
SIGNER_ADDRESS | いいえ | 署名キーに対応するBitcoinアドレス |
ツール
クエリ(24)
| ツール | 説明 |
|---|---|
get_balances | アドレスのすべてのトークン残高 |
get_balance | アドレスの単一アセットの残高 |
get_asset_info | アセットのメタデータ(供給量、可分性、発行者) |
get_asset_balances | アセットのすべての保有者 |
get_assets | アセットの検索/一覧表示 |
get_issuances | アセットの発行履歴 |
get_owned_assets | アドレスが発行したアセット |
get_orders | DEX 注文 |
get_order | ハッシュで指定した単一注文 |
get_order_matches | 注文の約定 |
get_orders_by_pair | 取引ペアの注文板 |
get_asset_orders | アセットに関連する注文 |
get_address_orders | アドレスによる注文 |
get_dispensers | ディスペンサー |
get_dispenser | ハッシュで指定した単一ディスペンサー |
get_dispensers_by_asset | アセットのディスペンサー |
get_address_dispensers | アドレスによるディスペンサー |
get_dispenses | ディスペンサーからの購入 |
get_dividends | アセットの保有者への配当分配 |
get_address_transactions | アドレスの取引履歴 |
get_sends | アドレスからのトークン送金 |
get_transaction | ハッシュで指定した単一取引 |
get_utxo_balances | UTXO に紐付けられたトークン |
get_latest_block | 最新ブロック情報 |
作成(18)
| ツール | 説明 |
|---|---|
compose_send | アドレスにトークンを送金 |
compose_mpma | 複数の当事者への複数アセットの送金 |
compose_order | DEX 注文を出す |
compose_cancel | 未約定の注文をキャンセル |
compose_btcpay | 約定した BTC 注文の支払い |
compose_issuance | アセットを作成または更新(インスクリプションに対応) |
compose_dispenser | ディスペンサーを作成、開設、または閉鎖 |
compose_dispense | ディスペンサーから購入 |
compose_dividend | 保有者に配当を分配 |
compose_broadcast | メッセージをブロードキャスト(インスクリプションに対応) |
compose_sweep | すべてのアセットを送付先に移動 |
compose_destroy | トークンを恒久的にバーン |
compose_fairminter | フェアローンチを作成(インスクリプションに対応) |
compose_xcp420_fairminter | XCP-420 準拠のフェアローンチ |
compose_fairmint | 実施中のフェアローンチからミント |
compose_attach | トークンを UTXO に紐付け |
compose_detach | トークンを UTXO から切り離し |
compose_movetoutxo | UTXO を新しい出力に移動 |
Bitcoin(4)
| ツール | 説明 |
|---|---|
sign_and_broadcast | 署名してブロードキャスト(署名キーが必要) |
broadcast_transaction | 署名済みの取引をブロードキャスト |
get_fee_estimate | 現在の手数料率の推定値 |
decode_transaction | 生の取引 hex をデコード |
ユーティリティ(3)
| ツール | 説明 |
|---|---|
unpack_transaction | 取引から Counterparty メッセージをデコード |
get_server_info | ノードのステータスとバージョン |
api_request | 任意のエンドポイントへの生の API リクエスト(API リファレンス全文) |
リソース
サーバーには、エージェントがコンテキストを把握するために参照できるプロトコルのドキュメントが含まれています。
counterparty://protocol-overview— アセット、数量、DEX、ディスペンサー、フェアミント、手数料、運用上のヒントcounterparty://xcp420-standard— XCP-420 フェアローンチ規格counterparty://quick-start— 一般的な操作のステップごとのワークフロー
開発
git clone https://github.com/XCP/mcp-server.git
cd mcp-server
npm install
npm test
ローカルでテストするには:
{
"mcpServers": {
"counterparty": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"]
}
}
}
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。