Skip to main content
Glama
shumi-ai

Shumi AI

by shumi-ai

@shumi-ai/mcp

Shumi crypto trade-intelligence as an MCP server — the same market intelligence the shumi CLI provides, for any MCP client (Claude Desktop, Claude Code, Cursor, agents).

It's a thin wrapper over Shumi's data API: prices, trends, funding rates, sentiment, narratives, market regime, synthesized signals, pair / delta-neutral ideas, real-world assets, holder and wallet tracking, and transcript highlights. All tools are read-only.

Quick start

You need a Shumi API key (shumi_sk_…). Create one at https://shumi.ai.

Claude Desktop / Claude Code

Add to your MCP config (claude_desktop_config.json, or claude mcp add for Claude Code):

{
  "mcpServers": {
    "shumi": {
      "command": "npx",
      "args": ["-y", "@shumi-ai/mcp"],
      "env": {
        "SHUMI_TOKEN": "shumi_sk_your_key_here"
      }
    }
  }
}

Restart the client. The shumi tools (e.g. get_coin_risk, get_market_health, ask_shumi) appear automatically.

Cursor

~/.cursor/mcp.json uses the same command / args / env shape as above.

Plugin directories

This repo also ships plugin.json and mcp.json at its root, so it installs as an Agent Plugin from Cursor's directory and any other client on that standard.

Set SHUMI_TOKEN in your environment before starting the client when you install this way. The Agent Plugins schema takes literal environment values only — it has no placeholder for a secret — so the manifest deliberately omits env rather than shipping a ${SHUMI_TOKEN} string that would be passed through verbatim and fail as an invalid key.

Related MCP server: crypto-quant-signal-mcp

Tools

Typed (deterministic): get_coin_risk, lookup_coin, resolve_coin, get_coin_sentiment, get_coin_historical, get_market_health, get_market_crossing, get_global_market, get_prices, scan_trends, scan_coins, get_market_sentiment, list_narratives, get_narrative, list_categories, get_category, get_funding_momentum, get_funding_alerts, get_regime, get_signal, get_signal_quality, get_pair_suggestions, list_rwa_assets, get_rwa_asset, get_holders, get_wallets, get_futures_signals, get_basket, get_transcripts.

Real-world assets (list_rwa_assets, get_rwa_asset) cover stocks, ETFs, commodities, indices and FX trading as perps on Hyperliquid builder DEXes. They are not crypto tokens — the coin tools will not find them.

Free-form: ask_shumi (natural-language questions — Shumi classifies, fetches, and synthesizes) and search_web.

List-returning tools accept top (keep first N items) and fields (comma-separated keys to keep) to save tokens.

Resources: shumi://capabilities (the data surface) and shumi://billing/tier (your current entitlement).

Configuration

Env var

Default

Purpose

SHUMI_TOKEN

API key (shumi_sk_*). Required.

SHUMI_API_URL

production coinrotator-ai endpoint

Override the API base URL.

SHUMI_WALLET

Wallet address to include in NLP query context.

Gating (free / access / pro tiers and pay-per-call) is enforced server-side, exactly as for the CLI — out-of-quota responses come back as a structured error with an actionable hint.

Remote (HTTP)

For a hosted, multi-user deployment:

PORT=8787 SHUMI_MCP_ALLOWED_ORIGINS=https://yourapp.com npm run start:http

Each request authenticates with its own key header; that token is forwarded to the upstream API per request. Endpoint: POST /mcp, health: GET /health.

Connecting from Claude (static_headers)

Claude supports a fixed credential entered as a request header, so no OAuth server is needed. In Add custom connector → request headers, an organisation administrator enters:

field

value

URL

https://mcp.shumi.ai/mcp

Header name

Authorization

Header value

Bearer shumi_sk_…

x-api-key: shumi_sk_… works too, and so does an Authorization value with the Bearer prefix omitted — an admin types this once by hand, and a mistyped pair fails closed with no error they can see, so all three shapes are accepted. x-api-key wins if both are present, on the grounds that an admin who set it meant it.

Do not put the key in the URL. The MCP authorization spec prohibits access tokens in the URI query string and Anthropic documents a credential in a URL as a security vulnerability — URLs land in server logs, proxies and browser history. The ?shumiToken= / ?config= query forms exist only because Smithery injects session config that way.

One thing to know before buying for a team: a static_headers credential is shared by the organisation, not per user. Everyone connecting through that connector shares one Shumi account, one free-tier allowance and one quota. Per-user metering needs OAuth — see docs/oauth-plan.md.

An unauthenticated call is answered with 200 and an in-band AUTH_REQUIRED error, not 401. That is deliberate: Claude treats a 401 as the start of an OAuth flow, and a server with no authorization server behind it would send the client into a handshake that cannot complete. The 401 path exists but is gated behind SHUMI_MCP_AUTH_SERVER, so it lights up only once there is an authorization server to point at.

The server is stateless. One endpoint serves both protocol revisions:

  • 2026-07-28 — no initialize, no Mcp-Session-Id. A request carries its own routing in headers (Mcp-Method, plus Mcp-Name on tools/call) and its protocol envelope in params._meta, so an intermediary can route and meter a call without parsing the body.

  • 2025-11-25 and earlier — still served. Old clients keep their initialize handshake, but each exchange is answered by its own instance rather than a session.

Because nothing outlives a request, GET and DELETE (the 2025 session operations) return 405, and the session tunables that used to live here — SHUMI_MCP_SESSION_TTL_MS, SHUMI_MCP_MAX_SESSIONS, SHUMI_MCP_SESSION_SWEEP_MS — are gone. They are safe to delete from any deployment; unset they do nothing. The idle-session reaper they configured existed to stop liveness probes from growing the heap, which cannot happen when no session is kept.

Develop

npm install
npm test                # unit tests (no network)
npm run inspect         # open the MCP Inspector against the stdio server
SHUMI_TOKEN=… npm start # run the stdio server

Deliberately not exposed

Two CLI routes have no MCP tool, both on purpose:

  • walkforward — the route exists, but two of its three actions have nothing behind them while Engine B is paused: positions is empty and outcomes holds a single row from 2026-05-28. Shipping it would hand a caller an empty array with no reason attached. It goes in when the engine resumes.

  • watch — server-sent events, which do not fit MCP tool semantics.

Everything else in the CLI's typed surface has a tool.

Available Tools

23 tools
ask_shumiAsk Shumi (free-form)A
Read-only
Inspect

Ask Shumi any crypto-market question in natural language. Shumi classifies the query, fetches the relevant data, and returns a synthesized answer. Use this when no specific typed tool fits, or for multi-part / comparative questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe natural-language question, e.g. "is funding extreme on SOL right now?".
archetypeNoSpecialization path (default "base"; e.g. "perp-dex").

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint and openWorldHint. The description adds that the tool classifies the query, fetches relevant data, and synthesizes an answer. This contextualizes the behavior well, though it stops short of detailing how the fetching works or potential latency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that front-load the core purpose and include usage guidelines. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a free-form tool with 2 well-documented params and supporting annotations, the description provides sufficient context. However, it does not mention the format of the returned answer (e.g., plain text, JSON), which could be a minor gap for an agent expecting structured output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema descriptions already cover both parameters (query and archetype) with examples. The tool description does not add further parameter-specific information, so given 100% schema coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: asking any crypto-market question in natural language, with the sub-steps of classification, data fetching, and synthesis. It explicitly distinguishes itself from specific typed tools, making it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Use this when no specific typed tool fits, or for multi-part / comparative questions.' This directly tells the agent when to select this tool over the 23 siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_categoryCategory detailA
Read-only
Inspect

Detail for one category. view=info (trend breakdown), coins (member coins), sentiment.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoKeep only the first N items (default 50). Raise for more, lower to save tokens.
nameYesCategory name, e.g. "Layer 2".
viewNoWhich category view to return.info
fieldsNoToken-saving: comma-separated top-level fields to keep.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds behavioral context on the different views and token-saving options (top, fields), providing value 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, but the shorthand 'view=info (trend breakdown)' may be slightly cryptic for some users.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema and the complete parameter descriptions, the description fully covers the tool's behavior without needing to detail return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds some extra context (e.g., example for name, explanation of top), but largely mirrors the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns 'Detail for one category' and lists the three views (info, coins, sentiment), making the purpose specific and distinct from siblings like list_categories or get_narrative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving category details but does not explicitly state when to use this tool over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_coin_historicalCoin historical metadataA
Read-only
Inspect

Historical metadata for a coin (holder cohorts, sentiment and funding history).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesCoin symbol, e.g. ETH.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to reiterate safety. It adds value by specifying the types of historical data included (holder cohorts, sentiment, funding history), but does not disclose additional behavioral traits like pagination or depth of history.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single concise sentence that front-loads the purpose and key content. No superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and only one simple parameter, the description is sufficient. It could optionally mention that the output covers historical periods or ranges, but overall it is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter 'symbol' is documented with an example. The description does not add any meaning beyond what the schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'historical metadata for a coin' specifying elements like holder cohorts, sentiment, and funding history. It uses a specific verb-resource combination and distinguishes from siblings such as get_coin_sentiment (likely current) and get_funding_momentum (likely current).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. Given many sibling tools (e.g., get_coin_sentiment, get_funding_alerts), a note that this is for historical data while others are for current data would help. The description only implies usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_coin_riskCoin risk contextA
Read-only
Inspect

Bundled risk context for one or more coins: price, funding APR, deterministic funding_paying_side, funding_receiving_side, carry_if_long and carry_if_short fields, daily/weekly trend, sentiment stance, and BTC correlation. Funding applies to perpetual positions only; spot positions neither pay nor receive it. Relay the carry fields exactly rather than inferring direction from crowding. The best single tool for "should I be worried about X".

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYesOne or more coin symbols, e.g. ["BTC","ETH","SOL"].

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds significant behavioral context: it explains the funding nuance for perps vs spot, instructs to relay carry fields exactly, and lists all return fields. No contradictions 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (four sentences), front-loaded with the most important information, and every sentence adds value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and clear annotations, the description fully covers the tool's purpose, usage context, and behavioral caveats. It is complete for an agent to decide when and how to use this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a description for the 'symbols' parameter that matches the tool description. The description adds no new parameter semantics beyond what the schema provides, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides 'bundled risk context' for coins, listing specific fields like price, funding APR, trends, sentiment, and correlation. It distinguishes itself as the best tool for 'should I be worried about X', which differentiates it from siblings like get_coin_sentiment or get_prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies that funding applies only to perpetual positions and advises relaying carry fields exactly. It also positions itself as the best single tool for risk assessment. However, it does not explicitly mention when not to use it or name alternative tools for specific cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_coin_sentimentCoin sentimentA
Read-only
Inspect

On-chain/social sentiment aggregates for a single coin.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesCoin symbol, e.g. BTC.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. Description adds 'aggregates' but no additional behavioral details like update frequency, data sources, or potential delays. 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no waste, front-loaded with key info. Could include more context but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, return values not required. But description lacks details on aggregation method, timeframes, or reliability; adequate for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description provides no extra meaning beyond 'Coin symbol, e.g. BTC.' Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it retrieves on-chain/social sentiment aggregates for a single coin, distinguishing it from global or market-wide sentiment tools like get_market_sentiment and get_global_market.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use versus siblings like get_coin_risk or lookup_coin. The description implies singular coin focus but lacks alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_funding_alertsFunding alertsA
Read-only
Inspect

Discrete funding-rate alert events (asset, trigger zone, funding at trigger, fired-at time).

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoKeep only the first N items (default 50). Raise for more, lower to save tokens.
fieldsNoToken-saving: comma-separated top-level fields to keep.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description doesn't need to reiterate safety. It adds context that the tool returns discrete events with specific fields, but no further behavioral traits are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads key information. Every word earns its place with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With output schema present, the description need not explain return values. It names the key fields. For a simple retrieval tool with good annotations, this is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema fully describes the 'top' and 'fields' parameters. The description adds no additional meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly lists the resource (funding-rate alert events) and the included fields (asset, trigger zone, funding at trigger, fired-at time). This clearly distinguishes it from siblings like get_funding_momentum.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving funding alerts but provides no explicit guidance on when to use this tool versus alternatives or when not to use it. No comparison with siblings is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_funding_momentumFunding momentumA
Read-only
Inspect

Perpetual funding-rate positioning context, market-wide or for one symbol. APR is already in percent units (1.7 = 1.7%). Positive funding means longs pay and shorts receive; negative funding means shorts pay and longs receive. Funding is context only, not a standalone directional, timing, or entry signal.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoRestrict to one symbol, e.g. BTC. Omit for the market-wide view.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint and openWorldHint. The description adds context on what funding rates are, how to interpret positive/negative values, and emphasizes it's not a signal. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no fluff. Front-loaded with the tool's purpose, followed by unit clarification and usage caveat. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with an output schema, the description covers what the tool does, its limitations, and parameter semantics. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%; the description restates the parameter behavior (omit for market-wide) with an example. It adds marginal value beyond the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides 'perpetual funding-rate positioning context' for market-wide or per symbol. It explains APR units and sign meaning, distinguishing it from siblings like get_funding_alerts. The verb 'get' and resource 'funding momentum' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly warns that funding is 'context only, not a standalone directional, timing, or entry signal,' preventing misuse. It offers market-wide vs single-symbol usage. It doesn't explicitly name alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_global_marketGlobal market aggregatesA
Read-only
Inspect

Global market aggregates: BTC dominance, total market cap, total volume.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe, read-only operation. The description complements this by specifying the exact data returned (BTC dominance, total market cap, total volume), providing full behavioral clarity for a zero-parameter tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads essential information. Every word contributes: it names the resource, lists key metrics, and no unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an existing output schema, the description is complete. It succinctly covers what the tool does without needing to explain return values, as the output schema handles that. No gaps are evident.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100%. The description effectively adds value by naming the output fields, which is especially helpful when no parameters need explanation. Baseline for 0 parameters is 4, but the descriptive output earns a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides global market aggregates, specifically naming BTC dominance, total market cap, and total volume. This distinguishes it from siblings like get_prices or get_market_health by specifying the exact metrics returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is for retrieving high-level market aggregates, but it does not explicitly state when to use it versus alternatives like get_market_health or get_prices. The purpose is clear, but usage boundaries are not delineated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_healthMarket healthA
Read-only
Inspect

Overall market health: the UP/HODL/DOWN trend distribution and extreme movers. Set context for the full bundle.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoInclude the full market-context bundle (breadth velocity, regime age, leadership).

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to reiterate safety. The description adds no behavioral context beyond what annotations provide, but it does not contradict them either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the primary purpose. No superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, read-only, with an output schema), the description is largely complete. It mentions key outputs and the purpose of the context parameter, though 'full bundle' could be clarified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (the single boolean parameter 'context' is fully described in the schema). The description adds no additional meaning to the parameter beyond the schema's description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool provides 'overall market health' including 'trend distribution and extreme movers', which is specific about the resource and outputs. However, it does not differentiate clearly from siblings like 'get_global_market' or 'get_market_sentiment', and the phrase 'full bundle' is ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes 'Set context for the full bundle', implying a usage scenario (use before other tools), but lacks explicit when-to-use or when-not-to-use guidance and does not mention alternatives among the 22 sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_sentimentMarket sentimentA
Read-only
Inspect

Aggregate market sentiment. view=market/latest/summary (overall), narratives, categories, slopes/entity-slopes (what is trending), health (pipeline status).

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoKeep only the first N items (default 50). Raise for more, lower to save tokens.
viewNoWhich sentiment view to return.market
fieldsNoToken-saving: comma-separated top-level fields to keep.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds value by explaining that views include slopes for trending and health for pipeline status, which clarifies the tool's behavior beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with a list, efficiently conveying the aggregate nature and view options. It is front-loaded and contains no waste. Slight improvement could separate views more clearly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description does not need to detail return values. It covers the main functionality and view options adequately. The tool is straightforward; the description is sufficient for an agent to understand its role among many siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining the views (e.g., 'slopes/entity-slopes (what is trending)') and providing default and usage tips for the 'top' parameter ('default 50', 'raise for more, lower to save tokens'). This enhances parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Aggregate market sentiment' and enumerates specific views, providing a precise verb and resource. This differentiates it from siblings like get_coin_sentiment or get_market_health which focus on specific coins or health only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists available views but does not explicitly state when to use this tool versus alternatives like get_coin_sentiment or list_narratives. Usage context is implied through the view options, but no exclusion criteria or alternative recommendations are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_narrativeNarrative sentimentA
Read-only
Inspect

Sentiment and momentum for a single named narrative.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNarrative name, e.g. "AI coins".

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true. The description adds context about returned data (sentiment and momentum) but doesn't disclose additional behavioral traits like required permissions or output format bounds.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single efficient sentence with no waste. Could be slightly improved by front-loading the verb (e.g., 'Gets sentiment and momentum...') but still concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool with output schema and openWorldHint=true, the description is sufficiently complete. It explains the tool's purpose without needing to detail return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with a clear description for the 'name' parameter. The description doesn't add extra semantic value beyond that, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns sentiment and momentum for a single named narrative. It distinguishes from siblings like get_coin_sentiment (coin-level) and list_narratives (listing). Specific verb+resource is implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (need sentiment/momentum for one narrative) but gives no explicit guidance on when not to use, nor alternatives like list_narratives or get_coin_sentiment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pair_suggestionsPair / delta-neutral suggestionsA
Read-only
Inspect

Pair-trading and delta-neutral funding-arbitrage intelligence. mode=suggestions (pair ideas), delta-neutral (funding arb), history (backtest), signal (state for a specific pair — needs token_a & token_b).

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoKeep only the first N items (default 50). Raise for more, lower to save tokens.
modeNoWhich pair view to return.suggestions
limitNoMax results.
fieldsNoToken-saving: comma-separated top-level fields to keep.
symbolNoFilter by symbol (suggestions / delta-neutral).
token_aNoFirst token (required for mode="signal"), e.g. ETH.
token_bNoSecond token (required for mode="signal"), e.g. SOL.
dex_onlyNoDEX exchanges only (delta-neutral).
exchangeNoFilter by exchange (delta-neutral).

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, establishing a safe, dynamic read operation. The description adds behavioral context by detailing mode-specific behavior (e.g., 'signal' requires two tokens) and the type of intelligence provided (pair ideas, funding arb, backtest). No contradictions 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the overall purpose, then succinctly listing modes and their context. It is efficient and avoids redundancy, though a slight restructuring could improve readability (e.g., bullet points).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters and an output schema present, the description covers the main modes and their required params, hinting at use cases. It does not repeat return value details (handled by output schema) and provides sufficient context for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter's intent is already clear from the schema (e.g., 'Required for mode="signal"'). The description adds value by grouping parameters under modes (e.g., mention token_a and token_b for signal) but does not significantly enhance what the schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'pair-trading and delta-neutral funding-arbitrage intelligence' and enumerates four modes (suggestions, delta-neutral, history, signal) with brief explanations. This verb+resource+scope is distinct from sibling tools like get_global_market or get_coin_risk, which focus on different data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly guides usage by explaining each mode's purpose (e.g., 'signal' needs token_a & token_b), but it does not explicitly compare with alternative tools or provide when-to-use/ when-not-to-use guidance. Siblings exist, but no direct differentiation is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pricesBulk live pricesA
Read-only
Inspect

Bulk live prices, optionally with 4h/24h/7d baseline overlays. Omit symbols for the full tracked set.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoKeep only the first N items (default 50). Raise for more, lower to save tokens.
fieldsNoToken-saving: comma-separated top-level fields to keep.
symbolsNoComma-separated symbols, e.g. "BTC,ETH,SOL". Omit for all tracked coins.
baselinesNoInclude 4h/24h/7d baseline price overlay.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's disclosure of optional baselines and full-set retrieval adds marginal value. No contradictions, but no additional behavioral traits (e.g., pagination, rate limits) are mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. The first sentence states the core function, the second clarifies a key usage pattern. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the tool's simplicity (read-only, bulk prices), the description covers essential usage. Some users might benefit from knowing default 'top' limit or field filtering details, but those are in the schema and not strictly required here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds minimal extra meaning beyond the schema. The phrase 'Omit symbols for the full tracked set' essentially repeats the schema description for the 'symbols' parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Bulk live prices' with optional baseline overlays, identifying the tool's purpose as fetching current price data. It does not explicitly contrast with siblings like 'get_coin_historical' or 'get_global_market', but the description is specific enough to distinguish its bulk and live nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by noting optional baselines and that omitting symbols returns the full tracked set, but it does not provide explicit when-to-use vs. alternatives or when-not-to-use. The agent must infer usage from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_regimeMarket regimeA
Read-only
Inspect

Market regime signals. view=active (current positions), signals (all), confidence (scores). Provide symbol to get that symbol's regime history instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoWhich regime view to return (ignored when symbol is set).active
symbolNoIf set, returns regime history for this symbol.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the tool is known to be safe. The description adds that it returns regime signals and history, but does not disclose other behavioral traits like data freshness, rate limits, or what happens if both parameters are set. The description is consistent 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the main purpose. It is concise with no wasted words. However, it could be slightly more structured by separating parameter descriptions, but overall it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a simple interface with 2 parameters and an output schema exists, so description need not detail return values. However, it lacks explanation of what 'regime signals' are conceptually, which may leave the agent without full context. The description covers parameter usage adequately but omits higher-level context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by elaborating on the view enum values: 'active (current positions), signals (all), confidence (scores).' This clarifies the meaning beyond parameter names and schema descriptions. The symbol parameter description largely repeats the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool returns market regime signals and explains the view parameter options. It also notes that providing a symbol returns regime history. The purpose is specific and distinguishable from sibling tools like get_signal or get_market_health, though it does not explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on using the view parameter and the symbol parameter, but it does not explain when to use this tool over alternatives such as get_signal or get_market_health. No when-not or contextual exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_signalSynthesized signalA
Read-only
Inspect

Synthesized verdict for a coin, combining trend, funding, sentiment and regime.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesCoin symbol, e.g. SOL.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and openWorldHint. Description adds that the output combines multiple factors, which is useful context but does not disclose additional behavioral traits like aggregation method or response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words. Front-loaded with action and resource. All information is essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately explains the tool's functionality. The combination sources are mentioned, making it sufficiently complete for a simple parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'symbol', and the schema provides its description. The tool description does not add further detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns a 'synthesized verdict' for a coin, combining trend, funding, sentiment, and regime. This specific verb+resource combination distinguishes it from siblings like get_coin_sentiment or get_regime.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for a combined analysis but does not explicitly state when to use this tool versus alternatives, nor does it provide usage conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_signal_qualitySignal qualityB
Read-only
Inspect

Signal validation envelope for an asset: Sharpe ratio, win rate, sample size, reliability tier.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYesAsset symbol, e.g. BTC.
signal_typeNoSignal type (default: mean_reversion).

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not contradict the annotations (readOnlyHint, openWorldHint). It adds some behavioral context by specifying the output fields, but does not disclose traits like data freshness, error handling, or auth requirements. Annotations already indicate safety, so the description provides minimal extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with all essential information front-loaded. It is efficiently worded with no redundancy or fluff. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 parameters, output schema exists), the description is somewhat complete: it lists the output fields. However, it lacks context on how to interpret the metrics (e.g., what constitutes a 'good' Sharpe ratio) or when results might be empty. It is adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already described in the schema. The description adds no additional meaning for the parameters themselves (e.g., it does not explain what 'signal_type' defaults to or its possible values). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns a 'signal validation envelope' for an asset, listing the specific metrics (Sharpe ratio, win rate, sample size, reliability tier). This gives a clear verb and resource, but it does not differentiate this tool from siblings like 'get_signal' or 'get_coin_sentiment'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when NOT to use it, or how it compares to sibling tools such as 'get_signal' or 'get_coin_sentiment'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesList categoriesA
Read-only
Inspect

List all tracked crypto categories (DeFi, Layer 2, memes, …).

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoKeep only the first N items (default 50). Raise for more, lower to save tokens.
fieldsNoToken-saving: comma-separated top-level fields to keep.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and openWorldHint=true, so the description adds minimal behavioral context beyond listing examples. It does not disclose any further behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that is perfectly concise and contains no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity of listing categories, the description, combined with the rich schema and output schema, provides complete context for the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters (top, fields). The description adds no additional meaning beyond what the schema provides, resulting in baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all tracked crypto categories, providing specific examples (DeFi, Layer 2, memes) that differentiate it from sibling tools like get_category or list_narratives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for listing all categories but gives no explicit guidance on when to use it versus alternatives, nor any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_narrativesList narrativesA
Read-only
Inspect

List the currently active market narratives (e.g. "AI coins", "DeFi summer").

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoKeep only the first N items (default 50). Raise for more, lower to save tokens.
fieldsNoToken-saving: comma-separated top-level fields to keep.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. Description adds that narratives are 'currently active' and examples, but no additional behavioral traits (pagination, filtering limits, etc.). Does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with purpose, no extraneous words or repetition. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple list operation with output schema and comprehensive annotations. Description is complete; return values are covered by output schema. No missing information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already documents both parameters ('top' and 'fields') with clear descriptions. The tool description adds no extra meaning beyond what's in the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'List' and the resource 'currently active market narratives' with concrete examples ('AI coins', 'DeFi summer'). Distinguishes from siblings like 'get_narrative' which would retrieve details on a single narrative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied use is for browsing active narratives, but no explicit when-to-use or when-not-to-use guidance, nor mention of alternatives among sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_coinLook up a coinA
Read-only
Inspect

Look up a single coin and its core metrics (price, trend, metadata) by symbol, name, CoinGecko/internal id, or on-chain contract address.

ParametersJSON Schema
NameRequiredDescriptionDefault
byNoHow `identifier` is interpreted.symbol
chainNoChain for contract lookups (ethereum, bsc, solana, base, …). Required when by="contract".
identifierYesThe symbol (BTC), name (Bitcoin), id (bitcoin), or contract address.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and open-world. The description adds transparency by specifying the return includes price, trend, and metadata, which is useful beyond annotations. No behavioral traits contradicted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the purpose, scope, and identifier options without extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, full parameter coverage, and informative annotations, the description adequately completes the picture by summarizing the tool's return (core metrics). No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description restates that contract addresses are supported but does not enrich parameter meanings beyond the schema's 'by', 'chain', and 'identifier' descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Look up' and the resource 'a single coin', explicitly listing the core metrics (price, trend, metadata) and multiple identifier types. It distinguishes from siblings like resolve_coin or get_prices by specifying the scope and data returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool by listing identifier types (symbol, name, id, contract), which implies appropriate contexts. However, it does not explicitly state when not to use it or directly compare to siblings like resolve_coin or get_prices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_coinResolve a coin (fuzzy)A
Read-only
Inspect

Fuzzily resolve a symbol, name, or contract to canonical coin candidates. Use this first when the user input is ambiguous, before calling other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax candidates to return.
queryYesSymbol, name, or contract to resolve.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the description adds value by clarifying fuzzy matching and canonical candidates, but does not go beyond annotations significantly. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words: first states purpose, second gives usage guidance. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a fuzzy resolution tool with an output schema and good annotations, the description covers what it does and when to use it. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema fully documents parameters. The description mentions 'symbol, name, or contract' which aligns with the query parameter, but adds no additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Fuzzily resolve a symbol, name, or contract to canonical coin candidates' with a specific verb and resource, and it distinguishes itself from siblings by advising to 'Use this first when the user input is ambiguous, before calling other tools.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit context for when to use the tool ('when the user input is ambiguous') and positions it as a preliminary step before other tools, but does not explicitly list alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_coinsScan / filter coinsA
Read-only
Inspect

Filter the tracked universe by trend direction, category, market-cap band, and exchange.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoKeep only the first N items (default 50). Raise for more, lower to save tokens.
limitNoMax results.
trendNoFilter by trend direction.
fieldsNoToken-saving: comma-separated top-level fields to keep.
categoryNoFilter by category name, e.g. "Layer 2".
exchangeNoFilter by exchange listing.
intervalNoTrend interval: 1d (daily) or 1w (weekly).
mcap_maxNoMaximum market cap in USD.
mcap_minNoMinimum market cap in USD.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataNo
metaNo
errorNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true, so the safety profile is clear. The description does not add behavioral details beyond the annotations (e.g., no mention of pagination or result format). 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence of 17 words with no redundancy. Every word contributes to the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and 9 optional parameters, the description provides sufficient high-level context. It could mention that results are a filtered list, but the output schema fills that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already described in the input schema. The tool description adds no additional meaning beyond summarizing filter dimensions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool filters coins by trend direction, category, market-cap band, and exchange. This distinguishes it from siblings like scan_trends or get_prices by specifying the exact filtering dimensions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for filtering the tracked universe but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among siblings. Some context is given by listing filter criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_webSearch the webA
Read-only
Inspect

Search the web for crypto information, or get a direct answer. Backed by Shumi's web-search tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesWhat to search for.
answerNoReturn a direct synthesized answer instead of raw search results.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint, openWorldHint) already cover safety and non-determinism. Description adds the 'direct answer' mode via the answer parameter, which is a behavioral option 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose, no unnecessary words. Efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and description doesn't explain return format (e.g., list of results, snippets). For a web search tool, this omission could affect an agent's ability to use the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – both query and answer are described. The tool description restates the direct answer concept but adds no new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Search the web for crypto information' – specific verb and resource. Distinguishes from siblings like lookup_coin or get_coin_historical which are specific data lookups, making this the general web search tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage: use for general queries not covered by crypto-specific siblings. No explicit when-not or alternatives provided, which would improve guidance.

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.

  1. 23 tool updatesv0.1.0
    • First observedask_shumi
    • First observedget_category
    • First observedget_coin_historical
    • First observedget_coin_risk
    • First observedget_coin_sentiment
    • First observedget_funding_alerts
    • First observedget_funding_momentum
    • First observedget_global_market
    • First observedget_market_health
    • First observedget_market_sentiment
    • First observedget_narrative
    • First observedget_pair_suggestions
    • First observedget_prices
    • First observedget_regime
    • First observedget_signal
    • First observedget_signal_quality
    • First observedlist_categories
    • First observedlist_narratives
    • First observedlookup_coin
    • First observedresolve_coin
    • First observedscan_coins
    • First observedscan_trends
    • First observedsearch_web

TDQS

A4.1/5.0

Scored across 23 tools

Disambiguation5/5

Each tool targets a distinct aspect of crypto market analysis, from global metrics to coin-specific risk, sentiment, funding, signals, and natural language queries. Detailed descriptions prevent ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with lowercase underscores (e.g., get_global_market, scan_trends, list_narratives). No mixing of styles.

Tool Count5/5

23 tools cover the broad domain of crypto market data without being overwhelming. Each tool serves a clear purpose and the count is well-scoped for the server's functionality.

Completeness5/5

The tool set covers all major areas: market aggregates, individual coins, trends, sentiment, categories, narratives, funding, signals, pairs, and a general query tool. No obvious gaps for the intended use.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides cryptocurrency trading signals, market analysis, and portfolio management capabilities across 15+ exchanges with AI-enhanced technical analysis, arbitrage detection, and risk assessment tools.
    2
    -