MCP server for Liquid Network wallet operations
Project description
๐ง AQUA MCP
MCP server for managing Liquid Network wallets through AI assistants like Claude.
Features
- ๐ Generate & Import - Create new wallets or import existing mnemonics
- ๐ Watch-Only - Import CT descriptors for balance monitoring
- ๐ธ Send & Receive - Full transaction support with signing
- ๐ช Assets - Native support for L-BTC, USDT, and all Liquid assets
- ๐ Secure - Encrypted storage, no remote servers for keys
Installation
For End Users (Easiest!)
If you don't have uvx installed:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Then install AQUA MCP with uvx (no need to download code):
uvx aqua-mcp
Configure Claude Desktop (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"aqua-mcp": {
"command": "uvx",
"args": ["aqua-mcp"]
}
}
}
That's it! Restart Claude Desktop and you're ready to use Liquid wallets.
For Developers
Clone and install from source:
git clone https://github.com/jan3dev/aqua-mcp.git
cd aqua-mcp
uv sync
Configure Claude Desktop:
{
"mcpServers": {
"aqua-mcp": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/aqua-mcp", "python", "-m", "aqua_mcp.server"]
}
}
}
Quick Start
3. Use with Claude
Once connected, you can ask Claude to:
- "Create a new Liquid wallet"
- "Show me my L-BTC balance"
- "Generate a new receive address"
- "Send 0.001 L-BTC to lq1..."
Usage Examples
Create a New Wallet
User: Create a new Liquid wallet for me
Claude: I'll generate a new wallet for you.
[Uses lw_generate_mnemonic โ lw_import_mnemonic]
Your new wallet has been created!
Mnemonic (SAVE THIS SECURELY):
abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
โ ๏ธ Write this down and store it safely. Anyone with these words can access your funds.
Check Balance
User: What's my Liquid balance?
Claude: [Uses lw_balance]
Your balances:
- L-BTC: 0.00100000 (100,000 sats)
- USDT: 50.00
Send Transaction
User: Send 50,000 sats to lq1qqw8...
Claude: [Uses lw_send]
Transaction sent!
TXID: 7f3a8b2c...
Fee: 250 sats
Available Tools
| Tool | Description |
|---|---|
lw_generate_mnemonic |
Generate new BIP39 mnemonic |
lw_import_mnemonic |
Import wallet from mnemonic |
lw_import_descriptor |
Import watch-only wallet |
lw_export_descriptor |
Export CT descriptor |
lw_balance |
Get wallet balances |
lw_address |
Generate receive address |
lw_send |
Send L-BTC |
lw_send_asset |
Send any Liquid asset |
lw_transactions |
Transaction history |
lw_list_wallets |
List all wallets |
Configuration
Default config location: ~/.aqua-mcp/config.json
{
"network": "mainnet",
"default_wallet": "default",
"electrum_url": null,
"auto_sync": true
}
Networks
mainnet- Liquid mainnet (real funds)testnet- Liquid testnet (test funds)
Security
Mnemonic Storage
Mnemonics are encrypted at rest using a passphrase. On first use, you'll be prompted to set a passphrase.
Watch-Only Mode
For maximum security, you can:
- Generate wallet on an air-gapped device
- Export the CT descriptor
- Import as watch-only on your daily machine
- Sign transactions on the air-gapped device
No Remote Keys
All private key operations happen locally. Only blockchain sync uses Blockstream's public servers.
Development
# Install with dev dependencies
uv sync --extra dev
# Run tests
uv run pytest
# Format code
uv run black src/
uv run ruff check src/
Architecture
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ AI Assistant โโโโโโถโ MCP Server โโโโโโถโ LWK (Rust) โ
โ (Claude, etc) โ โ (Python) โ โ via bindings โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Electrum/Esploraโ
โ (Blockstream) โ
โโโโโโโโโโโโโโโโโโโ
Contributing
PRs welcome! Please read AGENTS.md for specs and conventions.
License
MIT
Credits
Built with:
โก Built for the Liquid Network
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aqua_mcp-0.1.0.tar.gz.
File metadata
- Download URL: aqua_mcp-0.1.0.tar.gz
- Upload date:
- Size: 102.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fccbde8798a81db13768e5a5598bdd61fb01e48892f700e16c4bf2eda777dbb9
|
|
| MD5 |
df8939e9d3c11fdf0663562a89495a9a
|
|
| BLAKE2b-256 |
8103405f0ad390989841c0672b259db2b9eb9a71e1da545727bac1551f23173f
|
File details
Details for the file aqua_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aqua_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
671ff06dfb789332a7051e1aea84df2798a91bd42b9d927a22a956f9cf2ecd38
|
|
| MD5 |
0181fd53a9b4738b7161efb0c7f347ed
|
|
| BLAKE2b-256 |
56e5dbe20b9f464171f85cb61cc2aea977b77a86b0cd4cf3ac0489d7edf045f6
|