
Research
/Security News
Popular npm Packages in the keyv and Cacheable Namespaces Compromised in Active Supply Chain Attack
Popular npm packages keyv and cacheable compromised.
recon-crypto-mcp
Advanced tools
MCP server for AI agents (Claude Code, Claude Desktop, Cursor) to manage a self-custodial crypto portfolio through a Ledger hardware wallet. Reads on-chain wallet balances, ENS, token prices, and DeFi positions across Ethereum/Arbitrum/Polygon/Base (Aave
Self-custodial crypto portfolio and DeFi, managed by AI agents — signed on your Ledger hardware wallet.
Recon Crypto MCP is a Model Context Protocol server that lets AI agents — Claude Code, Claude Desktop, Cursor, and any MCP-compatible client — read your on-chain positions across Ethereum, Arbitrum, and Polygon and prepare EVM transactions that you sign on your Ledger device via WalletConnect. Your private keys never leave the hardware wallet, and every transaction is previewed in human-readable form before you approve it on the device.
Supported protocols: Aave V3, Compound V3 (Comet), Morpho Blue, Uniswap V3 LP, Lido (stETH/wstETH), EigenLayer, plus LiFi for swap/bridge aggregation and 1inch for optional intra-chain quote comparison.
Use it when you want to:
This is an agent-driven portfolio management tool, not a wallet replacement. The MCP never holds keys or broadcasts anything you haven't approved on your Ledger device.
bestSource hint and output-delta savingsEVM: Ethereum, Arbitrum, Polygon.
@solana/web3.js), base58 addresses, and the WalletConnect solana: namespace for signing.Read-only (no Ledger pairing required):
get_portfolio_summary — cross-chain portfolio aggregation with USD totalsget_lending_positions — Aave V3 collateral/debt/health-factor per walletget_compound_positions — Compound V3 (Comet) base + collateral positionsget_morpho_positions — Morpho Blue positions across specified marketsget_lp_positions — Uniswap V3 LP positions, fee tier, in-range, IL estimateget_staking_positions, get_staking_rewards, estimate_staking_yield — Lido + EigenLayerget_health_alerts — Aave positions near liquidationsimulate_position_change — projected Aave health factor for a hypothetical actionget_token_balance, get_token_price — balances and DefiLlama pricesresolve_ens_name, reverse_resolve_ens — ENS forward/reverseget_swap_quote — LiFi quote (optionally cross-checked against 1inch)check_contract_security, check_permission_risks, get_protocol_risk_score — risk toolingget_transaction_status — poll inclusion by hashMeta:
request_capability — agent-facing escape hatch: files a GitHub issue on this repo when the user asks for something recon-crypto-mcp can't do (new protocol, new chain, missing tool). Default mode returns a pre-filled issue URL (zero spam risk — user must click to submit). Operators can set RECON_FEEDBACK_ENDPOINT to a proxy that posts directly. Rate-limited: 30s between calls, 3/hour, 10/day, 7-day dedupe on identical summaries.Execution (Ledger-signed via WalletConnect):
pair_ledger_live, get_ledger_status — session management and account discoveryprepare_aave_supply / _withdraw / _borrow / _repayprepare_compound_supply / _withdraw / _borrow / _repayprepare_morpho_supply / _withdraw / _borrow / _repay / _supply_collateral / _withdraw_collateralprepare_lido_stake, prepare_lido_unstakeprepare_eigenlayer_depositprepare_swap — LiFi-routed intra- or cross-chain swap/bridgeprepare_native_send, prepare_token_sendsend_transaction — forwards a prepared tx to Ledger Live for user approvalnpm install -g recon-crypto-mcp
recon-crypto-mcp-setup
git clone https://github.com/szhygulin/recon-crypto-mcp.git
cd recon-crypto-mcp
npm install
npm run build
Run the interactive setup to pick an RPC provider, validate the key, optionally pair Ledger Live, and write ~/.recon-crypto-mcp/config.json:
npm run setup
Environment variables always override the config file at runtime.
Add to claude_desktop_config.json:
{
"mcpServers": {
"recon-crypto-mcp": {
"command": "recon-crypto-mcp"
}
}
}
(If you installed from source rather than via npm i -g, swap "command": "recon-crypto-mcp" for "command": "node" and "args": ["/absolute/path/to/recon-crypto-mcp/dist/index.js"].)
The setup script prints a ready-to-paste snippet.
All are optional if the matching field is in ~/.recon-crypto-mcp/config.json; env vars take precedence when both are set.
ETHEREUM_RPC_URL, ARBITRUM_RPC_URL, POLYGON_RPC_URL — custom RPC endpointsRPC_PROVIDER (infura | alchemy) + RPC_API_KEY — alternative to custom URLsETHERSCAN_API_KEY — contract verification lookupsONEINCH_API_KEY — enables 1inch quote comparison in get_swap_quoteWALLETCONNECT_PROJECT_ID — required for Ledger Live signingRPC_BATCH=1 — opt into JSON-RPC batching (off by default; many public endpoints mishandle batched POSTs)RECON_ALLOW_INSECURE_RPC=1 — opt out of the https/private-IP check on RPC URLs. Only set this when pointing at a local anvil/hardhat fork; never in production.RECON_FEEDBACK_ENDPOINT — optional https URL for request_capability to POST directly (e.g. a maintainer-operated proxy that creates GitHub issues with a bot token). When unset (the default), request_capability returns a pre-filled GitHub issue URL for the user to click through; nothing is transmitted automatically. Operator responsibility: the recon-crypto-mcp client does not sign or authenticate POST requests. If you set this endpoint, the proxy MUST enforce its own auth (IP allowlist, Cloudflare Access, HMAC header validation, etc.) — otherwise any caller who learns the URL can submit to it. The on-process rate limiter (3/hour, 10/day) is a courtesy, not a security control.npm run dev # tsc --watch
npm test # vitest run
npm run test:watch
MIT — see LICENSE.
FAQs
MCP server for AI agents (Claude Code, Claude Desktop, Cursor) to manage a self-custodial crypto portfolio through a Ledger hardware wallet. Reads on-chain wallet balances, ENS, token prices, and DeFi positions across Ethereum/Arbitrum/Polygon/Base (Aave
The npm package recon-crypto-mcp receives a total of 51 weekly downloads. As such, recon-crypto-mcp popularity was classified as not popular.
We found that recon-crypto-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.