snap-mcp-server
v0.1.2
Published
MCP server for SNAP — private agent-to-agent payments on Solana using zero-knowledge proofs. Exposes deposit, withdraw, list pools, and fee estimation as MCP tools.
Maintainers
Readme
snap-mcp-server
MCP server for SNAP — private agent-to-agent payments on Solana using zero-knowledge proofs.
Exposes SNAP operations as Model Context Protocol tools so any MCP-compatible AI agent (Claude, Cursor, Windsurf, etc.) can make private payments on Solana mainnet.
Run
npx snap-mcp-serverOr add it to an MCP client config:
{
"mcpServers": {
"snap": {
"command": "npx",
"args": ["-y", "snap-mcp-server"],
"env": {
"SNAP_RPC_URL": "https://your-rpc-url.com",
"SNAP_POOL_ADDRESS": "B8SyffZKt8LABKogWjH9rZcjY5PV2hyYRCbTxxbcrpFf"
}
}
}
}Tools
| Tool | Description |
|------|-------------|
| snap_list_pools | List SNAP mainnet shielded pools |
| snap_deposit | Deposit SOL/USDC into a shielded pool, returns a note |
| snap_withdraw | Withdraw with a note, optionally via relayer |
| snap_withdraw_private | Relayed (gas-abstracted) withdrawal |
| snap_estimate_fee | Estimate the 0.25% protocol fee |
| snap_pool_info | Public info for the configured pool |
| snap_balance | Private shielded balance (requires a viewing key) |
Environment
| Variable | Required | Description |
|----------|----------|-------------|
| SNAP_RPC_URL | yes | Solana RPC endpoint |
| SNAP_POOL_ADDRESS | yes | Default shielded pool address |
| SNAP_RELAYER_URL | no | Relayer URL for gas-abstracted private withdrawals |
| SNAP_MCP_NOTE | no | Serialized note used when a withdraw call omits one |
| SNAP_MCP_VIEWING_KEY_JSON | no | Viewing key JSON for snap_balance |
| SNAP_MCP_STUB_MODE | no | Set to 1 for deterministic offline transport testing |
Mainnet Pools
| Pool | Address |
|------|---------|
| 0.1 SOL | B8SyffZKt8LABKogWjH9rZcjY5PV2hyYRCbTxxbcrpFf |
| 1 USDC | 5LeuHrPBgHNhgbCy996MEjcsBk5gNHhVj6AiuuCHZ8od |
| 10 USDC | ECuHf8kgiWfmL3Q6id4WGBQWvuukhzqvF5vsxuPAKZBv |
Links
License
MIT
