Mindjack
Mindjack is an MCP server that gives Solana memecoin trading agents rug-risk checks, wallet forensics, and token research tools.
Free tools: sample token report, coverage info, scorecard of measured risk-band hit rates, and credit balance check.
Token risk screening: paid calls like
check_token,find_tokens,search_tokens, andtest_hypothesisto evaluate danger, find candidates, search the indexed catalogue, and test historical token shapes.Holder and wallet analysis:
inspect_token,token_wallets,token_graph,token_web,compare_tokens, andfind_serial_insidersreveal who holds a token, insider/sniper/fresh-wallet clusters, shared wallets, and serial insider patterns.Wallet forensics:
check_wallet,wallet_network,kol_leaderboard, andkol_recordtrace a wallet's history, its network, and tracked KOL trading records.Exit and price checks:
can_i_exitruns live Jupiter buy/sell quotes,token_price_pathshows post-analysis price action, andtoken_changesdetects holders selling now.Deep reports:
token_identity,token_report,fetch, andget_sampleproduce comprehensive single-token documents, including creator history and sibling tokens.Funder intelligence:
funder_networksranks funders seeding fresh wallets and identifies exchange-linked addresses.ChatGPT compatibility:
searchandfetchexpose the same data in {id, title, url} / document form for research agents.Payment model: pay-per-call in USDC, with a local key, x402 support, and no charge for unknown tokens, failed calls, or empty results.
Provides Solana token risk analysis and memecoin rug-check tools, including token screening, wallet profiling, insider and sniper detection, holder clusters, KOL tracking, price path monitoring, and live sellability checks across indexed pump.fun and letsbonk launches.
@mindjack/mcp
Solana memecoin rug check and token risk for trading agents, as MCP tools: pump.fun launches and migrations, calibrated rug probability, sniper / insider / bundle and fresh-wallet detection, holder clusters, KOL trades, wallet history across every launch indexed, and a live sellability check before you buy. Built for the trenches.
Install
Add to your MCP client config — Claude Desktop, Cursor, Codex, or anything else that speaks MCP:
{
"mcpServers": {
"mindjack": {
"command": "npx",
"args": ["-y", "@mindjack/mcp"]
}
}
}That is the whole setup. No signup, no card: the server mints a key on first
use, saves it to ~/.config/mindjack/key, and reuses it from then on. A new
key starts empty — fund it with a USDC deposit when you are ready; the free
tools below work before you fund anything, and get_sample answers one real
token in full so you can see every paid tier before spending a cent.
Set MINDJACK_API_KEY to use a specific key instead, or MINDJACK_CONFIG_DIR
to keep it somewhere else.
Prefer to skip keys entirely? The API also speaks x402 — pay per call in USDC on Solana, no account at all.
Related MCP server: Sol MCP — Solana Token Risk & Signals
Tools
Tool | Price | Answers |
| free | One fixed token, answered in full — no key, no payment |
| free | What we hold, how fresh, and a mint that works |
| free | Our measured hit rate per risk band |
| free | What is left on your key |
| $0.001 | Is this one dangerous, and how fast do these collapse |
| $0.005 | Which tokens are worth looking at, verdicts attached |
| $0.005 /page | Find any token we ever analysed, by symbol, name or mint |
| $0.005 /page | The same search, shaped for research clients: |
| $0.005 | Who is holding it, and what kind of wallets |
| $0.005 | The named wallets behind it: insiders, snipers, fresh, wash, KOLs — with funders and clusters |
| $0.005 | What it did after we called it |
| $0.005 | Can it be sold right now — a live Jupiter round trip at $100 and $1000 |
| $0.006 | Who is this wallet, across every token we indexed |
| $0.02 /page | Every tracked KOL ranked: realized SOL, win rate, recent window |
| $0.02 | One KOL's full record: per-token history and latest trades |
| $0.025 | Who is behind it, and how their earlier tokens ended |
| $0.025 | Everything on one token in one call; |
| $0.025 | The same report as one document, keyed by the |
| $0.025 | Who sold since we analysed it (reads the chain now) |
| $0.025 | What happened to tokens shaped like this |
| $0.025 / 25 | Who keeps turning up as an insider, across the whole index |
| $0.025 | Were these 2-4 tokens run by the same people |
| $0.025 | Who a wallet moves with: counterparts, direction, second hop |
| $0.025 /page | Funders seeding fresh wallets index-wide, exchanges named |
| $0.04 | How the holders are connected: edges, clusters, wash wallets |
| $0.04 | Launches tied to this one through shared wallets, with outcomes and peaks |
search and fetch are aliases, not extra products: same endpoints, same
prices, same billing as search_tokens and token_report. They exist under
those exact names because ChatGPT's deep research and company knowledge modes
look for them by name and connect to nothing without them.
Live feeds (new launches, watched wallets, KOL trades) are server-sent event streams and do not map to MCP tools — the endpoint guide below covers them.
Resources
Four read-only documents, all free, attached once rather than called per task. A client can cache them; the model does not have to decide to fetch them.
URI | What it is |
| The window we hold, what is in it, and a live mint guaranteed to have data |
| Every calibrated band with the collapse rate measured for it and its sample size |
| Every priced route with its price, asset, network and receiving address |
| One real token answered in full, free, so you can read the shape before buying it |
Prompts
Three workflows, written down. Each is the order of calls that answers a real question, with what to read out of each step and when the next one is worth its price.
Prompt | Arguments | Answers |
|
| Should I take a position in this token? |
|
| What launched recently that is worth a closer look? |
|
| Who is this wallet and what has it done before? |
MCP passes prompt arguments as strings, so send "6" rather than 6.
Using it
Every tool declares an outputSchema and returns structuredContent beside
the text, so a client can validate the answer and plan the next call from the
field names without paying to discover the shape.
A first run, in the order the server itself recommends:
get_coverage -> free; the window, and a mint that works
find_tokens hours=24 max_rug_pct=45 -> candidates, each with a measured verdict
check_token mint=<from above> -> $0.001; structure and collapse speed
token_identity mint=<survivor> -> $0.025; who is holding it and how their
other tokens endedmax_rug_pct is worth one warning: it is a measured collapse frequency for
a calibrated band, not a score that starts at zero. The safest band we publish
still rugged about 35% of the time, so a threshold under that matches nothing
at any window length. The universe base rate is 45%.
What makes this different
We keep outcomes. Most APIs describe a token as it looks right now. We also
know what happened to every launch we have indexed since March 2026 — tens of
thousands of them — which is why check_token can tell you that tokens scoring
like this one collapsed 78% of the time rather than just handing you a number.
We publish our hit rate. get_scorecard returns the measured accuracy of
every band, refreshed weekly. Nobody who does not keep labelled outcomes can
produce that, and you should not trust a risk score from anyone who won't.
Collapse speed, not just collapse probability. In this market almost everything eventually dies, so "will it" separates weakly. "How fast" separates about tenfold — the worst band's median collapse is 19 seconds from peak, the cleanest is 11 minutes. That is the number that decides whether a position is exitable at all.
Wallets have a past. Millions of recorded wallet appearances. When the same wallets
show up in a new launch, token_identity tells you where else they have been
and how those ended.
Honest limits
Solana only, and only tokens indexed at migration. We hold every pump.fun and letsbonk migration since our start date — complete inside that window, nothing before it. The record is point-in-time and cannot be rebuilt later.
We do not predict price. Where upside is reported it is a measured historical frequency for a cohort, not a forecast, and not adjusted for fees or slippage.
Unknown tokens, failed calls and empty results cost nothing. Every response carries
_meta.coverageand_meta.billingso you can see exactly what you got and what it cost.
Links
Endpoint guide an LLM can read in one fetch: https://api.mindjack.xyz/llms.txt
Source, issues and releases: https://github.com/freyotrisolana/mindjack-mcp
Listings: npm, MCP Registry, Smithery, Glama, Cursor Directory, verifymcp
Available Tools
26 toolscan_i_exitARead-onlyInspect
[$0.005] Can this token be sold RIGHT NOW, and what does a round trip cost: real Jupiter buy and sell routes at $100 and $1000, and the fraction of your money that survives. Verdict follows the worst rung: clear / elevated / thin / trapped / blocked. Quotes only, nothing is signed; not cached, takes a few hundred ms.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| exit | No | verdict (clear/elevated/thin/trapped/blocked), action, worst_retained_pct, and a ladder of... |
| mint | No | Solana token mint address (base58). |
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| method | No | How the answer was obtained, and what it cannot see. Quotes only — nothing is signed. |
| checked_at_sol_usd | No | SOL price used to size the ladder, so a dollar rung can be reproduced later. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is known to be safe. The description adds substantial behavioral context beyond annotations: it notes the cost per call, that quotes are only quotes (nothing is signed), that results are not cached, takes a few hundred milliseconds, and explains the verdict derivation (worst rung). This enriches the agent's understanding of latency, freshness, and non-transactional nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it starts with the cost, states the core question, lists what is returned, then covers caveats and performance. Every sentence adds value, no filler, and the structure leads with the most decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description doesn't need to detail return structure. It covers the cost, verdict levels, round-trip detail, survival fraction, quote-only nature, non-caching, and latency. Nothing an agent needs to correctly invoke and interpret the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents the single parameter 'mint' with a clear description ('Solana token mint, base58.'), and schema description coverage is 100%. The tool description does not add any additional meaning or format details beyond what the schema already provides, so the baseline of 3 applies—the schema carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states a specific verb+resource: 'Can this token be sold RIGHT NOW' and what a round trip costs, including Jupiter routes and survival fraction. It lists verdict levels and clearly differentiates from sibling tools like check_token or token_report by focusing on immediate sellability and cost rather than general token info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool—when assessing whether a token can be sold immediately and what the round-trip cost is. It doesn't explicitly name alternatives or state when not to use it, but the purpose is so singular that an agent can easily select it over siblings without further guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_tokenARead-onlyInspect
[$0.001] Is this Solana token dangerous? A calibrated rug verdict whose probability is a MEASURED frequency (see get_scorecard), the concentration facts behind it, and how fast this band tends to collapse. Cheapest call, run it on every token; it decides whether inspect_token, token_identity or token_report is worth paying for. Does not name holders.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | Solana token mint address (base58). |
| name | No | |
| _meta | No | |
| facts | No | Counts AND the share of supply behind each: snipers, insiders, fresh wallets, wallet groups,... |
| safety | No | Mint/freeze authority, LP and timelock state. Reports unknown as unknown, never as zero. |
| symbol | No | |
| rug_risk | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already declare readOnlyHint=true and destructiveHint=false, the description adds substantial behavior beyond that: a per-call cost of $0.001, that the probability is a MEASURED frequency rather than a raw score (with a pointer to get_scorecard), and the notable limitation that it 'does not name holders.' These are meaningful behavioral disclosures not available in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every phrase earns its place: cost, purpose, output composition, cost-optimization routing, and limitations are each covered in a tightly packed 4-sentence definition. The core question is front-loaded, with operational details layered afterward. Dense but not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema present, the description covers the semantic output (verdict, concentration, collapse speed), pricing, the calibration source (get_scorecard), its relationship to more expensive siblings, and a key limitation (holder anonymity). Nothing critical is missing for an agent to decide when and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the single `mint` parameter already documents itself as 'Solana token mint, base58.' The description adds no additional syntax or format details beyond the schema, landing at the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description leads with the core purpose — 'Is this Solana token dangerous?' — and then specifies the deliverable: a calibrated rug verdict with a measured probability, concentration facts, and band-collapse speed. It distinguishes itself from siblings by positioning this tool as the cheap gating check that decides whether inspect_token, token_identity, or token_report is worth the cost.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: 'Cheapest call, run it on every token; it decides whether inspect_token, token_identity or token_report is worth paying for.' This tells the agent when to invoke this tool (as a first pass on every token) and frames the alternatives as downstream follow-ups conditional on this tool's output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_walletARead-onlyInspect
[$0.006] One wallet across every token we indexed: launches it appeared in, how many ran, roles it recurs in, realised record. Works for any address. kol_record is the per-trade history of tracked KOLs; wallet_network is who this wallet moves with.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Solana wallet, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| known | No | False when we have never seen this wallet in an indexed token. Never billed. |
| wallet | No | Solana wallet address (base58). |
| history | No | Appearances, roles it recurs in, and its realised record across the index. |
| trading | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false, so the baseline burden is lower. The description adds valuable behavioral context: it is a read-only aggregate across all indexed tokens, works universally for any address, and includes a cost signal ('$0.006'). It does not disclose rate limits or latency, but the readOnly annotation covers the critical safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three compact sentences with no filler: it states cost, purpose, key outputs, universality, and sibling-tool distinctions. Every clause earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with an output schema present, the description covers the main operational facts: what the tool aggregates, which metrics are returned, that any address works, and how it differs from nearby siblings. The only minor gap is not stating explicit when-to-use/when-not-to-use rules, but the context signals and sibling definitions make it sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single address parameter ('Solana wallet, base58'), so the schema already carries the full weight. The description's 'Works for any address' adds only a minor clarification that there is no address restriction, which does not meaningfully extend the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (a single wallet) and the scope ('across every token we indexed'), then enumerates the specific data points returned: launches, how many ran, roles, and realised record. It also distinguishes itself from sibling tools by defining kol_record and wallet_network, so an agent can tell them apart immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Works for any address' sets a clear inclusiveness condition, and the distinctions between kol_record and wallet_network tell an agent when this tool is the right choice versus when a per-trade history or network-level view would be more appropriate. It lacks an explicit 'use this instead of X when...' formulation, but the context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_tokensARead-onlyInspect
[$0.025] Were these tokens run by the same people? Give 2-4 mints and get the wallets appearing in more than one, each with the role it played in each. Weigh the roles rather than the count: shared holders are common, a wallet that was an insider in one and a sniper in the next is not. Mints outside our index come back named in not_covered.
| Name | Required | Description | Default |
|---|---|---|---|
| mints | Yes | Two to four mints to compare. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| count | No | |
| in_all | No | |
| shared | No | wallet, in_tokens, mints, roles (holder / insider / early / sniper). |
| compared | No | |
| not_covered | No | mints we do not hold; the rest is still answered, as coverage 'partial'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds behavioral context: it weighs roles rather than counts, and it discloses that mints outside the index are returned as 'not_covered'. It also mentions a cost ($0.025), which is useful. This goes beyond the annotations by explaining the analytical approach and the coverage limitation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense. It front-loads the purpose with a direct question, then explains the output and the weighting logic, and ends with the coverage caveat. No fluff; every sentence earns its place. Slightly long but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a single parameter fully described by the schema, an output schema exists (verified by context signals), and annotations cover safety, the description provides the missing analytical context: what the output means (roles, weighting) and edge cases (not_covered). It doesn't specify the exact output format, but the output schema likely covers that. Overall, complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — the 'mints' parameter is described as 'Solana token mint, base58.' The description reinforces that 2-4 mints are required and explains the purpose, but doesn't add much semantic detail beyond the schema. The example in the schema already shows the format. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific task — compare tokens for shared wallets — and frames it as a question ('Were these tokens run by the same people?'). It explains the output (wallets appearing in more than one mint, with roles). However, it doesn't explicitly distinguish itself from sibling tools like find_serial_insiders or wallet_network, though the focus on cross-token comparison is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear input range (2-4 mints) and hints at when to use it: when investigating whether tokens share operators. It notes that shared holders are common and provides weighting guidance (roles over count), which helps an agent decide if the result is meaningful. It does not explicitly name alternatives or conditions when not to use this tool, but the guidance is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchARead-onlyInspect
[$0.025] ChatGPT entry point: everything we hold on one token as one document: the calibrated verdict with its measured hit rate, who holds it and how they connect, and whether it can still be sold. Takes an id from search. Same endpoint and price as token_report, which other clients should call.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A Solana mint address, usually from `search`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | The mint this document is about. |
| url | No | Public page for the token, or null if the id was not an address. |
| text | No | The full report as JSON text. |
| title | No | |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-destructive (readOnlyHint=true, destructiveHint=false). The description adds pricing, content shape, and the prerequisite that the id must come from `search`. It does not claim any write or side effect, consistent with annotations. It enriches the behavioral profile without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense but efficient sentences. The first front-loads price and purpose, then enumerates the payload. The second ties the id source and disqualifies other clients. Every word adds value, no repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter, a read-only annotation, and an existing output schema, the description covers the output contents, the input source, the price, and the sibling distinction. An agent has everything needed to call it correctly; nothing important is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single `id` parameter completely (100% coverage). The description adds the source of the id ('from search') and the price, but these are situational rather than parameter-meaning. No new parameter behavior is disclosed beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('fetch'), a resource ('one token as one document'), and enumerates the contents (verdict, hit rate, holders, sellability). It also distinguishes itself from the sibling token_report by Positioning itself as the 'ChatGPT entry point' and noting the same endpoint and price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says the id comes from `search` and that other clients should call token_report instead, giving a concrete input source and a clear differentiation from the sibling. However, it doesn't provide a broader decision rule beyond 'I am ChatGPT, use this' — it assumes the agent knows when it is the ChatGPT entry point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_serial_insidersARead-onlyInspect
[$0.025 per 25] Wallets that keep turning up as insiders across the whole index. Each row carries the wallet's full footprint, because ranking on insider count alone puts bots on top (the highest is flagged in 1,642 tokens and holds 4,091). Read insider_in against also_held: close is a real serial insider, far apart is a bot.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows, 1-100. Default 25. | |
| min_tokens | No | Minimum tokens flagged in. Default 3. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| count | No | |
| filters | No | |
| wallets | No | wallet, insider_in, also_held, early_investor_in, avg_supply_pct, realized_sol,... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only and non-destructive, so the description doesn't need to cover that. It adds valuable behavioral insights: it explains why ranking on insider count alone is misleading (bots dominate) and instructs the agent on how to interpret the data (comparing insider_in vs also_held to distinguish real serial insiders from bots). This goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (about 60 words) and front-loads the core purpose and pricing. The interpretive guidance on reading the output is concise, but the phrase 'close is a real serial insider, far apart is a bot' could be clearer without losing brevity. Suitable for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential aspects: what the tool does, how to interpret the output (insider_in vs also_held), and the context of bot filtering. The use of examples within the schema and the absence of required parameters makes it easy to call. It does not mention the price per call in detail (only per 25), but that is not critical. Overall, an agent can effectively use this tool with the given description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so parameters are well-documented in the schema itself. The description does not add extra meaning to 'limit' or 'min_tokens' beyond what's in the schemaoo does not need to explain them further. Baseline 3 is appropriate because the description doesn't enhance parameter understanding but doesn't need to either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific purpose: 'find wallets that keep turning up as insiders across the whole index.' It distinguishes itself by focusing on cross-token insider detection, which is not evident from siblings. However, the verb 'find' is generic, and the description could more clearly state that it ranks wallets across multiple tokens.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool (to identify serial insiders across the index) and implicitly contrasts with wallet-specific tools like 'check_wallet' or 'wallet_network'. It doesn't explicitly name alternatives or when not to use, but the context makes the usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_tokensARead-onlyInspect
[$0.005] Recently analysed tokens, each already carrying a verdict, to rank locally before paying for depth. Filters: hours (1-168), min_mcap, platform, limit (1-100). A time-ordered feed with no query; to find a token you know by name or mint, use search_tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | Hours back, 1-168. Default 24. | |
| limit | No | Rows, 1-100. Default 25. | |
| min_mcap | No | Minimum market cap, USD. | |
| platform | No | Launchpad, e.g. pumpfun or letsbonk. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| count | No | |
| tokens | No | |
| filters | No | The filters actually applied, echoed back — a caller should not have to guess whether a... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, but description adds cost information ([$0.005]) and clarifies it's a time-ordered feed with no query, providing additional transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load purpose and include cost, filters, and alternative tool. Well-structured and no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and sibling tools, the description provides enough context: what it returns, when to use it, and when not to. Output schema exists, so no need to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides full descriptions for each parameter. Description repeats them but adds context that these are filters, not search terms, which enhances understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists recently analyzed tokens with verdicts for local ranking, and distinguishes from search_tokens. It specifies a verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (for ranking locally before paying for depth) and when to use search_tokens instead (when you know name or mint).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
funder_networksARead-onlyInspect
[$0.025/page] Funders ranked by how many fresh wallets they seeded across the whole index, each labelled when we know the exchange behind it. A funder inside one token is a line item; across the index it is a desk. A null label with a high count is the shape worth opening.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows, 1-100. Default 25. | |
| min_wallets | No | Minimum wallets seeded. Default 3. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| count | No | |
| filters | No | |
| funders | No | funder, funder_known (exchange name when we know the address, else null), wallets_funded,... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: results are labelled with exchange names when known, ranking is based on seeded fresh wallets, and null-label high-count rows are called out as significant. It does not add pagination details, but the output schema covers return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence delivers the core ranking and labeling function, the second clarifies the level of aggregation, and the third gives an actionable heuristic. Each sentence earns its place, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 100% schema coverage, an output schema, and read-only annotations, the description is largely complete. It explains what is ranked, how labels work, and even suggests what to look for. Minor gaps remain around domain terms like 'fresh wallets' and 'seeded', but they do not block correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema description coverage is 100%, so limit and min_wallets are already fully documented with types, defaults, and ranges. The description provides no additional parameter-specific semantics, though 'seeded' loosely maps to min_wallets. This meets the baseline for schema-covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (funders) and a clear ranking action ('ranked by how many fresh wallets they seeded across the whole index'), and explicitly distinguishes this cross-index view from a single-token view ('inside one token is a line item; across the index it is a desk'). This makes the tool's purpose unambiguous and separated from token-scoped siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for cross-index funder analysis, but it does not explicitly state when to use it over alternatives or mention any exclusions. The sibling list is provided, but the description itself does not name a specific alternative or routing condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balanceARead-onlyInspect
[free] Credits remaining on your key. There is no free allowance: a new key starts at zero and is funded with a USDC deposit, so a balance of 0 means the paid tools will answer 402 until you top up.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | No | |
| key_prefix | No | |
| credit_balance | No | Credits left. A new key starts at 0. |
| free_remaining | No | |
| plan_expires_at | No | |
| plan_credits_per_month | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate read-only and non-destructive behavior, and the description does not contradict this. It adds valuable insight into the meaning of a zero balance and the resulting 402 error, which goes beyond the basic annotations. It does not describe the exact output format, but that may be covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences—and conveys all necessary information without redundant fluff. It is well-structured: first states the core purpose, then adds relevant context about the balance meaning. No filler or vague wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple balance-checking tool, the description is complete: it defines the resource, the action, and the interpretation of the result. It also mentions the 402 scenario, which is useful contextual information. It does not discuss authentication or key handling, but those are likely implicit and not required for this tool's use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so there is nothing to explain. The baseline for zero-parameter tools is 4, and the description does not need to add information about parameters. The description complements the schema by clarifying what the tool returns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: retrieving the remaining credits on the user's key. It names the resource (key) and the action (remaining credits), leaving no ambiguity about what the tool does. It is distinct from sibling tools focused on tokens, so no confusion arises.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful context on when to interpret the balance (e.g., a balance of 0 means paid tools will return 402), implicitly guiding the user to check balance before using paid tools. However, it does not explicitly state when to prefer this tool over alternatives or when not to use it, though the clear purpose makes this unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coverageARead-onlyInspect
[free] What we hold and how fresh, plus a live example mint guaranteed to have data. Call this first: we index every pump.fun and letsbonk migration since our start date, so an older token you already know will return nothing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| _meta | No | |
| index | No | |
| stats | No | |
| pricing | No | |
| universe | No | |
| platforms | No | |
| start_here | No | |
| not_covered | No | |
| history_from | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description adds a key behavioral nuance: the tool returns nothing for older tokens and guarantees a live example mint for testing. This goes beyond the safety annotation. It doesn't describe the exact output shape, but it does disclose the empty-result behavior, which is important.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and a usage directive ('Call this first'), then a caveat. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity and annotations covering safety, the description covers coverage and freshness, and the caveat for older tokens. It doesn't detail the output structure, but for a tool like this it's likely minimal. Slightly more detail on what it returns would help, but it's adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters)Skip. Description mentions a 'live example mint' that could be passed, but it's not a formal parameter. Since there are no parameters, the description doesn't need to explain themaiman. Per rubric, 0 params = baseline 4, and the description doesn't contradict or add param info, so 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'what we hold and how fresh' — i.e., a coverage/freshness check. Includes a concrete behavior (returns nothing for older tokens) and a live example mint. Clearly distinct from siblings like check_token or token_report because it frames itself as the first call to gate subsequent lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this first', giving a clear ordering instruction. Also explains the condition for use: if the token is from before the start date or not a pump.fun/letsbonk migration, results will be empty. This is actionable when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sampleARead-onlyInspect
[free, no key] One fixed token answered in full: the complete check_token, inspect_token and token_identity responses, each carrying the price that call costs. Served by the same handlers as the paid tools, so it is what you would actually get. Use get_coverage for freshness, this for depth.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | |
| next | No | |
| says | No | |
| _meta | No | |
| screen | No | |
| inspect | No | |
| identity | No | |
| not_shown | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable context beyond annotations by revealing that this is a cost-free sample served by the same handlers as paid tools, guaranteeing it returns real (not mocked) data, and that each response includes its price. This enriches the agent's understanding of behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each carrying weight: it starts with the free/no-key advantage, explains what is returned (including pricing), and ends with routing guidance. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's role as a sample that aggregates three other tools' outputs, the description covers what is returned, why it can be trusted (same handlers), and how it relates to a sibling. An output schema exists, so there is no need to spell out the return structure. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters in the schema, so schema coverage is effectively 100% (nothing to omit). The description clarifies that the tool uses a fixed token and returns specific outputs, which is more relevant than parameter details. Baseline for 0 params is 4, and the description appropriately compensates by describing the output semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely what the tool does: it returns the complete responses of check_token, inspect_token, and token_identity for one fixed token, along with pricing for each. This is a specific verb-resource combination and clearly differentiates it from siblings like get_coverage, which is about freshness rather than depth.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use get_coverage for freshness, this for depth,' providing direct guidance on when to choose this tool over an alternative. It also notes that it is free and requires no key, indicating a low-friction use case for testing or exploration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scorecardARead-onlyInspect
[free] Our measured hit rate per risk band, and how fast each band tends to collapse. Read this to decide how much weight to give our verdicts. Most risk APIs ask you to trust a score; this one shows how it performed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | |
| _meta | No | |
| bands | No | |
| window_days | No | |
| base_rate_pct | No | |
| calibrated_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds valuable behavioral context: the '[free]' prefix discloses cost, and it explains the tool's purpose (showing past performance rather than producing a verdict). No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with efficient, front-loaded content: the deliverable first, then the use case, then the differentiator. The '[free]' prefix adds brief cost info without bloat. Slightly unusual placement of '[free]' but no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with an output schema present, the description covers the essentials: what it returns, when to use it, and why it exists. Minor gaps exist — 'risk band' and 'collapse' are domain terms not defined — but for a niche tool they are likely understood in context. The presence of the output schema reduces the burden to explain return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema coverage, so the baseline of 4 applies — there is nothing to document, and the description correctly avoids inventing parameter details. No additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific resource (measured hit rate per risk band) and the exact content (hit rates and collapse speed per band). It clearly differentiates from siblings by noting 'Most risk APIs ask you to trust a score; this one shows how it performed,' positioning it as a performance/transparency tool rather than a scoring API like check_token or token_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Read this to decide how much weight to give our verdicts' provides a clear, actionable use case — the agent knows to call this when calibrating trust in other verdict outputs. However, it doesn't name explicit alternatives or state when NOT to use it, leaving a small gap in guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_tokenARead-onlyInspect
[$0.005] Who is involved: top holders and supply, the sniper / fresh-wallet / insider / early-buyer split, connected-group topology, tracked-trader activity. Counts and structure only: token_wallets names them, token_graph draws the edges, token_web follows them to earlier launches.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | Solana token mint address (base58). |
| _meta | No | |
| groups | No | |
| activity | No | transactions analysed and fee cost. |
| top_holders | No | rank, wallet, supply_pct, is_whale, is_notable. |
| holder_wealth | No | top-50 SOL distribution; a median near zero is a launch distributed to nobody. |
| wallet_classes | No | snipers, insiders, fresh_wallets, early_buyers. |
| tracked_traders | No | Activity from traders we follow by name. |
| trading_patterns | No | scalp score and wash-trading share. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, and the description adds a cost of $0.005 per call. It also states 'Counts and structure only', which limits the output to aggregates. This transparency about scope and pricing goes beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at about 50 words and front-loads the cost and key topics. It efficiently contrasts with sibling tools in the second sentence. However, the phrasing 'Who is involved:' is a fragment that could be clearer, but overall it's concise and avoids redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values. It covers the tool's purpose, scope, pricing, and differentiates from alternatives. For a tool with one parameter and moderate complexity, this is adequate. It would benefit from an explicit statement of output, but the output schema likely handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'mint' is fully described in the schema as 'Solana token mint, base58.', which is clear. The description doesn't add additional semantic context about how the mint is used, but since schema coverage is 100%, the baseline is 3. There's no need for the description to elaborate further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool provides 'top holders and supply' and a 'sniper / fresh-wallet / insider / early-buyer split', indicating it analyzes token holder categories. It explicitly says 'Counts and structure only', which clarifies the scope. It also references sibling tools (token_wallets, token_graph, token_web) to differentiate, though it lacks a clear verb like 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that 'token_wallets names them, token_graph draws the edges, token_web follows them to earlier launches', which implicitly tells the agent to use this tool for aggregate counts and structures only. It provides exclusions by stating what this tool does not do (name individuals, draw edges, trace launch history). However, it doesn't explicitly state a condition like 'use this when you need summary statistics', but the contrast with siblings is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kol_leaderboardARead-onlyInspect
[$0.02/page] Every tracked KOL wallet, ranked from the recorded trades: lifetime realized SOL, per-token win rate on NET realized SOL, and a recent-activity window. Sort by profit, success or activity. Use to build or refresh a copy-trading watchlist.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Recent window, 1-90 days. Default 7. | |
| sort | No | profit: realised SOL. success: win rate. activity: recent trades. | |
| limit | No | Rows, 1-100. Default 25. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kols | No | wallet, name, handle, verified, followers, lifetime {trades, volume_sol, realized_sol,... |
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| count | No | |
| filters | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds cost information ($0.02/page) and details about the data included (lifetime realized SOL, win rate, activity window), which goes beyond the annotations. No contradictions found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the cost, followed by the core functionality and a practical use case. Every sentence carries essential information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (noted in context signals), the description doesn't need to explain return values. It fully covers what the tool does, the data it ranks, its sorting options, and a typical use case. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter explained in the schema. The description reinforces the sort values (profit, success, activity) and the recent-activity window concept, but adds no new information beyond what the schema already provides. A baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it ranks tracked KOL wallets by lifetime realized SOL, win rate, and activity, with sorting options. It also gives a concrete use case (build/refresh copy-trading watchlist). This distinguishes it from siblings like 'kol_record' which likely focuses on a single wallet's details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use it ('Use to build or refresh a copy-trading watchlist'), giving clear context. However, it doesn't mention when not to use it or compare with alternatives, so it stops short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kol_recordARead-onlyInspect
[$0.02] One tracked KOL in depth: lifetime stats, per-token history from every recorded trade (buys, sells, volume, realized SOL) and the latest trades raw. Untracked addresses answer null and cost nothing; check_wallet covers any wallet.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Solana wallet, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kol | No | Identity and lifetime stats. Null when the address is not a tracked KOL; nothing is charged... |
| _meta | No | |
| tokens | No | Per-token rollup: mint, symbol, buys, sells, volume_sol, realized_sol, first and last trade... |
| recent_trades | No | Latest trades: side, sol, realized_sol, roi_pct, entry_mcap, timestamp. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds notable behavior: it costs $0.02 for tracked addresses, returns null for untracked ones, and the scope of data (lifetime stats, per-token history, latest trades). This adds value beyond annotations, but it doesn't disclose details about pagination, rate limits, or what 'latest trades raw' entails, which are minor given the readOnly annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the cost and purpose, and every sentence adds value. It packs essential information—cost, output scope, null behavior, and alternative tool—into two efficient sentences without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (though not detailed in this context, the description lists the key output types), the description covers what an agent needs to call the tool correctly: the resource type, cost, edge case (untracked), and alternative. The tool is a simple single-parameter lookup, and the description is complete for that purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the single parameter 'address' is described as 'Solana wallet, base58.' The description adds context that the address must be a tracked KOL for meaningful results, but doesn't add syntax or format details beyond the schema. Baseline 3 is appropriate since the schema already fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it returns in-depth lifetime stats and per-token trade history for a tracked KOL (Key Opinion Leader). It specifies both the output content and the resource (a single tracked KOL address), and distinguishes it from the related check_wallet tool by noting that untracked addresses return null. The verb 'record' is specific, and the description makes clear this is a focused lookup, not a broad search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: when you need in-depth data for a tracked KOL. It also explains what happens if the address is untracked (returns null, costs nothing) and explicitly points to check_wallet as the alternative for any wallet. It does not state 'when not to use' explicitly, but the alternative routing is strong and sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchARead-onlyInspect
[$0.005/page] ChatGPT entry point: the same catalogue search as search_tokens (same endpoint and price) returning {id, title, url} rows, each id a Solana mint for fetch. ChatGPT connects to nothing without this exact name; other clients should call search_tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows, 1-100. Default 25. | |
| query | Yes | Symbol, name fragment, or an exact mint address. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | |
| _meta | No | coverage, billing and price_usd for this call. |
| count | No | |
| results | No | Rows of {id, title, url}. id is the mint; pass it to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful details beyond the read-only and non-destructive annotations, such as the cost per page and the output structure (rows with id, title, url, and id being a Solana mint for fetch). However, it does not mention potential errors, rate limits, or other side effects, so it only partially exceeds what annotations already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes redundant or confusing phrases such as 'ChatGPT entry point' and 'ChatGPT connects to nothing without this exact name'. The structure is somewhat disjointed, with multiple clauses in the first sentence and an awkward second sentence, detracting from clarity and conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides essential output context by specifying the return format (rows with id, title, url) and the relationship of id to fetch, which is helpful in the absence of an output schema. However, it lacks details about pagination, edge cases, or error handling, leaving some gaps for an agent relying solely on this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full descriptions for both parameters (query and limit), and the tool description does not add any additional parameter-specific information. Since schema coverage is 100%, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that this tool performs the same catalogue search as search_tokens and returns rows with id, title, and url, making its purpose clear. However, it does not explicitly use a verb like 'searches', and the phrase 'ChatGPT entry point' adds ambiguity, though the core action is still understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells ChatGPT to use this tool and directs other clients to call search_tokens instead, providing clear guidance on when to use this tool versus the alternative. It also notes that this is an alias with the same endpoint and price, leaving no room for confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tokensARead-onlyInspect
[$0.005/page] Find a token in the analysed catalogue by symbol, name fragment or exact mint, with platform, size and age filters. find_tokens lists what just migrated; this finds the one you mean. search is the same call in the shape ChatGPT requires.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Symbol, name fragment, or exact mint. | |
| days | No | Analysed within this many days. | |
| limit | No | Rows, 1-100. Default 25. | |
| offset | No | Rows to skip. Default 0. | |
| min_mcap | No | Minimum market cap, USD. | |
| platform | No | Launchpad, e.g. pumpfun or letsbonk. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| count | No | |
| query | No | |
| tokens | No | mint, symbol, name, analyzed_at, mcap_at_analysis, platform, holders, insiders, snipers,... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds useful context beyond that: per-page pricing, the fact that it searches an analysed catalogue, and that it is an alias of `search`. No contradictions or hidden side effects are indicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the core purpose, filters, sibling distinction, and alias note with zero filler. The pricing informaton is front-loaded and the most decision-relevant facts appear first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with 100% parameter documentation, an output schema, and annotations covering safety, the description is complete. It covers cost, search scope, filtering, sibling distinction, and alias behavior—nothing essential to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by clarifying `q` semantics as symbol, name fragment, or exact mint, and by mapping 'platform, size and age filters' to platform, min_mcap, and days. This helps the agent map natural language to the right parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Find a token in the analysed catalogue', with concrete search modes (symbol, name fragment, exact mint) and filters. It explicitly distinguishes itself from find_tokens and acknowledges the search alias, making sibling differentiation immediate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit usage rule: 'find_tokens lists what just migrated; this finds the one you mean.' This tells the agent when to choose this tool over a close sibling. It also names the `search` alias as the ChatGPT-shaped variant, covering an alternative invocation path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_hypothesisARead-onlyInspect
[$0.025] Measure what happened to every indexed launch matching your filters: rug rate against the index base rate, peak-gain percentiles, time to peak, collapse speed. Answers pattern questions like 'do launches with under 200 holders die faster?'; to shortlist live tokens to act on, use find_tokens instead. filters is {field: {min,max}} over numeric fields listed by get_coverage, e.g. {total_holders: {min: 200}}. Returns cohort aggregates and a one-sentence finding, never per-token rows. Read-only over stored history; measured past, not a forecast.
| Name | Required | Description | Default |
|---|---|---|---|
| filters | Yes | Field bounds as {min,max}; get_coverage lists the fields. | |
| window_days | No | Cohort window, days. Default 30. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| cohort | No | n, rug_pct, base_rate_pct, rug_lift_vs_base, median_peak_gain_pct, p75/p90_peak_gain_pct,... |
| filters | No | The filters applied, echoed back. |
| disclaimer | No | Measured history, not a forecast, and not adjusted for slippage or fees. |
| window_days | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only over stored history; measured past, not a forecast.' It further discloses return behavior ('Returns cohort aggregates and a one-sentence finding, never per-token rows') and the cost, adding meaningful context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact yet information-dense, front-loading the core measurement purpose, then covering cost, alternatives, filter syntax, return shape, and safety. Every sentence earns its place with no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the two-parameter schema, output schema presence, and annotations, the description covers everything needed to decide when and how to call the tool: purpose, filter format, field source, expected return shape, alternative tool, cost, and read-only semantics. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real value by explaining the filters shape as '{field: {min,max}}', grounding it in fields from get_coverage, and giving a concrete example '{total_holders: {min: 200}}'. This goes beyond the schema's bare object type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Measure what happened to every indexed launch matching your filters' and enumerates specific outputs (rug rate, peak-gain percentiles, time to peak, collapse speed). It also distinguishes itself from find_tokens, so an agent can tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly identifies when to use this tool ('Answers pattern questions like do launches with under 200 holders die faster?') and names the alternative for a different use case ('to shortlist live tokens to act on, use find_tokens instead'). It also clarifies that filters reference numeric fields listed by get_coverage, giving clear context for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_changesARead-onlyInspect
[$0.025] Who sold since we analysed it: reads the chain now and diffs the large positions against what we recorded. Use when a cached read feels stale or to see whether concentrated wallets are exiting. The only call that touches the chain live.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | Solana token mint address (base58). |
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| ready | No | False when we hold no holder baseline for this token; nothing is charged in that case. |
| changes | No | Movement against the baseline: who left, who grew, and the supply behind it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral context: it performs a live chain read, incurs a $0.025 cost, and diffs against previously recorded data. This goes beyond what the annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it opens with the user-facing question, then explains the mechanism, then gives usage context, then a differentiating caveat. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with an output schema and safety annotations, the description covers what the tool does, when to use it, its live-chain behavior, and its cost. Nothing essential is missing for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter, mint, is already described as a Solana token mint in base58. The description does not add parameter-level detail beyond that, so the schema carries the semantic weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it reads the chain and diffs large positions against previously recorded data to answer 'who sold since we analysed it.' It also distinguishes itself from siblings by noting it is the only call that touches the chain live.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: use it when a cached read feels stale or when checking whether concentrated wallets are exiting. It implies alternatives are cached reads and positions this tool as the live-chain option, though it does not name a specific sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_graphARead-onlyInspect
[$0.04] The wallet relationship graph behind a token: edges with strength and confidence, cluster membership and role, wash-trading wallets. token_wallets names the holders; this shows how they are CONNECTED and whether a distributed-looking set is one person. Not a first look.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | Solana token mint address (base58). |
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| edges | No | wallet_a/wallet_b ties with strength and confidence. |
| members | No | Which wallet sits in which cluster, and its role. |
| edges_total | No | True edge count; compare against the returned array to detect truncation. |
| wash_wallets | No | |
| members_total | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so the tool is known safe. The description adds behavioral context beyond annotations by specifying the kind of insights returned (edges with strength/confidence, cluster membership, wash-trading detection), which helps the agent set expectations about the output. It does not contradict annotations. The description carries the burden for non-safety behaviors and does so adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: it front-loads the cost, then the main purpose, followed by the key outputs and a usage note. Every sentence contributes information, and the differentiation from token_wallets is integrated naturally. There is no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one required parameter with schema coverage, an output schema, and a description that explains the main purpose and usage context. The description mentions the nature of the output (edge strength, clusters, wash-trading), which is informative. While it doesn't detail every aspect of the returned graph, the output schema covers the structure. It is complete enough for an agent to decide when to call it, though it could explicitly state that it is complementary to token_wallets and perhaps other network-related tools. Still, it meets most criteria for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% as the sole required parameter 'mint' has a description ('Solana token mint, base58.'). The tool description adds no additional parameter-level semantics beyond the schema, but with full coverage, the baseline score of 3 is appropriate. The description mentions 'token' in general context, but the schema already defines the parameter clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's purpose: 'The wallet relationship graph behind a token' with specific entities (edges, strength, confidence, clusters, roles, wash-trading wallets). It also differentiates from a sibling tool: 'token_wallets names the holders; this shows how they are CONNECTED and whether a distributed-looking set is one person.' This gives a precise verb-resource and distinguishes it from the most closely related tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: it is 'Not a first look' and references token_wallets as the tool that names holders, implying this tool is used after or in conjunction with it to understand connections. However, it does not explicitly list exclusions or alternatives beyond token_wallets, though the sibling list is extensive. The guidance is sufficient for an agent to route to this tool when relationship analysis is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_identityARead-onlyInspect
[$0.025] Who is BEHIND this token: what its largest holders did in earlier launches, which sibling tokens the same wallets ran and how those ended, and the measured upside band. The decision-point call. Coverage is reported per call; an empty result is free.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | Solana token mint address (base58). |
| _meta | No | |
| upside | No | Measured 2x/5x rate for tokens whose holders carried this much winning history, against... |
| creator | No | address, allocation_pct, has_sold. |
| identity | No | holders_checked, holders_with_history (a COUNT), coverage_pct, prior_appearances,... |
| sibling_tokens | No | Earlier tokens these wallets ran: mint, seen_at, shared_wallets, rugged. |
| sibling_outcomes | No | known vs rugged among the siblings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description doesn't need to restate safety. It adds valuable behavioral context: the tool reports coverage per call, charges $0.025, and returns free empty results if no coverage. This goes beyond the schema and annotations, informing the agent about cost and data availability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it starts with the cost, then the core question, and lists key data points. Every sentence adds value—cost, scope, decision-point role, and coverage behavior. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter, full schema coverage, and an output schema, so the description doesn't need to explain return values. It covers the purpose, cost, and coverage behavior. However, it doesn't mention edge cases like how to interpret empty results beyond being free, or whether results are ordered by relevance, leaving minor gaps for an agent seeking complete decision support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'mint' parameter described as 'Solana token mint, base58.' The description doesn't add to this but doesn't need to, since the schema is clear. It indirectly refers to the mint as the token being analyzed but provides no additional semantic details beyond the schema. Given high coverage, a baseline of 3 is appropriate, but the description's 'mint' usage in context adds slight value, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly explains the tool's purpose: to reveal the identity behind a token by analyzing its largest holders' history and outcomes. It uses a specific metaphor ('Who is BEHIND this token') and cites concrete aspects (largest holders, sibling tokens, upside band). However, it doesn't explicitly differentiate from siblings like check_token or inspect_token, relying on the phrase 'decision-point call' to imply uniqueness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: at the decision point, when you need identity context beyond basic checks. It mentions coverage reported per call and free empty results, which suggests using it iteratively. However, it doesn't explicitly state when not to use it or mention alternatives like check_wallet or find_serial_insiders, which may overlap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_price_pathARead-onlyInspect
[$0.005] What the token did after we called it: peak, drawdown from peak, and where it stands now, at 4-5 second resolution. Our feed starts at analysis; the bonding-curve phase before that is not included.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | Solana token mint address (base58). |
| path | No | analysed_at, first/last tick, tick count, market cap at analysis / latest / peak / trough,... |
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| coverage_note | No | Where our feed starts, so the path is not mistaken for the token's whole life. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, which the description does not contradict. The description adds valuable behavioral context: it specifies the data resolution (4-5 second), the feed start point (analysis, not bonding-curve), and the specific metrics (peak, drawdown, current). This exceeds what annotations provide and helps the agent understand the tool's temporal scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded. It starts with the cost indicator and then states the tool's output in a clear, short sentence, followed by a brief clarifying note about the feed's temporal scope. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema (though not shown in full), one parameter, and clear annotations. The description explains the temporal scope and metrics, but does not mention factors like data availability or edge cases (e.g., what if the token wasn't analyzed yet). For a single-parameter tool with an output schema, this is adequate but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter 'mint' is described as 'Solana token mint, base58.' The description does not add extra parameter-level detail beyond what the schema provides. The baseline of 3 is appropriate since the schema fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: reports what the token did after being called, including peak, drawdown from peak, and current standing, at 4-5 second resolution. It distinguishes itself by specifying the feed starts at analysis and excludes the bonding-curve phase, which differentiates it from other token inspection tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (to get token price action after analysis), but does not explicitly state when to use this tool versus alternatives like check_token, inspect_token, or token_report. The distinction from the bonding-curve phase is noted, but there is no explicit 'when to use' or 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_reportARead-onlyInspect
[$0.025] check_token + inspect_token + token_identity in one call. depth="full" ($0.07) adds the outcome path, live sellability and the wallet graph. Cheaper than the parts; use once a token is worth a real look. fetch is this call under the name ChatGPT requires.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. | |
| depth | No | core: verdict, holders, identity. full adds graph, price path, sellability. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | The token this describes. |
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| depth | No | Which tiers are included. |
| screen | No | The full body of the endpoint it names, exactly as that endpoint returns it. |
| inspect | No | The full body of the endpoint it names, exactly as that endpoint returns it. |
| identity | No | The full body of the endpoint it names, exactly as that endpoint returns it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses cost ($0.07 for full depth) and indicates that the full depth adds outcome path, live sellability, and wallet graph. The annotation already marks it read-only, so the description adds cost and content info without contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tight and informative, covering the tool's composition, cost, parameter depth, and use case in just a few sentences. No redundant words or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return formats. It adequately covers the depth parameter and cost, and it clearly positions the tool relative to siblings. It could mention error scenarios or edge cases, but for a combined report tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description enriches the schema by explaining what each depth level returns: 'core: verdict, holders, identity' and 'full adds graph, price path, sellability.' This goes beyond the bare enum definition and clarifies the trade-off of using the full depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool combines check_token, inspect_token, and token_identity into a single call, and it names the sibling tools it pulls from. The phrase 'use once a token is worth a real look' gives a concrete use case, making its purpose distinct from the individual tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions when to use it ('once a token is worth a real look') and notes it is 'cheaper than the parts,' which guides the agent toward using this composite when multiple pieces of token info are needed. It does not explicitly say when not to use it, but the context is clear enough compared to the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_walletsARead-onlyInspect
[$0.005] The NAMED wallets behind one token: insiders, snipers, early buyers, fresh wallets, wash traders and tracked KOLs, each with funder (exchanges named), link count and cluster. Lists cap at 100 per class; *_total fields carry real counts. inspect_token gives counts, this gives addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kols | No | Addresses with funding source, cluster membership and flags. Capped at 100; the matching... |
| mint | No | |
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| snipers | No | Addresses with funding source, cluster membership and flags. Capped at 100; the matching... |
| insiders | No | Addresses with funding source, cluster membership and flags. Capped at 100; the matching... |
| scalpers | No | Addresses with funding source, cluster membership and flags. Capped at 100; the matching... |
| kols_total | No | |
| wash_total | No | |
| early_total | No | |
| fresh_total | No | |
| wash_wallets | No | Addresses with funding source, cluster membership and flags. Capped at 100; the matching... |
| fresh_wallets | No | Addresses with funding source, cluster membership and flags. Capped at 100; the matching... |
| snipers_total | No | |
| insiders_total | No | |
| early_investors | No | Addresses with funding source, cluster membership and flags. Capped at 100; the matching... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Read-only and non-destructive are already declared in annotations, and the description adds independently useful behavior: per-class list cap at 100 and real counts in *_total fields. It also conveys the output granularity, which goes beyond what annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler. The cost is front-loaded, core output classes come second, the cap behavior third, and the sibling distinction closes it. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter fully covered, an output schema present, and the description explaining the key truncation caveat and the difference from inspect_token, nothing needed to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, mint, is fully documented in the schema as a Solana token mint in base58, so high schema coverage sets a baseline of 3. The description adds little parameter-level detail but does clarify that the mint identifies a single token for wallet analysis.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what is returned: named wallet addresses behind a token, grouped by behavioral classes (insiders, snipers, early buyers, etc.), with funder, link count, and cluster. It also explicitly differentiates itself from inspect_token by noting that this tool provides addresses rather than counts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The final sentence explicitly contrasts with inspect_token ('inspect_token gives counts, this gives addresses'), which tells an agent when this tool is the right choice. It stops short of broader when/when-not guidance against the many other sibling tools, but for address-level wallet data the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_webARead-onlyInspect
[$0.04] Earlier launches tied to this token through shared wallets, with the wallets themselves, each launch's outcome and its highest recorded market cap. Use when token_identity reported shared wallets and you need WHICH launches. token_graph stays inside one token; this crosses tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | Solana token mint, base58. | |
| min_shared | No | Minimum shared wallets. Default 3. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mint | No | |
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| tokens | No | Launches sharing wallets with this one: mint, shared wallet count, outcome and the highest... |
| common_wallets | No | The shared wallets themselves, with which launches each ties. |
| web_wallet_pool | No | Wallets considered when building the web. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds beyond that by disclosing the $0.04 cost, the tie-outcome details, and emphasizing this operation crosses token boundaries rather than staying within one token. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences front-load the cost and core output, then give the when-to-use rule and the contrast with a sibling. Every sentence contributes distinct information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read-only query tool with a full output schema and clear sibling positioning, this description is complete enough. It covers cost, triggering conditions, output semantics, and the tool’s cross-token scope. No critical gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so both mint and min_shared are already documented in the schema. The description refers to 'shared wallets' and 'WHICH launches,' which aligns with min_shared, but adds no concrete syntax or behavioral detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (earlier launches tied to a token via shared wallets) and the output (wallets, outcomes, highest market cap). It explicitly differentiates from sibling tools by contrasting with token_graph, which stays within one token, and token_identity, which reports shared wallets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance is provided: 'Use when token_identity reported shared wallets and you need WHICH launches.' It also gives a clear when-not/alternative statement by noting token_graph stays inside one token while this tool crosses tokens.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_networkARead-onlyInspect
[$0.025] Who one wallet is wired to across the index: direct counterparts with interaction counts, shared tokens, transfer direction where the chain shows it, plus a bounded second hop. check_wallet says what it DID; this says who it MOVES WITH.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Solana wallet, base58. |
Output Schema
| Name | Required | Description |
|---|---|---|
| says | No | The finding in one plain sentence, safe to quote. |
| _meta | No | |
| direct | No | Counterparts, each with the wallet, interaction count, shared tokens and transfer direction... |
| wallet | No | The wallet asked about. |
| edge_total | No | Edges behind both rings. |
| second_hop | No | A bounded second ring, reached through the direct counterparts. |
| direct_total | No | Counterparts found, before the cap. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context: cost, the bounded nature of the second hop, and the specific data categories (counts, shared tokens, direction). This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads cost and core functionality, then adds a differentiating contrast. Every word contributes; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema is present, the description doesn't need to explain return structure. It explains what the tool returns at a high level and mentions a key limitation (bounded second hop). It's complete enough for an agent to call safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of the parameter (address as Solana wallet, base58). The description adds no new semantic detail about that parameter, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: maps who a wallet is wired to, with concrete outputs (direct counterparts, interaction counts, shared tokens, transfer direction, bounded second hop). Explicitly contrasts with check_wallet, distinguishing it from a close sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear usage contrast with check_wallet ('what it DID' vs 'who it MOVES WITH'), guiding when to prefer this tool. Doesn't enumerate alternatives like token_graph or funder_networks, but the single contrast is sufficient for the main decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
26 tool updates
v1.4.4- First observed
can_i_exit - First observed
check_token - First observed
check_wallet - First observed
compare_tokens - First observed
fetch - First observed
find_serial_insiders - First observed
find_tokens - First observed
funder_networks - First observed
get_balance - First observed
get_coverage - First observed
get_sample - First observed
get_scorecard - First observed
inspect_token - First observed
kol_leaderboard - First observed
kol_record - First observed
search - First observed
search_tokens - First observed
test_hypothesis - First observed
token_changes - First observed
token_graph - First observed
token_identity - First observed
token_price_path - First observed
token_report - First observed
token_wallets - First observed
token_web - First observed
wallet_network
TDQS
Scored across 26 tools
Most tools have clearly differentiated roles, and descriptions cross-reference each other explicitly (verdict vs. holder counts vs. named wallets vs. graph; wallet history vs. network vs. KOL record). The main ambiguity comes from exact duplicate aliases like search/search_tokens and fetch/token_report, plus close neighbors like token_identity and token_web, though these are documented.
All names use snake_case and recognizable prefixes like token_, wallet_, kol_, find_, search_, and get_, so the set is readable and predictable. The pattern is weakened by object-first names like token_report and token_wallets sitting alongside verb-first names like check_token and find_tokens, and by the standalone aliases search and fetch.
26 tools is above the 25-tool threshold and the count is inflated by duplicate ChatGPT aliases plus many fine-grained variants covering closely related territory (inspect_token/token_wallets/token_graph, check_wallet/wallet_network/kol_record). A consolidated set of 15-18 tools would serve the same purpose with less surface area.
The tool surface covers the core token-intelligence workflow well: danger screening, holder and wallet forensics, exit viability, identity tracing, token discovery, KOL/funder tracking, and cohort analytics. Minor gaps exist—no dedicated live price/metadata call, no pre-analysis price history, and no general token-level transaction feed—but agents can work around them.
Maintenance
Related MCP Connectors
Rug pull risk and on-chain forensics for tokens on Solana, Ethereum, Base and Robinhood.
Solana address risk grades and token scans for AI agents. Pay-per-call via x402 (USDC on Base).
Instant rug-check for any EVM or Solana token, distilled to one clear 0-10 risk verdict.
Solana on-chain intelligence — token scans, wallet profiling, bundle detection, 19 MCP tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for real-time Solana token risk analysis. Cross-references RugCheck.xyz, DexScreener, and GoPlus Security to generate three-layer reports: machine verdict → LLM analysis → raw on-chain evidence. Live on Solana mainnet with USDC micropayments ($0.02/audit). Give any AI agent the ability to check if a token is safe before trading.2MIT
- AlicenseAqualityFmaintenanceReal-time Solana token risk scoring, momentum signals, and graduation alerts via MCP. Free tier with 4 tools (no auth), PRO tier with 6 tools + batch analysis ($0.01/call via x402).61MIT
- AlicenseNot gradedqualityDmaintenanceSolana on-chain intelligence API — token scans, wallet PnL, bundle detection, fresh wallets, dev profiling. MCP server for Claude, Cursor & AI agents. Live PumpFun/Raydium streams1MIT
- AlicenseAqualityAmaintenanceOn-chain Solana token safety for trading agents — traces coordinated wallet funding, same-block Jito bundles, serial-rug deployers and live coordinated dumps into one Exit-Liquidity Risk verdict before a swap. Free tier, then $0.02 USDC/query via x402.117 npm1MIT