@dexploit/mcp
v0.2.0
Published
Model Context Protocol server for Dexploit — Solana DEX swaps, OHLCV, token intel, and pump.fun lifecycle. Lets Claude Code (and other MCP clients) query live Dexploit data while you code.
Downloads
63
Maintainers
Readme
Dexploit MCP
A Model Context Protocol server that gives Claude Code, Claude Desktop, Cursor, and any other MCP-aware client live access to Dexploit — Solana DEX swaps, OHLCV candles, token intel, wallet tagging, and pump.fun lifecycle events.
Build a Solana dashboard, write a trading bot, or just ask Claude "what's trending on pump.fun right now" — Claude pulls real data via this server instead of hallucinating numbers.
Install
You don't need to clone this repo — npx runs it on demand.
npx -y @dexploit/mcpThat command alone will boot the server, but you don't run it directly — it needs to be wired into an MCP client. See below.
No npm? Install straight from GitHub:
npx -y github:DexploitV1/Dexploit-MCPThis clones the repo and builds it on first run (a few seconds slower than the npm package, which ships prebuilt). Swap it in anywhere
@dexploit/mcpappears below.
Claude Code
claude mcp add dexploit \
--env DEXPLOIT_API_KEY=ohlcv_live_sk_<your_key> \
-- npx -y @dexploit/mcpThen start a session and ask: "Use dexploit to show me the top 5 trending tokens on Solana in the last hour."
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"dexploit": {
"command": "npx",
"args": ["-y", "@dexploit/mcp"],
"env": {
"DEXPLOIT_API_KEY": "ohlcv_live_sk_<your_key>"
}
}
}
}Cursor / Cline / other MCP clients
Same shape as the Claude Desktop config — command: "npx", args: ["-y",
"@dexploit/mcp"], and DEXPLOIT_API_KEY in the env.
Get an API key
Free tier is fine for getting started: https://www.dexploit.dev/dashboard.
Tools
The server exposes 51 tools, all read-only, covering the full Dexploit
REST surface. They're grouped below by area. The live list shows up whenever
your MCP client calls tools/list — Claude Code lists them in the /mcp
panel.
Pools & pairs (2)
| Tool | What it does |
| --- | --- |
| list_pairs | List indexed pools; pass token_address to find every pool trading a token, sorted by recent SOL volume. |
| find_pool | One-shot: token mint → single highest-volume pool address (or null). |
OHLCV candles (2)
| Tool | What it does |
| --- | --- |
| get_candles | Historical OHLCV for a pool between start/end. Needs pair_address, not a mint. |
| get_latest_candles | Most-recent N candles for a pool. |
Raw swaps (6)
| Tool | What it does |
| --- | --- |
| list_swaps | Recent swaps with the full filter set → {swaps,total,has_more}. |
| list_swaps_range | Page historical swaps in a time- or slot-window. |
| get_whale_swaps | Recent swaps above a SOL threshold (default 10 SOL). |
| get_swap | Single swap lookup by transaction signature. |
| get_trader_swaps | A wallet's swap history across every pool + lifetime stats. |
| get_token_swaps | A token's swap history across every pool + lifetime stats. |
Stats & trends (8)
| Tool | What it does |
| --- | --- |
| get_global_stats | Lifetime index totals (swaps, SOL volume, unique traders/tokens). |
| get_trader_stats | Lifetime stats for one wallet. |
| get_token_stats | Lifetime stats for one token mint. |
| get_token_stats_batch | Batch token stats for up to 200 mints in one call. |
| get_trending | Highest-momentum tokens over a window (USD via Pyth); include_score=true adds the composite trending score. |
| get_top_movers | Top gainers and losers over a timeframe → {gainers,losers}. |
| list_protocols | Every DEX Dexploit currently indexes. |
| get_index_stats | OHLCV index roll-up (candle/pool/mint counts, timeframes, range). |
Token metadata & intel (7)
| Tool | What it does |
| --- | --- |
| list_tokens | Batch token metadata for up to 200 mints (use instead of looping get_token). |
| get_token | Single-mint metadata + audit (name, symbol, decimals, socials, authorities, sectors). |
| get_token_audit | Just the rug-check audit flags (lp_burnt, mint/freeze_revoked, top10_pct). |
| get_token_intel | Snipers, insiders, top-70 holders, dev position, change_pct, USD liquidity/volume (~60s cache). |
| get_token_wallet_tag_counts | How many current holders fall in each tag bucket (sniper/insider/dev/whale/…). |
| get_token_first_buyers | Earliest buyers of a token, ordered by first buy. |
| get_token_traders | Token's traders ranked by realized PnL. |
Wallet intel (2)
| Tool | What it does |
| --- | --- |
| get_wallet_tags | Wallet classification (sniper/insider/dev/whale/smart_money/fresh/kol). |
| list_bot_traders | Wallets the bot tagger flagged (high swap frequency / cross-mint breadth). |
Wallet PnL & positions (8)
| Tool | What it does |
| --- | --- |
| get_wallet_pnl | Wallet PnL summary (realized/unrealized SOL, cost basis). |
| get_wallet_positions | Paged per-(wallet,mint) positions. |
| get_wallet_position_token | One (wallet,mint) position, always glass-box (realized breakdown + tags). |
| get_wallet_pnl_history | Compute-on-read daily cumulative PnL series. |
| get_wallet_pnl_chart | Chart-shaped daily series + summary header. |
| get_wallet_performance | Streak, drawdown, best/worst day. |
| get_wallet_highlights | Standout positions (biggest winner/loser) for a wallet. |
| get_wallet_risk | Value-weighted concentration + exposure over priced open positions. |
Batch position/PnL fetch (4)
| Tool | What it does |
| --- | --- |
| get_positions_batch | Fetch arbitrary (wallet,mint) positions in one POST; output aligned to input order. |
| get_wallet_positions_batch | One wallet's positions for a list of mints. |
| get_token_positions_batch | One token's positions for a list of wallets. |
| get_wallets_batch | Per-wallet PnL summaries for a list of wallets. |
Leaderboards (5)
| Tool | What it does |
| --- | --- |
| get_pnl_leaderboard | ⚠️ Coming soon — currently 404s at the edge (being re-engineered onto an event-driven rollup). |
| get_kol_leaderboard | All-time KOL realized-PnL leaderboard. |
| get_kol_leaderboard_period | KOL leaderboard filtered to KOLs active in a period, ranked all-time. |
| get_kol_calendar | Realized-only KOL heatmap (top-N KOLs × days). |
| get_kol_date | Top KOLs by realized PnL on one UTC day. |
Screener & search (2)
| Tool | What it does |
| --- | --- |
| run_screener | Server-side filtered + sorted token list (POST, ~40 filters, AND-combined). |
| get_search | Query-string alias over the screener for simple lookups. |
Pool events & pump.fun (2)
| Tool | What it does |
| --- | --- |
| list_pool_events | LP deposits/withdraws/burns for a token — useful for rug detection. |
| list_pump_lifecycle | Pump.fun lifecycle events (new / graduating / migrated). |
Rug / liquidity-drain feed (2)
| Tool | What it does |
| --- | --- |
| list_rugs | Most-recent server-classified rugs/drains across all venues (7-day window, paged). Requires the API key. |
| get_token_rugs | Rug history for one mint (RUGGED / LIQUIDITY_DRAINING rows, drained_pct, lp_sol_pulled). |
Exchange wallets (1)
| Tool | What it does |
| --- | --- |
| list_exchange_traders | Known CEX wallets from the exchange-wallets snapshot. |
Wire-format gotchas
These come from real Dexploit responses and trip people up the first time:
volume_solandvolume_tokenin candles are integer base units. Dividevolume_solby1e9for SOL; dividevolume_tokenby10 ** quote_decimals.- Raw swaps use
is_buy(bool), notswap_type. The streaming feed usesswap_type("buy"/"sell") — these are intentionally different. dexon raw swaps is an integer ID (1=pumpfun, 2=pumpswap, 3=raydium_amm, 4=raydium_clmm, 5=raydium_cpmm, 6=orca, 7=meteora_damm_v2, 8=meteora_dbc, 9=meteora_dlmm, 10=meteora_pools).timestampon raw swaps is epoch ms. On candles it's ISO 8601.- OHLCV requires
pair_address, not a token mint. Usefind_poolto convert a mint to its highest-volume pool address.
The Dexploit docs cover everything else.
Streaming
These tools are all request/response over REST. For real-time push, Dexploit
also exposes a WebSocket at wss://ws.dexploit.dev/ws/swaps with subscribable
rooms — including rugs (the same rug/drain feed as list_rugs), price:*
(per-mint/pool live candles), safety:* (per-mint actor/safety snapshots), and
graduating / graduated (pump.fun lifecycle). See the
streaming docs for the wire
shape and room syntax.
Dev
git clone https://github.com/DexploitV1/Dexploit-MCP.git
cd Dexploit-MCP
npm install
npm run build
# Run it with a key:
DEXPLOIT_API_KEY=ohlcv_live_sk_<your_key> npm startTo point the server at a non-production Dexploit edge:
DEXPLOIT_API_URL=https://api.staging.dexploit.dev DEXPLOIT_API_KEY=… npm startLicense
MIT
