Skip to main content
Glama

MCP Money

MCP 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

Related MCP server: lunchmoney-mcp

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:

  1. Command line: --nsec nsec1...

  2. Environment variable: NSEC=nsec1...

  3. Config file: Automatically saved to .wallet.json

  4. 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 balance

  • get_mint_balances: Get balance breakdown per mint

  • deposit: Create a deposit invoice for specified amount and mint

  • pay: Pay a Lightning invoice

  • zap: Send a zap to a user

  • add_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

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

Support

For issues and questions, please open an issue on the GitHub repository.

Deploy Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pablof7z/mcp-money'

If you have feedback or need assistance with the MCP directory API, please join our Discord server