mcpField
P
PetaSats

PetaSats

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

PetaSats について

PetaSatsは、AIアプリからBase上のUSDCをBSVに交換するローカルの非カストディアルMCPサーバーです。鍵を端末内に保管し、設定可能な支出制限、交換状態ツール、復旧コマンドを備えています。

主な機能

  1. 01Base上のUSDCをBSVに交換
  2. 02ローカルでの鍵生成と保管
  3. 03送金先と日次上限の設定
  4. 04見積もり、状態確認、交換ツール
  5. 05支出の停止と再開
  6. 06中断後の交換復旧

活用シーン

  1. 01AIアプリからBSV購入を依頼
  2. 02交換額と送金先アドレスの制限
  3. 03交換の進捗とウォレット情報の確認
  4. 04中断した交換の復旧

MCP 対応

PetaSatsはローカルstdio MCPサーバーとして動作し、対応するMCPクライアントに見積もり、交換、状態確認、ウォレット、出金などのツールを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"bsvanon-petasats": {
"command": "npx",
"args": [
"-y",
"petasats-mcp"
]
}
}
}
起動コマンドnpx -y petasats-mcp

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

パッケージ
npmpetasats-mcp0.2.17

ツール

10

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

パラメーター型必須説明
to_assetstringはい交換先の資産:USDC または BSV(フェーズ 1 では USDC → BSV のみ対応)
amount_instringはいfrom_asset の金額を最小単位で指定した十進数文字列(例:USDC は小数点以下 6 桁で、"1000000" = 1 USDC。BSV は sats 単位)。
from_assetstringはい交換元の資産:USDC または BSV(フェーズ 1 では USDC → BSV のみ対応)

詳細

PetaSats

PetaSats MCP

ローカルで動作する、カストディアルではない MCP サーバーを通じて、AI アプリから Base 上の USDC で BSV を購入できます。

できること

PetaSats がサポートしているのは、Base 上の USDC から BSV への交換のみです。秘密鍵はお使いのマシン上で生成・保管されます。

  1. Base 上のスワップコントラクトに USDC をロックします。
  2. マーケットメーカーが BSV をロックします。
  3. キットがマークル証明とブロックヘッダーに照らしてロックを検証し、BSV を請求してシークレットを公開します。
  4. マーケットメーカーは、そのシークレットを使って USDC を請求します。

スワップの金額は約 5~100 ドルです。購入者ごとに、1 日あたり 3 回、合計 200 ドルまでスワップできます。全体で共有される 1 日あたりの上限も適用されます。標準速度がデフォルトで、BSV の承認を 1 回待ちます。明示的に speed: "fast" を指定すると、双方が同意した場合に限り、最大 25 ドルまで待機時間を短縮できます。

インストールと接続

Node.js 22 以降を使用してください。[email protected] に固定することをおすすめします。

claude mcp add petasats -- npx -y petasats-mcp

Claude Desktop(claude_desktop_config.json)、Cursor(~/.cursor/mcp.json):

{"mcpServers":{"petasats":{"command":"npx","args":["-y","petasats-mcp"]}}}

VS Code(.vscode/mcp.json):

{"servers":{"petasats":{"type":"stdio","command":"npx","args":["-y","petasats-mcp"]}}}

Codex(CLI、IDE 拡張機能、またはアプリ):

codex mcp add petasats -- npx -y petasats-mcp

ローカルの stdio サーバーを起動できるクライアントであれば、コマンドに npx、引数に -y petasats-mcp を指定して使用できます。初回起動時に ~/.petasats にキーが作成されます。保存場所は PETASATS_HOME で変更できます。keys.json をバックアップしてください。これが唯一のコピーです。同じキットホームを使うインスタンスは 1 つだけ起動してください。同じキーのコピーを 2 つ起動すると、互いに確認できない Base の支払いをそれぞれ署名する可能性があります。

キットに資金を入れる

wallet_info で Base アドレスを確認できます。そのアドレスに Base 上の USDC と、ガス代用の少額の ETH を送ってください。0.0002 ETH あれば多くのスワップを実行できます。

使い方

「BSV を 20 ドル分購入して、1... に送って」と尋ねます。

ツール資金を移動する
get_quoteいいえ
swap_asset_to_bsvはい
wait_for_swapいいえ
swap_statusいいえ
wallet_infoいいえ
stop_spendingいいえ
withdraw_bsvはい
withdraw_baseはい
fund_walletいいえ — USDC から BSV へのスワップを計画し、見積もりを返すだけです
list_liquidityいいえ

自分で設定できる上限

~/.petasats/limits.json を作成すると、AI が資金を送れる宛先と、UTC の 1 日あたりのスワップ上限を制限できます。

{
  "format": "petasats.limits/1",
  "bsvDestinations": ["1BoatSLRHtKNngkdXEeobR76b53LETtpyT"],
  "baseDestinations": ["0x1111111111111111111111111111111111111111"],
  "maxSwapUsdPerDay": 50,
  "allowFastSettlement": false
}

このファイルは自分のユーザーアカウントだけがアクセスできるようにしてください。chmod 600 ~/.petasats/limits.json を実行します。他のユーザーが読み取りまたは書き込みできる上限設定ファイルは、キットが拒否します。資金を移動する操作の前に、ファイルを毎回読み直します。拒否された場合は、上限設定ファイルによって拒否され、資金は送金されなかったことが通知されます。npx petasats-mcp limits を実行すると、設定を確認できます。

stop_spending を実行すると、新しいスワップと出金が直ちに停止します。再開できるのはユーザー本人だけです。npx petasats-mcp resume を実行してください。すでに開始されたスワップの復旧処理は引き続き動作します。

allowFastSettlement: false を設定すると、新しいスワップでの高速決済が禁止されます。このフィールドがない場合は、高速スワップを明示的に要求するとその利用を交渉できます。デフォルトは標準速度です。

これらの制御機能は、キットのツールしか使えない AI から保護するためのものです。お使いの AI アプリがシェルコマンドを実行したり、ファイルを編集したりできる場合は、ユーザーと同じように limits.json や STOP も編集できます。

進行状況と報告

サーバーは AI に操作ガイドを提供します。人が見守っている場合は、各段階で 1 行ずつ報告し、最後にトランザクション ID を含む概要を返します。プログラムに対しては結果のみを返します。報告によってスワップが遅れることはなく、スワップの開始後に確認を求めることもありません。

安全性の仕組み

資金の送金先は、Base 上のスワップコントラクト、キット自身のアドレス、またはユーザーが指定したアドレスに限られます。キットは公開の前に検証を行います。マーケットメーカーの BSV は、ロックから約 4 時間後(24 ブロック後)に返還される可能性があります。スワップが完了しない場合、ユーザーの USDC は約 16 時間後に返金されます。再起動後も復旧処理は再開されます。スワップは一度に 1 件だけ実行し、スワップ中はサーバーを稼働させてください。

高速モードでは、BSV のロックが未承認の状態でも、キットがシークレットを公開します。マーケットメーカーがそのロックを二重支払いすると、スワップの金額を失う可能性があります。高速モードは双方が同意し、金額が 25 ドル以下の場合に限り利用できます。それ以外の場合は、BSV の承認を 1 回待ちます。高速モードを選ぶのは購入者です。speed を省略すると、標準決済が使われます。

コスト

get_quote では、レートと市場中値との差を確認できます。Base のガス代を ETH で支払い、BSV の請求手数料と、deliver_to を指定した場合は少額の追加 BSV 手数料を支払います。プロトコル手数料については get_quote を参照してください。

実行する内容を確認する

npm パッケージは、タグ付きコミットから GitHub Actions でビルドされ、npm provenance 付きで公開されます。npm audit signatures を実行してください。npm のページでは、ビルドとそのコミットおよびワークフローの実行が関連付けられています。dist/petasats-mcp.mjs は難読化されていません。src/ のソースは、各リリースのたびに開発リポジトリからエクスポートされ、内部開発用コメントを削除し、内部名を一般的な名前に置き換えています。それ以外は同一です。

ファイル、状態、復旧

このキットは ~/.petasats を使用します。状態を確認するには npx petasats-mcp status を、処理が中断した後に復旧するには npx petasats-mcp recover を実行してください。

保留中の Base 出金(たとえば手数料の上昇後)は変更せずに再送されます。新しいスワップと Base 出金は、これが確定するまで待機します。保留中の出金を一覧表示するには npx petasats-mcp withdrawals を実行してください。確定済みの nonce が消費されたものの、レシートが見つからない場合は、Base エクスプローラーでトランザクションを確認してから、npx petasats-mcp withdrawal <hash> sent または npx petasats-mcp withdrawal <hash> not-sent を実行して結果を明示的に記録してください。

同じ Base 出金(資産、金額、アドレスが同一)を1時間以内に繰り返すと、再試行の可能性があるとして拒否されます。同じフォルダーで、このキットを使用する AI アプリを2つ同時に実行しないでください。

バージョン 0.2.0 または 0.2.1 で開始したスワップで、USDC ロックが確定しなかった場合、「Waiting for BSV lock」の状態のままになり、新しいスワップと出金がブロックされることがあります。そのスワップの実行中に同じフォルダーを使用した別のキットがなかった場合は、キットの環境で PETASATS_RESOLVE_OLD_STUCK_SWAPS=1 を設定し(たとえば、クライアントのサーバーエントリーに "env":{"PETASATS_RESOLVE_OLD_STUCK_SWAPS":"1"} を設定)、キットを再起動してください。これにより、キットは自身の Base アドレスにゼロ値のトランザクションを送信するため、古いロックが後から確定することはありません。このトランザクションが確定すると、通常は30分以内にスワップが失敗として記録されます。0.2.2 以降で開始したスワップは、この設定なしで解決されます。

トラブルシューティング

busy、limit、rate_limited、unavailable、declined は、何もロックされていないことを意味します。鍵ファイルの権限が正しくない場合は、所有者のみがアクセスできるように戻してください。RPC に問題がある場合は、ネットワーク接続を確認して再試行してください。

セキュリティ、ライセンス、免責事項

SECURITY.md を参照してください。PetaSats は Open BSV License v4 を使用しています。サードパーティーに関する通知は THIRD_PARTY_NOTICES.md に記載されています。このソフトウェアは実験的なものです。少額で使用してください。保証はありません。

コメント

MCP は初めてですか?

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

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