com. cabal-hunter. api/ cabal-hunter
by api.cabal-hunter.com · remote · no sign-in to list tools · v1.2.0 · published by com.cabal-hunter.api
Solana pre-trade safety for AI agents: cabal, bundle, dump, deployer & honeypot in one verdict.
2 tools: 2 change things.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads0Claude Code: allow
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http cabal-hunter https://api.cabal-hunter.com/mcpFindings
Matches of fixed checks, with the text they matched.
The description contains "Never tell a user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...oken account leaves nothing to observe. Never tell a user a wallet is 'clean' or 'not involved' o..."
- Infocheck_cabal_risk
The description is 4,387 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ent timeout to at least 30s or you will abandon a scan that was about to succeed."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
2 tools
Changes things 2Claude Code: ask
check_cabal_riskPre-trade safety check for any Solana token mint: is a buyer about to be someone's exit liquidity?1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- Info
The description is 4,387 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...ent timeout to at least 30s or you will abandon a scan that was about to succeed."
Description, as the server wrote it Pre-trade safety check for any Solana token mint: is a buyer about to be someone's exit liquidity? Every wallet cluster carries its evidence_txs. AFTER YOU BUY: POST /api/watch {mint} with an X-API-Key (any key; add webhook_url on the Pro plan) and we alert you the moment a coordinated dump or liquidity drain starts on that token — carrying the same on-chain evidence. This scan is a BUY check; a watch is a HOLD check, and a holder needs the second one continuously. GET/DELETE /api/watch manage your own. Paid plans: the watch also follows the token's insiders (dev, first-seconds buyers) for 7 days and pushes insider_* events when they sell or move together, each with the transaction. Layers, ordered by STRENGTH OF EVIDENCE (not marketing): 1. HOLDER CONCENTRATION — what share one wallet actually controls (`top_holder_pct`). A single wallet that can crater the price is the most basic rug vector, and it needs no coordination at all. IMPORTANT: we count only REAL wallets. LP pools, locked/vesting supply and other program-owned accounts are excluded and labelled, never scored as a whale — and supply comes from getTokenSupply, not an estimate. Tools that skip this report a locked-supply token as '65% one wallet'. Our numbers reconcile with GMGN's circulating top-10. 2. SAME-BLOCK BUNDLES — holders whose token accounts were created in the EXACT same block: a multi-wallet launch bought in one slot. A Jito bundle is one way to do that, not the only one - we read the slot, not the bundle. `time_sync: true`. 3. COORDINATED DUMP — ≥2 holders each selling ≥25% of their bag in the same block: a cabal exiting in real time. `coordinated_exit: true`, sold_pct. 4. HONEYPOT / AUTHORITY TRAPS (Solana-native) — live freeze authority, un-revoked mint authority, Token-2022 transfer-fee / transfer-hook / permanent-delegate traps. Answers: CAN you actually sell this token? 5. DEV TRACK RECORD — the creator resolved on-chain plus their full launch history WITH the peak market cap each past token hit, so a dead-count can't hide a pump-and-dump. Covers ANY Solana venue: pump.fun, Raydium, Orca, Meteora, PumpSwap. A launch counts only where the transaction actually CREATED the mint, so re-minting supply of an existing token is never miscounted as a launch. reputation (SERIAL_RUGGER / DEAD_ON_ARRIVAL / MIXED / PROVEN) + best_peak_usd, pump_and_dumps count; paid tier adds launches[] (peak_mcap_usd, now_mcap_usd, drawdown, status per launch). 'Ran to $728k, now dust' = this dev has dumped six figures on holders before. Still CAPPED: peak history is evidence, never softens the score. READ deployer.verdict CAREFULLY — two values mean opposite things: FIRST_LAUNCH = we walked the history and found no earlier tokens. UNKNOWN = the history could NOT be established. That is not evidence of anything and must never be treated as a clean record. 6. FUNDING-CLUSTER TRACE — top holders walked back to a shared funding wallet. A real capability, listed last on purpose: on our own sample it produced no verified detections once infrastructure (curve PDAs, token accounts) was correctly excluded. Treat it as supporting evidence. Returns risk (CLEAN|MEDIUM|HIGH), cabal_score 0–100, top_holder_pct, cluster breakdown with evidence_txs[], holder map, deployer verdict, honeypot_risk, plus wallets_checked / scan_complete / degraded so YOUR agent can apply its own risk tolerance instead of inheriting ours. If we cannot verify something, we say so (`degraded: true`) rather than returning a confident 'clean'. COST: 5 scans/month FREE with no signup and no API key; 250/month free with a key (one email, no card). After that $0.01 USDC per scan. Two ways to pay, no signup or card: (1) a subscription, $9/month for 2,500 scans or $99/month unlimited (fair use 50k) — best for 24/7 bots; or prepaid pay-as-you-go at $0.01/scan (any amount) — POST the tx to /api/buy-key, then send header X-API-Key; or (2) per-call via x402 (X-Payment-Signature header). Full terms: GET /api/info. FRESHNESS: a token traced in the last 8 hours is answered from that trace in <100ms; computed_at (unix seconds) says exactly when it was traced. Any other token runs the full live on-chain trace and takes 15-20s — set your client timeout to at least 30s or you will abandon a scan that was about to succeed.
check_wallet_in_tokenIs a SPECIFIC wallet involved in a SPECIFIC Solana token?1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Findings
- High
The description contains "Never tell a user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...oken account leaves nothing to observe. Never tell a user a wallet is 'clean' or 'not involved' o..."
Description, as the server wrote it Is a SPECIFIC wallet involved in a SPECIFIC Solana token? Use this when a user names a wallet they are worried about, or when your agent keeps its own watchlist of addresses and wants to screen a token against one. Answers from two sources at once: 1. the traced holders of that token — rank, % of supply, buy slot, whether it funded a coordinated cluster, whether it created the token, or whether it is the liquidity pool / a labelled exchange wallet 2. a LIVE on-chain holding lookup, so a wallet too small to appear in the trace is still resolved rather than dismissed HOW TO READ THE RESULT — this matters more than the fields: found_in_scan=false is NOT a clean bill of health. The trace covers the largest holders, so a smaller position sits outside it, and a wallet that sold out and closed its token account leaves nothing to observe. Never tell a user a wallet is 'clean' or 'not involved' on this result. The `note` field states the limit of what was actually checked; relay it. holding.sold_out=true is the strong signal: a token account exists holding none of the token, i.e. this wallet HELD it and has since sold out. track_record, when present, counts earlier tokens the wallet was early in and how many graduated. It is an association measured out-of-sample, NOT a profit signal and not a recommendation to copy or avoid anyone. Absence of a track record means we hold no record, not that the wallet has no history. Free, no API key, rate limited per caller. For screening MANY wallets on every scan automatically, the Screen List add-on stores a private list per key: POST /api/screen-list/checkout.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or untrusted-input or outbound.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write0
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 14:28 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 2
- Protocol version
- 2025-06-18
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- none
- RFC 9728 protected resource metadata
- none
- Authorization servers
- none
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- not observed
- Client ID metadata documents
- not observed
- WarnThe whole server
The endpoint served tools/list without credentials, and the list has 2 tools that change things (2 write). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://api.cabal-hunter.com/mcp: tools/list returned 2 tools to an anonymous client, including check_cabal_risk (write), check_wallet_in_token (write)
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http cabal-hunter https://api.cabal-hunter.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [],
"ask": [
"mcp__cabal-hunter__check_cabal_risk",
"mcp__cabal-hunter__check_wallet_in_token"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as cabal-hunter. Review it before you use it.