About MCP Money
MCP Money is a Nostr wallet built with NDK and Cashu for agents that need ecash and Lightning operations. It runs as both an MCP server and a CLI, with wallet state stored locally.
Key features
- 01Cashu ecash wallet
- 02Lightning deposits and payments
- 03Send Nostr Zaps
- 04Manage multiple mints
- 05Persist wallet state locally
- 06CLI wallet operations
Use cases
- 01Check total and per-mint balances
- 02Create a Lightning deposit invoice
- 03Pay a Lightning invoice
- 04Send a Zap to an npub or NIP-05 user
MCP support
As an MCP server, it exposes wallet tools for balance checks, deposits, payments, zaps, and adding mints to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Money

An MCP (Model Context Protocol) money implementation for Nostr using NDK (Nostr Development Kit) with Cashu ecash functionality.
Features
- Cashu Wallet Integration: Full support for Cashu ecash mints and tokens
- Lightning Network: Deposit via Lightning invoices and pay Lightning invoices
- Nostr Zaps: Send zaps to users using npub or NIP-05 identifiers
- Multi-mint Support: Manage multiple Cashu mints simultaneously
- Persistent Storage: Wallet state saved to local file with mint info caching
- MCP Server: Expose wallet functionality through Model Context Protocol
- CLI Interface: Direct command-line usage for all wallet operations
Installation
npm install mcp-money
Usage
MCP Server Mode (Default)
Run without arguments to start the MCP server:
npx mcp-money
CLI Mode
Use specific commands for direct wallet operations:
# 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
Authentication
The wallet supports multiple ways to provide your Nostr private key:
- Command line:
--nsec nsec1... - Environment variable:
NSEC=nsec1... - Config file: Automatically saved to
.wallet.json - Auto-generate: Creates new key if none provided
MCP Tools
When running as an MCP server, the following tools are available:
get_balance: Get the total wallet balanceget_mint_balances: Get balance breakdown per mintdeposit: Create a deposit invoice for specified amount and mintpay: Pay a Lightning invoicezap: Send a zap to a useradd_mint: Add a mint to the wallet
Integration with AI Assistants
Claude Code Integration
To use this wallet with Claude Code, add it to your project's MCP configuration:
{
"mcpServers": {
"mcp-money": {
"command": "npx",
"args": ["mcp-money"]
}
}
}
Or install globally and reference the binary directly:
npm install -g mcp-money
{
"mcpServers": {
"mcp-money": {
"command": "mcp-money"
}
}
}
Goose Integration
To use this wallet with Goose, add it to your ~/.config/goose/config.yaml:
If you have an nsec you want to use, you can set it by passing it as --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
After adding the configuration, restart your AI assistant to begin using the wallet tools.
Configuration
The wallet automatically creates a .wallet.json file to store:
- Private key (nsec)
- Public key (npub)
- Configured relays
- Configured mints
- Cached mint information
Architecture
Built on top of:
- NDK: Nostr Development Kit for Nostr protocol interactions
- NDK Wallet: Cashu wallet implementation
- Nostr Tools: Low-level Nostr utilities
- Bun: Fast JavaScript runtime and package manager
Security
- Private keys are stored locally in
.wallet.json - Mint information is cached for performance
- All Nostr communications use standard NIP protocols
- Lightning payments require explicit confirmation
License
MIT
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Support
For issues and questions, please open an issue on the GitHub repository.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.