A Model Context Protocol (MCP) server for interacting with cryptocurrency daemon RPC interfaces. This server enables AI assistants to help manage and interact with cryptocurrency nodes in a controlled manner.
This software allows AI systems to interact with cryptocurrency daemons. Please read this warning carefully:
-
Running this MCP server gives AI systems the ability to:
- Send transactions
- Access wallet information
- Modify wallet settings
- View private data
- Execute daemon commands
-
Potential risks include:
- Loss of funds through unauthorized transactions
- Exposure of private information
- Unintended wallet or daemon modifications
- Potential security vulnerabilities if improperly configured
-
Required Safety Measures:
- Use a separate wallet with limited funds for AI interactions
- Never give access to wallets containing significant value
- Configure strict RPC permissions
- Monitor all AI interactions with the daemon
- Regular security audits of configurations
- Keep backups of all important data
This software is in BETA. Use at your own risk.
To install Cryptocurrency Daemon Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @raw391/coin_daemon_mcp --client claude
You can install the package via npm:
npm install @raw391/coin-daemon-mcp
To use this MCP with Claude Desktop, you'll need to modify your Claude Desktop configuration. The configuration file is located at:
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Add the following to your configuration:
{
"mcpServers": {
"cryptocurrency": {
"command": "npx",
"args": [
"-y",
"@raw391/coin-daemon-mcp"
],
"env": {
"CONFIG_PATH": "path/to/your/config.json"
}
}
}
}
Create a configuration file for your cryptocurrency daemons. Here are some example configurations:
{
"daemons": [
{
"coinName": "zcash",
"nickname": "zec-main",
"rpcEndpoint": "127.0.0.1:8232",
"rpcUser": "your-rpc-user",
"rpcPassword": "your-rpc-password"
}
]
}
{
"daemons": [
{
"coinName": "zcash",
"nickname": "zec-main",
"rpcEndpoint": "127.0.0.1:8232",
"rpcUser": "zec-user",
"rpcPassword": "zec-password"
},
{
"coinName": "bitcoin",
"nickname": "btc-main",
"rpcEndpoint": "127.0.0.1:8332",
"rpcUser": "btc-user",
"rpcPassword": "btc-password"
}
]
}
For best security practices, you might want to also use a file system MCP to manage daemon data. Here's how to configure both together:
{
"mcpServers": {
"cryptocurrency": {
"command": "npx",
"args": [
"-y",
"@raw391/coin-daemon-mcp"
],
"env": {
"CONFIG_PATH": "C:/CryptoConfig/daemon-config.json"
}
},
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:/CryptoData"
]
}
}
}
Make sure your cryptocurrency daemon's configuration file (e.g., zcash.conf, bitcoin.conf) has the appropriate RPC settings:
server=1
rpcuser=your-rpc-user
rpcpassword=your-rpc-password
rpcallowip=127.0.0.1
After configuration, restart Claude Desktop. You should see new tools, resources, and prompts available for:
- Sending transactions
- Checking balances
- Managing wallets
- Monitoring daemon status
- Learning about cryptocurrencies
- And more
The server provides three types of MCP capabilities:
-
Transaction Management
send-coins
: Send transparent transactionszsend-coins
: Send shielded transactions (for privacy coins)shield-coins
: Convert transparent to shielded funds
-
Wallet Operations
get-balance
: Check balancesexecute-command
: Execute any supported RPC command
-
Daemon Management
check-status
: Get daemon information
Access valuable data and documentation:
-
Documentation Resources
crypto://{coinType}/help
: Get detailed documentation for specific cryptocurrenciesdaemon://{name}/help
: Get help text specific to a daemon
-
Transaction History
daemon://{name}/transactions
: View recent transaction history
Pre-built templates for common workflows:
-
Transaction Guidance
send-transaction-template
: Generate a guided prompt for constructing transactions
-
Analysis Templates
balance-analysis
: Analyze wallet balances and fund distributiondaemon-diagnostic
: Perform a health check of a daemon
-
Separate Wallets
- Create dedicated wallets for AI interactions
- Keep minimal funds in accessible wallets
- Use test networks for development
-
RPC Security
- Use strong, unique RPC credentials
- Enable only necessary RPC commands
- Restrict RPC access to localhost
- Monitor RPC logs
-
Data Management
- Regular wallet backups
- Secure storage of configuration files
- Monitoring of all transactions
- Regular security audits
Here's how Claude can help with common tasks:
-
Checking Status: "What's the current status of the Zcash daemon?"
-
Managing Balances: "What's my current balance across all addresses?"
-
Learning About Cryptocurrencies: "Can you explain how Zcash shielded transactions work?"
-
Sending Transactions: "Can you help me send 0.1 ZEC to address xxx?"
-
Connection Issues
- Verify daemon is running
- Check RPC credentials
- Ensure correct port numbers
- Verify localhost access
-
Permission Problems
- Check file permissions
- Verify RPC user rights
- Ensure correct configuration paths
-
Transaction Issues
- Verify sufficient funds
- Check network connectivity
- Ensure daemon is synced
- GitHub Issues: Bug reports and feature requests
- Discussions: General questions and community support
- Security Issues: Email security@pooly.ca
MIT License with additional cryptocurrency operations disclaimer. See LICENSE for details.
See CONTRIBUTING.md for contribution guidelines.