MCP Money について
MCP Moneyは、NDKとCashuを使ったNostrウォレットで、エージェントに電子キャッシュやLightningの操作を提供します。MCPサーバーとコマンドラインの両方で動作し、ウォレット状態をローカルに保存します。
主な機能
- 01Cashu電子キャッシュウォレット
- 02Lightningでの入金と支払い
- 03NostrのZap送信
- 04複数mintの管理
- 05ウォレット状態のローカル保存
- 06コマンドライン操作
活用シーン
- 01合計残高とmint別残高の確認
- 02Lightning入金用インボイスの作成
- 03Lightningインボイスの支払い
- 04npubまたはNIP-05ユーザーへのZap送信
MCP 対応
MCPサーバーとして、残高確認、入金、支払い、Zap送信、mint追加のウォレットツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Money

NDK(Nostr Development Kit)とCashuの電子現金機能を使用した、Nostr向けのMCP(Model Context Protocol)マネー実装です。
特長
- Cashuウォレット統合:Cashuの電子現金ミントとトークンを全面的にサポートします
- Lightning Network:Lightningインボイスによる入金と、Lightningインボイスの支払いに対応します
- Nostr Zaps:npubまたはNIP-05識別子を使って、ユーザーにzapsを送信します
- 複数ミントのサポート:複数のCashuミントを同時に管理できます
- 永続ストレージ:ウォレットの状態をローカルファイルに保存し、ミント情報をキャッシュします
- MCP サーバー:Model Context Protocolを通じてウォレット機能を公開します
- CLIインターフェース:すべてのウォレット操作をコマンドラインから直接実行できます
インストール
npm install mcp-money
使用方法
MCP サーバーモード(デフォルト)
引数なしで実行すると、MCP サーバーが起動します。
npx mcp-money
CLIモード
特定のコマンドを使って、ウォレットを直接操作します。
# Get total balance
npx mcp-money get_balance
# Get balance per mint
npx mcp-money get_mint_balances
# Create deposit invoice
npx mcp-money deposit 1000 https://testnut.cashu.space
# Pay lightning invoice
npx mcp-money pay lnbc1...
# Send a zap
npx mcp-money zap npub1... 100 "Great post!"
# Add a new mint
npx mcp-money add_mint https://mint.example.com
認証
ウォレットでは、Nostrの秘密鍵を複数の方法で指定できます。
- コマンドライン:
--nsec nsec1... - 環境変数:
NSEC=nsec1... - 設定ファイル:
.wallet.jsonに自動保存されます - 自動生成:指定がない場合は新しい鍵を作成します
MCP ツール
MCP サーバーとして実行すると、次のツールを利用できます。
get_balance:ウォレットの合計残高を取得しますget_mint_balances:ミントごとの残高の内訳を取得しますdeposit:指定した金額とミントの入金インボイスを作成しますpay:Lightningインボイスを支払いますzap:ユーザーにzapを送信しますadd_mint:ウォレットにミントを追加します
AI アシスタントとの統合
Claude Codeとの統合
このウォレットをClaude Codeで使用するには、プロジェクトのMCP設定に追加します。
{
"mcpServers": {
"mcp-money": {
"command": "npx",
"args": ["mcp-money"]
}
}
}
または、グローバルにインストールして、バイナリを直接指定します。
npm install -g mcp-money
{
"mcpServers": {
"mcp-money": {
"command": "mcp-money"
}
}
}
Gooseとの統合
このウォレットをGooseで使用するには、~/.config/goose/config.yamlに追加します。
使用するnsecがある場合は、--nsec nsec1...として渡すことで設定できます。
extensions:
money:
args:
- -y
- mcp-money
bundled: null
cmd: npx
description: Money for agents
enabled: true
env_keys: []
envs: {}
name: money
timeout: 300
type: stdio
設定を追加した後、AI アシスタントを再起動すると、ウォレットツールを使用できるようになります。
設定
ウォレットは、次の情報を保存するために.wallet.jsonファイルを自動的に作成します。
- 秘密鍵(nsec)
- 公開鍵(npub)
- 設定済みのリレー
- 設定済みのミント
- キャッシュされたミント情報
アーキテクチャ
次の技術を基盤として構築されています。
- NDK:Nostrプロトコルとのやり取りに使用するNostr Development Kit
- NDK Wallet:Cashuウォレットの実装
- Nostr Tools:低レベルのNostrユーティリティ
- Bun:高速なJavaScriptランタイムおよびパッケージマネージャー
セキュリティ
- 秘密鍵はローカルの
.wallet.jsonに保存されます - パフォーマンス向上のため、ミント情報をキャッシュします
- すべてのNostr通信には標準のNIPプロトコルを使用します
- Lightningの支払いには明示的な確認が必要です
ライセンス
MIT
コントリビュート
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 該当する場合はテストを追加します
- プルリクエストを送信します
サポート
問題や質問がある場合は、GitHubリポジトリでissueを作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。