BTCPay Server MCP について
BTCPay Server MCPは、AIエージェントをBTCPay Server Greenfield APIに接続し、加盟店の決済業務を扱います。請求書やストアの管理に加え、Lightning、ウォレット、Webhook、為替レートの機能を備えています。
主な機能
- 01請求書の作成と確認
- 02ストアと決済方法の管理
- 03プルペイメントと支払いリクエストの処理
- 04Webhookと返金の設定
- 05Lightningとウォレット情報の確認
- 06為替レートの取得
活用シーン
- 01注文用の請求書を作成
- 02各ストアの未払い請求書を確認
- 03支払いリンクやWebhookを設定
- 04Lightningチャネルやウォレット残高を確認
MCP 対応
BTCPay Server Greenfield REST APIを利用する21個のツールをMCPサーバーとして公開します。MCPクライアントは、BTCPayのURLとAPIキーを設定してstdio経由で利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
btcpay-mcp
BTCPay Server 用の MCP サーバーです。Greenfield REST API を通じて、AI エージェントが請求書の作成、ストアの管理、支払いの追跡、為替レートの確認を行えます。
21 個のツール · MIT ライセンス · ハードコードされた認証情報はゼロ
BTCPay Server 用の唯一の MCP サーバーです。他の Bitcoin MCP サーバーがブロックチェーンデータやノード RPC を扱うのに対し、
btcpay-mcpは請求書の作成、ストア管理、プルペイメント、支払いリクエスト、Lightning 操作、ウォレット管理、Webhook、為替レートなど、加盟店向けの決済処理全般を AI エージェントに公開する初めてのサーバーです。
pip install btcpay-mcp
クイックスタート
Claude Desktop
claude_desktop_config.json に追加します。
{
"mcpServers": {
"btcpay-server": {
"command": "uvx",
"args": ["btcpay-mcp"],
"env": {
"BTCPAY_BASE_URL": "https://your-btcpay-server.com",
"BTCPAY_API_KEY": "your-api-key",
"BTCPAY_STORE_ID": "your-store-id"
}
}
}
}
Claude Code
claude mcp add btcpay-server -- uvx btcpay-mcp
Cursor / VS Code
.cursor/mcp.json または .vscode/mcp.json に追加します。
{
"mcpServers": {
"btcpay-server": {
"command": "uvx",
"args": ["btcpay-mcp"],
"env": {
"BTCPAY_BASE_URL": "https://your-btcpay-server.com",
"BTCPAY_API_KEY": "your-api-key",
"BTCPAY_STORE_ID": "your-store-id"
}
}
}
}
手動 / pip インストール
pip install btcpay-mcp
# Set environment variables
export BTCPAY_BASE_URL="https://your-btcpay-server.com"
export BTCPAY_API_KEY="your-api-key"
export BTCPAY_STORE_ID="your-store-id"
# Run
btcpay-mcp
または、ソースから pip でインストールします。
git clone https://github.com/toplyrnarfur/btcpay-mcp.git
# or: git clone https://codeberg.org/toplyr-narfur/btcpay-mcp.git
cd btcpay-mcp
pip install -e ".[dev]"
python -m btcpay_mcp.server
ツール
| ツール | 説明 |
|---|---|
get_server_info | BTCPay Server のバージョン、同期状態、対応メソッド |
list_stores | API キーでアクセスできるすべてのストアを一覧表示 |
get_store_info | ストア設定:通貨、速度ポリシー、チェックアウトの種類 |
get_store_payment_methods | 有効な支払い方法:オンチェーン、Lightning など |
create_invoice | 新しい請求書を作成(金額、通貨、注文 ID、説明) |
get_invoice | 請求書のステータス、受領した支払い、メタデータ、タイミング |
list_invoices | ステータスで絞り込み可能な請求書一覧 |
get_exchange_rate | BTCPay から現在の BTC/法定通貨の為替レートを取得 |
list_pull_payments | プルペイメント(寄付、サブスクリプション、給与支払い)を一覧表示 |
create_pull_payment | 寄付、サブスクリプション、給与支払い用のプルペイメントを作成 |
list_payouts | 実際の支払い取引(プルペイメントに対する請求)を一覧表示 |
list_payment_requests | 支払いリクエスト(再利用可能な支払いリンク)を一覧表示 |
create_payment_request | 支払いリクエスト(常設の支払いページ)を作成 |
get_payment_request | 支払いリクエストの詳細とステータスを取得 |
list_webhooks | 支払いイベント通知用に設定された Webhook を一覧表示 |
create_webhook | リアルタイムの支払い通知用 Webhook を作成 |
refund_invoice | 請求書を返金(プルペイメントを作成) |
get_lightning_info | Lightning ノード情報:エイリアス、バージョン、ピア、チャネル、残高 |
list_lightning_channels | 容量、残高、ステータスを含む Lightning チャネルを一覧表示 |
get_wallet_balance | オンチェーンウォレットの残高(承認済み/未承認) |
list_wallet_transactions | オンチェーンウォレットの取引を一覧表示 |
主なユースケース
AI エージェントに次のように依頼できます。
| プロンプト | 実行内容 |
|---|---|
| 「注文番号 1234 の 50 ドルの請求書を作成して」 | BTCPay 経由で BTC/Lightning の請求書を生成 |
| 「未払いの請求書をすべて表示して」 | ストア全体の保留中の請求書を一覧表示 |
| 「ストアで利用できる支払い方法は?」 | 設定済みの支払い方法を確認 |
| 「現在の BTC/USD レートは?」 | 現在の為替レートを取得 |
| 「請求書 inv_xxxx のステータスを表示して」 | 請求書の詳細と支払い状況を取得 |
| 「毎月 100 ドルの寄付用プルペイメントを設定して」 | 定期寄付用のプルペイメントを作成 |
| 「コンサルティングサービスの支払いリクエストを作成して」 | 再利用可能な支払いリンクを作成 |
| 「Lightning ノードの情報と残高を表示して」 | LN のエイリアス、チャネル、残高を取得 |
| 「オンチェーンウォレットの残高を確認して」 | 承認済み/未承認の BTC ウォレット残高を取得 |
| 「請求書の決済通知用に Webhook を設定して」 | リアルタイムの支払い通知用 Webhook を作成 |
| 「請求書 inv_xxxx を返金して」 | 計算方法を指定して返金を開始 |
設定
| 変数 | デフォルト | 説明 |
|---|---|---|
BTCPAY_BASE_URL | https://testnet.demo.btcpayserver.org | BTCPay Server の URL |
BTCPAY_API_KEY | (empty) | BTCPay Server の API キー |
BTCPAY_STORE_ID | (empty) | 請求書操作に使用するデフォルトのストア ID |
BTCPay API キーの作成
- BTCPay Server インスタンスに移動します
- Account → API Keys または Store Settings → API Keys に移動します
- 適切な権限を設定して、新しい API キーを作成します
- API キーとストア ID を控えます
API エンドポイント
すべて BTCPay Server Greenfield API v1 のものです。
GET /api/v1/server/info— サーバーのバージョンと情報GET /api/v1/stores— ストアの一覧GET /api/v1/stores/{storeId}— ストアの設定GET /api/v1/stores/{storeId}/payment-methods— 有効な決済方法POST /api/v1/stores/{storeId}/invoices— 請求書を作成GET /api/v1/stores/{storeId}/invoices— 請求書の一覧GET /api/v1/stores/{storeId}/invoices/{invoiceId}— 請求書の詳細GET /api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods— 決済アドレスPOST /api/v1/stores/{storeId}/invoices/{invoiceId}/refund— 請求書を返金GET /api/v1/stores/{storeId}/pull-payments— プル決済の一覧POST /api/v1/stores/{storeId}/pull-payments— プル決済を作成GET /api/v1/stores/{storeId}/payouts— 支払いの一覧GET /api/v1/stores/{storeId}/payment-requests— 決済リクエストの一覧POST /api/v1/stores/{storeId}/payment-requests— 決済リクエストを作成GET /api/v1/stores/{storeId}/payment-requests/{id}— 決済リクエストの詳細GET /api/v1/stores/{storeId}/webhooks— Webhook の一覧POST /api/v1/stores/{storeId}/webhooks— Webhook を作成GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/info— LN ノード情報GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/balance— LN 残高GET /api/v1/stores/{storeId}/lightning/{cryptoCode}/channels— LN チャネルGET /api/v1/stores/{storeId}/payment-methods/{pmId}/wallet— ウォレット残高GET /api/v1/stores/{storeId}/payment-methods/{pmId}/wallet/transactions— ウォレットの取引GET /api/v1/rates— 為替レート
他の Bitcoin MCP サーバーとの違い
| 機能 | btcpay-mcp | bitcoin-mcp (Bortlesboat) |
|---|---|---|
| 請求書の作成 | ✅ あり | ❌ なし |
| ストア管理 | ✅ あり | ❌ なし |
| 決済ライフサイクル | ✅ あり | ❌ なし |
| プル決済 | ✅ あり | ❌ なし |
| 決済リクエスト | ✅ あり | ❌ なし |
| Webhook | ✅ あり | ❌ なし |
| 返金 | ✅ あり | ❌ なし |
| Lightning ノード情報 | ✅ あり | ❌ なし |
| ウォレット管理 | ✅ あり | ❌ なし |
| 為替レート | ✅ あり(BTCPay) | ✅ あり(Satoshi API) |
| ブロックチェーンデータ | ❌ なし | ✅ あり(49 ツール) |
| ノード RPC | ❌ なし | ✅ あり(オプション) |
| 加盟店決済 | ✅ 唯一の選択肢 | ❌ なし |
btcpay-mcp は bitcoin-mcp のようなブロックチェーンデータサーバーを補完するものです。Bitcoin を包括的にカバーするには、両方を使用してください。ブロックチェーンデータには bitcoin-mcp、決済処理には btcpay-mcp を使用します。
テストの実行
pip install -e ".[dev]"
pytest tests/ -v
モックベースのテストにより、77 件すべてのテストが成功します(BTCPay インスタンスは不要です)。
技術的な詳細
- Python 3.10+ に対応
- FastMCP SDK(公式 Anthropic MCP Python SDK)
- 認証:環境変数
BTCPAY_API_KEYを使用した Bearer トークン - トランスポート:stdio(Claude Desktop、Cursor、VS Code、Windsurf など向け)
- デフォルトのテストネット:デフォルトで
https://testnet.demo.btcpayserver.orgを参照します
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。