Used as the runtime environment for the MCP server, providing fast JavaScript execution for the wallet implementation
Enables deposits via Lightning invoices and payment of Lightning invoices through the wallet interface
Allows installation and execution of the MCP server through npm commands and package management
Integrates with Square's Goose AI assistant through configuration in Goose's config.yaml file
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
Installation
Usage
MCP Server Mode (Default)
Run without arguments to start the MCP server:
CLI Mode
Use specific commands for direct wallet operations:
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:
Or install globally and reference the binary directly:
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...
.
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.
This server cannot be installed
An MCP server to provide AI agents money functionalities via Nostr and Cashu.
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that generates AI agent tools from Postman collections and requests. This server integrates with the Postman API to convert API endpoints into type-safe code that can be used with various AI frameworks.Last updated -17JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server enabling AI models to interact with the Nostr network, facilitating note posting and interaction with the freedom of speech protocol.Last updated -119TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server that lets AI assistants interact with your Lunchmoney data, enabling natural language queries about transactions, budgets, and spending patterns.Last updated -438TypeScriptMIT License
Fewsats MCP Serverofficial
AsecurityFlicenseAqualityAn MCP server that integrates with Fewsats allowing AI agents to securely purchase anything by retrieving balances, accessing payment methods, and processing payments.Last updated -413Python