Skip to main content
Glama
cryptyx-ai
by cryptyx-ai

@cryptyx/mcp-server

🔔 Deprecation notice (2026-07)

This package is entering deprecation. The flagship CRYPTYX MCP integration is now the OAuth 2.1 Remote MCP surface at https://cryptyx.ai/api/mcp — no config file editing, no API key management, revocable per-app, enterprise/SOC 2 ready.

Migrate at cryptyx.ai/mcp. Paste one URL into Claude.ai, Cursor, or any MCP-compatible client and go.

This npm package remains supported through 2026-12-31 for clients that don't yet support OAuth MCP (older Cursor releases, some enterprise agent platforms). Your existing cx_* API key continues to work throughout — no forced migration timeline for existing users.

New users: use the OAuth path from day one. Existing users: migrate on your schedule. See migration guide (or just re-add via cryptyx.ai/mcp — takes 30 seconds).


CRYPTYX — the intelligence layer for digital assets.

Institutional-grade digital asset intelligence delivered via the Model Context Protocol and a human-facing CLI. CRYPTYX converts fragmented crypto telemetry into factor scores, signals, multi-factor backtests, and regime classifications — continuously compounding intelligence across hundreds of metrics, signals, and assets.

Not a data proxy. A quant research platform. 30 tools across 670+ metrics, 8 factor classes, 160 signals, 17 IC-weighted composites, ~200 tracked assets, and a daily-updating signal registry — now including institutional trigger evaluation (Sortino, MDD, profit factor, walk-forward IS/OOS) as of v0.8.0. Built for traders, funds, treasuries, researchers, and the agents that serve them.

Execution is complementary — and venue-neutral. Use CRYPTYX alongside any exchange execution rail. Reference handshakes shipped for Coinbase, OKX, Kraken, Binance, and Hyperliquid — each ~150 lines, one three-step pattern: pay CRYPTYX → apply institutional gate → execute on the venue. Fork any of them for your target venue.


Related MCP server: fathom-fyi

Install

MCP Server (for AI agents)

npx @cryptyx/mcp-server

CLI (for humans and scripts)

npx cryptyx --help

Or install globally:

npm install -g @cryptyx/mcp-server
cryptyx snapshot

Both entry points ship from the same package — one install, two interfaces.


CLI Quick Start

# Save your API key (persists to ~/.config/cryptyx/config.json)
cryptyx config set-key cx_your_api_key

# Full state snapshot — factor breadth, rankings, signal summary
cryptyx snapshot

# Market data for all assets
cryptyx market

# Factor scores for a single asset
cryptyx factors BTC

# Today's signal firings
cryptyx signals

# Top 10 signals by information coefficient
cryptyx signals top

# Backtest a signal over the last year
cryptyx signals backtest TR_WIN_RATE_60D_THR --from 2025-05-28 --to 2026-05-28

# Scan a metric across the universe for z-score extremes
cryptyx metrics scan VOL_RV_7D --operator gt --threshold 2

# Raw JSON output (pipe to jq, scripts, cron)
cryptyx market --json | jq '.[] | select(.composite_rank <= 10)'

Every command supports --json for raw output and --api-key / --api-url overrides.

CLI Commands

Command

Description

cryptyx snapshot

Full state snapshot: factor breadth, rankings, signal summary

cryptyx market

Asset universe with composite scores and returns

cryptyx signals

Today's active signal triggers

cryptyx signals top

Top 10 signals by 7d IC

cryptyx signals catalog

All signals with parameters and 30d stats

cryptyx signals explain SIG ASSET DAY

Why a signal fired (or didn't)

cryptyx signals backtest SIG --from --to

Signal backtest over date range

cryptyx signals fork SIG --params '{}'

Fork a signal with new parameters

cryptyx signals simulate SIG --key --value

Estimate trigger rate for threshold change

cryptyx factors ASSET

Factor t-scores across 8 classes

cryptyx regime ASSET

Regime classification with confidence

cryptyx macro-regime

Market-wide macro regime classification across all horizons

cryptyx divergences

Cross-factor divergence alerts (distribution, capitulation, ignition)

cryptyx pulse

Factor breadth across the universe

cryptyx prices

Live spot prices (15m refresh)

cryptyx price ASSET

Daily OHLCV candles

cryptyx assets

Full tracked universe with tags

cryptyx liquidity ASSET

Order book depth at 50/100/200bp

cryptyx metrics featured

Top metrics by IC

cryptyx metrics analyze METRIC ASSET --operator --threshold

Single-metric z-score backtest

cryptyx metrics scan METRIC --operator --threshold

Universe-wide z-score scan

cryptyx metrics composite ASSET --conditions '[...]'

Multi-factor intersection backtest

cryptyx competition

Competition leaderboard

cryptyx competition rounds

All competition rounds

cryptyx config set-key KEY

Save API key

cryptyx config show

Show current config

cryptyx config clear

Clear saved config


MCP Configuration

Claude Desktop

{
  "mcpServers": {
    "cryptyx": {
      "command": "npx",
      "args": ["@cryptyx/mcp-server"],
      "env": {
        "CRYPTYX_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code

claude mcp add cryptyx -- npx @cryptyx/mcp-server
export CRYPTYX_API_KEY=cx_your_key

Remote HTTP (Claude.ai Connectors)

Endpoint:  https://cryptyx.ai/api/mcp
Transport: Streamable HTTP (JSON-RPC 2.0 over POST)
Auth:      Bearer token (cx_* API key)

Environment Variables

Variable

Required

Default

Description

CRYPTYX_API_KEY

Yes

API key from cryptyx.ai

CRYPTYX_API_URL

No

https://cryptyx.ai

Override for self-hosted deployments


The 6-step conviction loop

CRYPTYX is designed for a specific agentic workflow. Most tools map to a step in this loop:

DISCOVER  →  DEFINE  →  VALIDATE  →  SCAN  →  STORE  →  EXECUTE
  1. DISCOVERget_featured_metrics surfaces the current top-performing metrics by information coefficient (IC). Start here.

  2. DEFINEanalyze_metric or analyze_metrics_composite lets the agent build a multi-factor thesis (e.g. "trend momentum z > 1.5 AND funding stress z > 2.0").

  3. VALIDATE — The same tools return forward returns at 8 horizons (1d to 365d). The agent sees whether the thesis has edge, not just vibes.

  4. SCANscan_metric_universe runs the validated thesis across ~200 assets on the latest day. Which assets match the conditions right now?

  5. STOREfork_signal persists the thesis as a new inactive signal variant. The daily pipeline will track it forever.

  6. EXECUTE — CRYPTYX doesn't execute. Hand off to OKX, Kraken, or whatever execution layer your agent uses.


Tool reference (30 tools)

Factor discovery — the IP moat

The core value of CRYPTYX. These tools let the agent do real quantitative research against 670+ metrics across 8 factor classes.

Tool

What it does

get_featured_metrics

Top-performing metrics by information coefficient. Returns the 8 highest-conviction metrics with A/B grades. Best starting point.

get_asset_top_predictors

Per-asset predictive power — metrics ranked by time-series IC for a specific asset. Surfaces hidden alpha (CS Grade F but TS Grade A).

analyze_metric

Single-metric z-score backtest with forward returns across 8 horizons. The core factor discovery tool.

analyze_metrics_composite

Multi-factor intersection backtest. Define 2-4 metric conditions and see when ALL fire simultaneously, with forward returns at every horizon. This is where theses are born.

scan_metric_universe

Scan a metric across all ~200 assets for z-score extremes on the latest day. Ranked results with forward-return backtests at 1d/7d/30d.

get_factor_scores

Factor t-scores for an asset across 8 factor classes and multiple horizons.

Signal engine — parameterised conviction

A signal is a persistent, versioned, parameterised thesis. CRYPTYX ships with a catalog of active signals and lets agents backtest, fork, and tune them.

Tool

What it does

get_signal_triggers

Today's active signal firings across all assets. Atomic signals + composite rollups with confidence scores.

get_top_signals

Curated top 10 signals ranked by 7d information coefficient (IC). Pre-filtered to A/B health grade with proven predictive power.

get_signal_catalog

Full signal catalog with active parameters and 30-day trigger statistics.

get_signal_explanation

Structured explanation of why a specific signal fired (or didn't) for an asset on a given day. Returns factor scores and composite context.

backtest_signal

Backtest a signal over any date range. Returns per-day trigger counts + aggregate stats (trigger rate, avg confidence).

fork_signal

Create a new inactive parameter variant of an existing signal. The fork is tracked forever but doesn't affect the live signal. Human approval required to activate.

simulate_signal

Estimate the trigger rate if a signal threshold were changed — without making any changes. Cheap what-ifs.

Institutional trigger evaluation — the risk-desk answer, in one call

Added in v0.8.0. Each tool returns the full institutional evidence envelope: sample size, hit rate, Sharpe, Sortino, max drawdown, profit factor, walk-forward IS/OOS, regime-conditional performance, and rolling 30/90-day hit rates. Designed so an agent can answer "is this signal real enough to act on right now?" from one response — no risk desk in the loop.

Tool

What it does

get_trigger_preset

Evaluate one of 5 curated institutional-grade presets against an asset: mean_reversion_price, vol_expansion_alert, vol_regime_break, flow_inflection, treasury_manager_classic. Cached (fastest).

get_trigger_z_score

Single-metric z-score threshold trigger. Pass any of 440+ metrics + operator + threshold. Full envelope in ~50ms.

get_trigger_z_differential

The generalized crossover primitive — fires on the delta z(metric_a) − z(metric_b). Works across every factor family (TR / VOL / FLOW / FUT / OB / CORR) for regime-shift detection.

evaluate_custom_trigger

Arbitrary trigger definition — pass any z_score / z_differential / composite predicate and get the full evidence envelope. Runs a live 5-year backtest per request. Extensibility endpoint.

Discipline gate CRYPTYX uses internally before promoting a trigger to preset tier — happy to reuse in your agent:

  • OOS IC ≥ 0.05 at ≥1 of 14d/30d horizons AND positive at both

  • Walk-forward reliability grade = green (oos_ic > 0.02 AND overfit_ratio > 0.5)

  • Sample size ≥ 100 historical triggers

  • Statistically significant Sharpe (95% CI upper bound > 0)

  • Held up across ≥2 macro regimes

Market intelligence — state of the universe

Tool

What it does

get_market_snapshot

Asset universe with composite scores, returns, rankings. Latest or time series.

get_market_pulse

Factor breadth across the universe. Shows how many assets are positive / negative / neutral per factor class.

get_composite_rankings

Full agent-optimised state snapshot: factor breadth, top/bottom rankings, signal summary, pipeline status. Ideal grounding context before reasoning.

get_regime_analysis

Current regime classification (trending, mean-reverting, volatile) with primary + secondary regime confidence scores.

get_macro_regime

Market-wide macro regime classification across all horizons. Returns regime label, confidence, breadth, and horizon alignment over time.

get_divergences

Cross-factor divergence alerts: distribution (bearish), capitulation (bullish), ignition (bullish). Detects when factor classes disagree — early warning of regime shifts.

get_price_history

Daily OHLCV candles for a single asset.

get_live_prices

15-minute refresh spot prices across all tracked assets.

search_assets

Full tracked universe with universe tags.

Execution context

Tool

What it does

get_asset_liquidity

Order book depth at 50 / 100 / 200 bp from mid, spot and optionally futures. Critical for sizing real-world execution.

CRYPTYX Challenge

An open, public leaderboard where AI trading agents compete using real CRYPTYX signals. Used by the community, and a great source of benchmarking context.

Tool

What it does

get_competition_rounds

List all competition rounds with rules, asset universe, and entry counts.

get_competition_leaderboard

Live leaderboard — ranked entries with Sharpe ratio, total return, max drawdown, composite score.


Factor classes

Code

Name

What it captures

CORR

Correlation

Cross-asset correlation dynamics, regime coupling

EFF

Efficiency

Market efficiency, mean reversion, trend exhaustion

FLOW

Flow

Capital flow, fund movement, stablecoin rotation

FUT

Futures

Derivatives positioning, funding rates, open interest, sentiment

OB

Order Book

Spot and futures depth, bid/ask imbalance, microstructure

OPT

Options

Implied volatility, skew, term structure (BTC/ETH scope)

TR

Trend

Price momentum, trend strength, regime transitions

VOL

Volatility

Realized and implied volatility dynamics, compression/expansion


Scale & data freshness

  • 670+ metrics defined across 8 factor classes

  • 160 signals (4 geometry types) + 17 IC-weighted composites

  • ~200 digital assets tracked daily (target: 500+)

  • 8 horizons: 1d, 7d, 14d, 30d, 60d, 90d, 180d, 365d

  • Daily pipelines:

    • Metrics: 01:20 UTC

    • Signals: 02:27 UTC

    • Evaluation scorecards: 02:45 UTC

    • Agent optimisation: 03:00 UTC

  • 15-minute refresh for spot prices and order book snapshots

  • Weekly data source discovery agent scans 12+ providers for new signals


Example prompts

Build a thesis from scratch:

Use CRYPTYX to find the top metrics by IC, build a multi-factor thesis combining trend momentum with funding stress, backtest it on BTC, then scan the universe for assets matching both conditions today.

Explain a signal firing:

What signals fired today? Pick the highest-confidence one and explain why it fired on that specific asset.

Fork and tune:

Fork the TR_WIN_RATE_60D_THR signal with a stricter z_threshold of 2.5, backtest both versions over the last 90 days, and tell me which one has better IC.

Regime-aware position sizing:

For my top 10 composite assets, what's the current regime? Size positions inversely to volatility regime — larger in trending, smaller in volatile.

Institutional trigger evaluation before acting (v0.8.0):

Evaluate the treasury_manager_classic preset on BTC. Only recommend acting if fires_now is true AND the evidence packet passes: Sharpe > 0.3, profit_factor > 1.5, sample_size > 50, walk-forward reliability grade = green. If it passes, tell me the recommended horizon; if not, tell me which condition failed.

Cross-factor regime shift detection (v0.8.0):

Run get_trigger_z_differential with metric_a_id=VOL_RV_7D, metric_b_id=VOL_RV_30D, operator=abs_gt, threshold=1.0 on ETH. If the differential is firing, cross-check the regime_context and rolling_30d_hit_rate before recommending any action.


x402 Pay-Per-Call

CRYPTYX also supports the x402 protocol for pay-per-call access — no API key, no signup. Your agent pays in USDC on Base per request.

Agent → GET /api/signals/catalog → 402 Payment Required (price + wallet)
Agent → signs gasless USDC transfer → retries with X-PAYMENT header
Server → verifies via CDP facilitator → settles on-chain → returns data

60 endpoints across 4 tiers: $0.01 (market data, signals, grounding), $0.05 (backtesting, conviction, trigger evaluation), $0.10 (trade ideas, heatmap), $0.25 (custom triggers, custom composites, natural-language intelligence query).

Full typed SDK: @cryptyx/x402-client — framework-agnostic wallet, budget enforcement, _next.hints chain helper. Framework adapters: @cryptyx/tool-schemas (OpenAI + Anthropic), @cryptyx/langchain-tools, @cryptyx/agentkit-tools.


License

MIT

Available Tools

21 tools
analyze_metricA

Single-metric z-score backtest with forward returns across 8 horizons (1d to 365d). The core factor discovery tool — test whether a metric has predictive power.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYesAsset symbol (e.g. BTC)
operatorYesZ-score comparison operator
metric_idYesMetric ID (e.g. TR_ADX_14D, VOL_GARCH_7D)
thresholdYesZ-score threshold value

TDQS

A4.3/5.0
Behavior4/5

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

In the absence of annotations, the description discloses key behavior: it performs a z-score backtest with forward returns, implying a read-only computation. However, it does not specify whether it is read-only or mention any side effects.

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 two sentences, front-loads the core action, and avoids unnecessary words. Every part contributes to understanding the tool's purpose.

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 description explains input and purpose well but is silent on output format or return values. Given no output schema, the agent lacks information on what the tool produces.

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?

With 100% schema coverage, the schema already documents parameters. The description adds value by explicitly mentioning 'z-score' and 'threshold', clarifying that threshold is a z-score threshold and connecting parameters to the tool's function.

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 performs a single-metric z-score backtest with forward returns across 8 horizons, positioning it as the core factor discovery tool. This distinguishes it from sibling tools like analyze_metrics_composite and backtest_signal.

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 it is the go-to tool for testing a single metric's predictive power, but does not explicitly state when not to use it or mention alternative tools for multi-metric or signal-based analysis.

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

analyze_metrics_compositeA

Multi-factor z-score intersection backtest. Define 2-4 metric conditions and see when ALL fire simultaneously, with forward returns at 8 horizons.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYesAsset symbol (e.g. BTC)
conditionsYesArray of 2-4 metric conditions

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions 'backtest' and 'forward returns at 8 horizons' but lacks details on resource consumption, data time range, or side effects. Without annotations, this is insufficient for safety assessment.

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, zero wasted words. First sentence summarizes core purpose, second adds operational details. Perfectly 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 tool's simplicity (2 params, no output schema), the description adequately covers purpose and behavior. It mentions 'forward returns at 8 horizons' to hint at output structure, but lacks details on edge cases or ordering. Still, it's sufficient for a basic understanding.

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%, but the description adds context: conditions are z-score thresholds, require 2-4 items, and must all fire simultaneously. This clarifies the 'conditions' array's purpose beyond the schema's field 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's a multi-factor z-score intersection backtest, specifying the verb 'backtest' and resource 'metric conditions'. It distinguishes from siblings like analyze_metric (single metric) and backtest_signal (signal-based) by focusing on multiple conditions firing together.

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 clear context: define 2-4 conditions and see when all fire, with forward returns. It implies when to use (multi-factor intersection) and hints at alternatives (single metric or signal backtesting) via sibling tools, but does not explicitly state when not to use.

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

backtest_signalA

Run a backtest for a signal over a date range. Returns per-day trigger counts and aggregate statistics (trigger rate, avg confidence). Essential for strategy optimization.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEnd date YYYY-MM-DD
fromYesStart date YYYY-MM-DD
dryrunNoIf true, evaluate without writing to signal_log (default false)
signal_idYesSignal ID (e.g. VOL_SPIKE, TR_PRICE_MOM_Z)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, so description carries full burden. Mentions outputs but omits side effects, permissions, or limitations (e.g., whether backtest writes to logs, read-only nature). Incomplete for a tool with no 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 sentences, no verbosity, front-loaded with purpose, then output details. Every sentence adds value.

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?

With no output schema, description partially explains return values (per-day counts, aggregate stats like trigger rate and avg confidence) but lacks details on other possible outputs, error handling, or data source assumptions. Adequate but could be more thorough.

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 documented. Description adds little beyond naming outputs, not enhancing parameter meaning. Baseline 3 maintained.

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 verb 'Run a backtest', resource 'signal', and scope 'over a date range'; specifies outputs (per-day trigger counts, aggregate statistics) and use case (strategy optimization). Distinguishes from siblings like simulate_signal.

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 from 'Essential for strategy optimization' but no explicit when-to-use or when-not-to-use guidance. No comparison with sibling tools like simulate_signal provided.

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

fork_signalA

Create a new inactive parameter variant of an existing signal. The forked version can be backtested without affecting the live signal. Requires approval to activate.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesNew parameter values as key-value pairs (e.g. { "z_threshold": 2.5 })
signal_idYesSignal ID to fork (e.g. VOL_SPIKE)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description carries full burden. It discloses that the fork is inactive and needs approval, and that it doesn't affect the live signal. However, it lacks details on persistence, side effects, or error conditions.

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: first sentence defines the action, second adds critical context about backtesting and activation. Every sentence is efficient and free of redundancy.

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 2 parameters and no output schema, the description covers the tool's purpose, its safe testing nature, and the activation requirement. Minor gaps exist (e.g., error handling, limits), but it is largely complete for a simple mutation 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 description coverage is 100%, so both parameters are documented. The description repeats the example from the schema for 'params' and does not add new meaning beyond what the schema already provides.

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 creates a new inactive parameter variant of an existing signal, using the verb 'create' and resource 'parameter variant of signal'. It distinguishes from siblings by specifying that the forked version can be backtested without affecting the live signal.

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 mentions that the fork is for backtesting and requires approval to activate, providing context. However, it does not explicitly state when not to use it or compare to alternatives like backtest_signal for direct backtesting without forking.

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

get_asset_liquidityA

Get order book depth data for an asset — bid/ask USD at 50/100/200bp from mid. Critical for assessing real-world execution costs.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays of history (default 0 = latest only)
assetYesAsset symbol (e.g. BTC)
includeNoSet to "futures" to include futures OB depth

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions the tool returns bid/ask at specific basis points from mid, which is partially transparent. However, it does not disclose whether the operation is read-only (presumed), any rate limits, error handling for missing assets, or the exact output structure. This leaves some behavioral aspects unclear, justifying a 3.

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 consists of two concise sentences. The first sentence states the tool's primary function, and the second adds importance. Every word is purposeful; there is no redundancy or extraneous information. It is well front-loaded and easy to parse.

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?

The tool has a simple input schema (3 parameters, 1 required) and no output schema. The description provides enough context for an agent to understand what the tool returns (bid/ask depth at specific price levels). While the exact output structure is not detailed, the description compensates sufficiently for a low-complexity tool. A higher score would require explicit output details.

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 the schema already explains each parameter adequately. The description adds overall context (purpose of depth data) but does not clarify parameter-specific semantics beyond what the schema provides. With high schema coverage, the baseline is 3, and the description does not significantly elevate 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 the tool's function: 'Get order book depth data for an asset — bid/ask USD at 50/100/200bp from mid.' It specifies the verb ('Get'), resource ('order book depth'), and scope ('bid/ask at specific price levels'). This distinguishes it from siblings like 'get_market_snapshot' which likely provides broader market data. The description is precise and non-tautological.

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 provides usage context: 'Critical for assessing real-world execution costs.' This implies the tool should be used when evaluating trade execution costs. However, it does not explicitly state when not to use it or mention alternatives among the sibling tools. While the guidance is clear and relevant, it lacks explicit exclusions or comparisons, so a 4 is appropriate.

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

get_competition_leaderboardA

Get the CRYPTYX Challenge leaderboard — ranked competition entries with Sharpe ratio, return, drawdown, and composite scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
sort_byNoSort column (default: composite_score)
round_idNoRound ID (default: round_1)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are present, so the description must fully convey behavioral traits. It only describes the output content (ranked entries with metrics) but omits details like read-only nature, authentication requirements, rate limits, or pagination. This is a significant gap.

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, well-structured sentence that front-loads the primary action and resource. Every word is informative, with no fluff or repetition.

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 no output schema, the description adequately explains the return value (ranked competition entries with specific metrics). It doesn't mention ordering or pagination, but overall it is sufficiently complete for a simple list 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 the schema already describes the two parameters (sort_by and round_id). The tool description adds no additional semantic meaning beyond what the schema provides, achieving the baseline score of 3.

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 verb 'Get' and the resource 'CRYPTYX Challenge leaderboard', and lists the key metrics included (Sharpe ratio, return, drawdown, composite scores). This distinguishes it from sibling tools like get_competition_rounds and get_composite_rankings.

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 when-to-use or when-not-to-use guidance is provided. The purpose is implied, but there is no mention of alternatives or exclusion criteria. A score of 3 reflects adequate but not explicit usage context.

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

get_competition_roundsA

List all competition rounds with rules, asset universe, and entry counts. Shows active and past rounds.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the scope (all rounds, active/past) and output fields. But lacks details on ordering, pagination, or authentication requirements. Since it's a simple list, a score of 3 is appropriate.

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 redundancy. Front-loaded with the action and resource, followed by specific content. Every word adds value.

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?

No output schema, but description explains the return content sufficiently for a list tool. Could mention ordering or whether filtering by round status is supported, but not critical.

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?

There are 0 parameters, so schema coverage is 100%. Description adds meaning by listing output fields (rules, asset universe, entry counts), which is valuable beyond the empty schema. Baseline for 0 params is 4.

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 the tool lists all competition rounds with specific content (rules, asset universe, entry counts) and includes both active and past rounds. It distinguishes from siblings like get_competition_leaderboard which focuses on individual round rankings.

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: when you need info about competition rounds. However, no explicit when-to-use or when-not-to-use compared to siblings like get_competition_leaderboard or other analysis tools.

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

get_composite_rankingsC

Get the full current-state snapshot optimized for AI agents: factor breadth, top/bottom composite rankings, signal trigger summary, and pipeline status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose read-only nature, authorization needs, rate limits, or any side effects. The tool is likely a read operation, but this is not stated.

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 with front-loaded key purpose ('Get the full current-state snapshot') and a concise list of contents. No wasted words, though the phrase 'optimized for AI agents' is somewhat vague and could be omitted or clarified.

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 no parameters and no output schema, the description lists the main components (factor breadth, rankings, triggers, status). However, it lacks details on output format, data freshness, or limitations. For a no-param tool, it is adequate but not thorough.

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?

No parameters exist, and schema coverage is 100%. Baseline 3 is appropriate as the description adds no parameter meaning since there are none. The description correctly implies no input is needed.

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 it returns a 'full current-state snapshot' with specific components (factor breadth, composite rankings, signal trigger summary, pipeline status). It distinguishes from siblings like get_factor_scores or get_signal_triggers by aggregating multiple aspects. However, it could be more explicit about how it differs from get_market_snapshot.

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 guidance on when to use this tool versus alternatives. The phrase 'optimized for AI agents' hints at context but does not specify scenarios or preferences over sibling tools like get_market_snapshot or get_factor_scores.

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

get_factor_scoresB

Get factor t-scores for an asset across 8 factor classes (CORR, EFF, FLOW, FUT, OB, OPT, TR, VOL) and multiple horizons.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays of history (default 90)
modeNosnapshot (latest) or series
assetYesAsset symbol (e.g. BTC, ETH)
horizonsNoComma-separated horizons (e.g. 7d,30d). Valid: 1d,7d,14d,30d,60d,90d,180d,365d

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must carry transparency burden. It only states it 'gets' data, implying read-only, but does not explicitly confirm idempotency, side-effects, or any behavioral traits like rate limits or data freshness.

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 of 16 words, front-loaded with verb and object, no redundant or extraneous information. 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 4 parameters, no output schema, and no annotations, description provides minimal context: lists factor classes and horizons but does not explain what factor t-scores represent, how to interpret results, or any limitations. Adequate but with clear 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% with individual parameter descriptions, so baseline is 3. Description adds context about factor classes and multiple horizons but repeats information already implied in schema (horizons enum). No additional clarification of parameter behavior or interactions.

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 uses a specific verb 'Get' and resource 'factor t-scores for an asset' with explicit enumeration of 8 factor classes (CORR, EFF, FLOW, FUT, OB, OPT, TR, VOL) and multiple horizons, clearly distinguishing from sibling tools which focus on metrics, signals, or liquidity.

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 guidance on when to use this tool versus alternatives like get_composite_rankings or get_regime_analysis. Lacks explicit when-not, prerequisites, or context for selection among 20 siblings.

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

get_live_pricesA

Get latest spot prices for all tracked assets (refreshed every 15 minutes). Useful for real-time context.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the 15-minute refresh interval, indicating staleness, and implies a read-only operation ('spot prices'). Additional details like rate limits or data availability would warrant a 5.

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, front-loaded with the verb and resource. Every word adds value. No redundancy or filler.

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 description omits output structure; it says 'latest spot prices' but doesn't describe format (e.g., map of asset to price). Since there is no output schema, the description should briefly indicate what the response looks like.

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?

There are zero parameters, so the baseline is 4. The description adds no parameter details, but none are needed since there are none.

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 the latest spot prices for all tracked assets, with a specific refresh interval. This distinguishes it from siblings like get_price_history (historical data) and get_market_snapshot (broader context).

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 notes it is 'useful for real-time context' but does not explicitly contrast with alternatives or state when not to use it. Given multiple sibling tools with overlapping purposes, clearer usage guidance would improve score.

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

get_market_pulseA

Get factor breadth and regime analysis across the entire asset universe. Shows how many assets are in positive/negative/neutral territory per factor class.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays of history (default 30)
classesNoComma-separated factor classes (e.g. TR,VOL)
horizonsNoComma-separated horizons (e.g. 7d,30d)

TDQS

A3.6/5.0
Behavior3/5

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

Without annotations, the description carries full burden but only describes what the tool returns. It does not disclose behavioral traits such as read-only nature, authentication requirements, or performance impact. The description is adequate but lacks depth.

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 superfluous information. The first sentence states the main purpose, and the second adds a concrete detail about the output. Every word earns its place.

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 tool with no required parameters and no output schema, the description adequately explains the output (counts per factor class) and implies the role of parameters. It could be more explicit about the exact data structure returned, but overall it is sufficient for the complexity level.

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 parameters are already documented. The description adds minimal extra meaning beyond the schema (e.g., hints that 'classes' relates to factor classes). 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 that the tool retrieves factor breadth and regime analysis across the entire asset universe, specifying what it shows (counts per factor class). It distinguishes itself from sibling tools like get_regime_analysis by focusing on breadth and factor classes.

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. The description does not mention scenarios, prerequisites, or exclusions, leaving the agent to infer usage from the name and description alone.

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

get_market_snapshotB

Get asset universe with composite scores, returns, and rankings. Returns top-ranked digital assets by CRYPTYX composite score.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays of history for series mode (default 30)
modeNosnapshot (latest) or series (time series)
assetsNoComma-separated asset symbols (e.g. BTC,ETH,SOL). Omit for all.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It mentions 'top-ranked' but does not define the ranking criteria, the number of results returned, or any limitations (e.g., default count, sorting). The output structure is also unexplained.

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 at two sentences, front-loaded with the core purpose. The second sentence adds specificity about top-ranked assets and the composite score, though it slightly repeats the first sentence. No unnecessary words.

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

Completeness2/5

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

Given the tool's three optional parameters, no output schema, and many sibling tools, the description is insufficient. It does not explain the output format, how to use the 'mode' parameter, or when to specify assets. Additional context about the ranking criteria or result limits would improve completeness.

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 each parameter having a description. The description adds no extra meaning beyond the schema, so it meets the baseline but does not enhance understanding of how parameters interact (e.g., days only applies in series mode).

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 an asset universe with composite scores, returns, and rankings, specifically for top-ranked digital assets using the CRYPTYX composite score. This distinguishes it from sibling tools like get_composite_rankings and get_market_pulse.

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 lacks guidance on when to use this tool versus alternatives. It does not explain the purpose of the 'mode' parameter (snapshot vs series) or how specifying assets affects the output, leaving the agent to infer usage.

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

get_price_historyA

Get daily OHLCV candle data for a single asset. Useful for backtesting and charting.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays of history (default 90)
assetYesAsset symbol (e.g. BTC)

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions daily OHLCV data, but lacks details on error handling, rate limits, or return format.

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 succinct sentences with front-loaded purpose. No unnecessary 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 simple historical data tool with 2 params and no output schema, description covers purpose and use case adequately. Could mention response details but sufficient.

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 baseline is 3. Description adds 'useful for backtesting' but does not enrich parameter meaning beyond 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 'Get daily OHLCV candle data for a single asset', specifying verb, resource, and scope. Distinguishes from siblings like get_live_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?

States 'Useful for backtesting and charting', providing context for use. No explicit alternatives, but implied differentiation from live data tools.

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

get_regime_analysisA

Get the current regime classification for an asset (e.g. trending, mean-reverting, volatile). Includes primary and secondary regime with confidence scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoDays of history (default 90)
modeNosnapshot (latest) or series
assetYesAsset symbol (e.g. BTC)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only lists output content (regime types, confidence) but omits any behavioral traits (read-only, authentication, rate limits, caching behavior, or potential side effects). This is insufficient for safe invocation.

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, front-loaded with the core purpose, then details. No extraneous information. Every sentence adds value.

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 description explains the output content (regime with confidence) but lacks error handling, rate limits, and context on whether the output is for a single asset or can be batched. With no output schema, the description could be more detailed. It is adequate but has clear 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 description coverage is 100% (all three parameters documented). The description adds no additional meaning beyond the schema; it does not clarify parameter interactions (e.g., effect of mode on output) or provide usage examples. 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 it retrieves the current regime classification (trending, mean-reverting, volatile) and includes primary/secondary regimes with confidence scores. This verb-resource pair is distinct from sibling tools like get_market_pulse or analyze_metric.

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 this tool is for regime classification, but it does not explicitly state when to use versus alternatives (e.g., for short-term vs long-term regimes) or when not to use it. No exclusions or alternative tools are mentioned.

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

get_signal_catalogA

List all active signals with their parameters and 30-day trigger statistics. Useful for understanding available signals before backtesting.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must carry full behavioral weight. It correctly implies a read-only operation and describes the output (parameters and trigger stats). However, it lacks details on pagination, rate limits, or auth requirements.

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 key information is front-loaded, making it easy for an agent to quickly understand the tool's purpose and value.

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 zero parameters and no output schema, the description covers the main purpose and return content adequately. It could mention result format or limits, but is sufficient for a simple listing tool.

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?

The tool has zero parameters and 100% schema coverage. The description adds value by specifying that it lists active signals with their parameters and trigger statistics, which is meaningful context beyond the empty 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 clearly states the tool lists active signals with parameters and trigger statistics, using a specific verb and resource. It distinguishes itself from sibling tools like backtest_signal or get_signal_triggers by focusing on the catalog aspect.

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 mentions usefulness before backtesting, providing clear usage context. However, it does not specify when not to use or list alternatives, which would be ideal.

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

get_signal_explanationA

Get a structured explanation of why a specific signal fired (or did not fire) for a given asset on a given day. Returns factor scores and composite context.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayYesDate in YYYY-MM-DD format
assetYesAsset symbol (e.g. BTC)
signal_idYesSignal ID (e.g. VOL_SPIKE, CORR_BREAKDOWN)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns factor scores and context, but it does not mention whether it is read-only, authentication requirements, or any side effects. The behavior is implicitly a read operation, but not explicitly.

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 immediately conveys the tool's purpose and key aspects. Every word adds value without any redundancy. It is appropriately front-loaded with the action and resource.

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 no output schema, the description hints at the return value ('factor scores and composite context'), which is helpful but could be more complete about the structure of the explanation. For a tool with three required parameters and common signal analysis context, it provides sufficient context to use it, but lacks details on the response format.

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 baseline is 3. The description does not add new semantic details about the individual parameters beyond what the schema already provides (date format, asset symbol, signal ID). It restates the purpose but does not clarify data types, formats, or allowed values.

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 verb 'Get' and the resource 'structured explanation of why a specific signal fired', and it uniquely distinguishes itself from siblings by specifying the three key parameters (signal_id, day, asset) and the return of 'factor scores and composite context'.

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 indicates the tool is for retrieving explanations of signal firing, but it does not explicitly state when to use it over alternatives like 'get_factor_scores' or 'get_signal_triggers'. No when-not-to-use guidance is provided, so it meets a minimal standard but lacks differentiation.

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

get_signal_triggersB

Get today's active signal firings across all assets. Returns both atomic signals and composite rollups with confidence scores.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It does not disclose behavioral traits such as whether the data is live or cached, timezone assumptions, rate limits, or what happens when there are no active triggers. The term 'today's' is vague without a definition of the time boundary.

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 two sentences, each adding distinct information. It is front-loaded with the core purpose and efficiently adds detail without any redundant words.

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?

For a no-parameter tool with no output schema, the description covers the essential purpose and return types. However, it lacks context on timezone, data freshness, or error handling, making it minimally adequate but not thoroughly complete.

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?

There are no parameters, so schema coverage is 100%. The description adds value by explaining the return content (atomic signals and composite rollups with confidence scores), which is not present in the empty 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?

The description clearly states the tool returns today's active signal firings across all assets, with both atomic signals and composite rollups. It is specific enough to distinguish from siblings like 'get_signal_catalog' (which lists signals) and 'get_signal_explanation' (which explains a signal), though not explicitly contrasting them.

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 guidance on when to use this tool versus alternatives. For instance, it does not mention that only today's triggers are returned, nor that historical data requires a different tool. There is no mention of prerequisites or exclusions.

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

scan_metric_universeA

Scan a metric across all ~200 assets for z-score extremes on the latest day. Returns ranked results with forward returns at 1d/7d/30d horizons.

ParametersJSON Schema
NameRequiredDescriptionDefault
operatorYesZ-score comparison operator
metric_idYesMetric ID to scan
thresholdYesZ-score threshold value

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool 'scans all ~200 assets' and 'returns ranked results with forward returns', but does not mention behavioral traits like read-only status, rate limits, or data freshness. Adequate but not rich.

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 concisely convey the action, scope, and output. No filler words; each sentence adds essential information. Front-loads 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 3 simple parameters and no output schema, the description provides a solid overview: it explains what the tool does, the scope (all 200 assets), and the output (ranked results with forward returns at three horizons). Missing details like result format or pagination, but adequate for a scanning 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%, so the schema already documents all parameters (metric_id, operator, threshold) with descriptions. The description mentions 'z-score extremes' and 'threshold' implicitly but adds no new semantic meaning beyond the schema. 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?

The description clearly states the verb 'scan', the resource 'metric across all ~200 assets', and the specific purpose 'z-score extremes on the latest day'. It distinguishes from siblings like 'analyze_metric' by specifying the universe-wide scope and time horizon.

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 scanning z-score extremes, but provides no explicit guidance on when to use it versus alternatives like 'analyze_metric' or 'backtest_signal'. Users have to infer usage from the description.

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

search_assetsB

List all tracked assets in the CRYPTYX universe with their universe tags.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states the action and result ('list all tracked assets with tags'), but omits details like response format, pagination, rate limits, or performance implications.

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 efficient sentence with no wasted words. However, it is very brief and could benefit from slightly more detail about the output or usage context.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should explain the return format or key fields. It only mentions 'universe tags' but does not specify what properties each asset object contains, making it incomplete for an agent to process results effectively.

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?

There are zero parameters, so the baseline is 4. The description adds no parameter info, but none is needed since the schema coverage is 100% (vacuously).

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 assets with their universe tags, using a specific verb ('List') and resource ('tracked assets in the CRYPTYX universe'). It distinguishes from sibling tools by focusing on assets rather than metrics or signals.

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 guidance is provided on when to use this tool versus alternatives (e.g., scan_metric_universe for metrics). There is no mention of context, prerequisites, 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.

simulate_signalB

Estimate the trigger rate if a signal threshold were changed. Compares proposed threshold against current active threshold without making changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
asof_dayNoDate to simulate on (YYYY-MM-DD, default latest)
signal_idYesSignal ID (e.g. VOL_SPIKE)
threshold_keyYesParameter key to simulate (e.g. z_threshold)
threshold_valueYesProposed threshold value

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It correctly states the tool is non-destructive ('without making changes'), but does not disclose other behavioral traits such as required permissions, rate limits, or whether it uses real-time or historical data.

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 two sentences with no redundant words. It is front-loaded and efficient, conveying the core purpose and behavior without waste.

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 4 parameters and no output schema. The description explains the simulation concept but does not specify what the output is (e.g., estimated trigger rate, comparison details) or any limitations. It is adequate but not thorough.

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 already documents each parameter. The description adds minor context by mentioning 'proposed threshold' and 'current active threshold', but does not significantly enhance understanding beyond 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?

The description clearly states the tool estimates trigger rate for a threshold change, with the verb 'estimate' and resource 'trigger rate'. It also clarifies it does not make changes, distinguishing its intent, though it does not explicitly name sibling alternatives.

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 like backtest_signal. The phrase 'without making changes' implies it is for what-if analysis, but lacks clear context or exclusions.

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. 21 tool updatesv0.1.0
    • First observedanalyze_metric
    • First observedanalyze_metrics_composite
    • First observedbacktest_signal
    • First observedfork_signal
    • First observedget_asset_liquidity
    • First observedget_competition_leaderboard
    • First observedget_competition_rounds
    • First observedget_composite_rankings
    • First observedget_factor_scores
    • First observedget_featured_metrics
    • First observedget_live_prices
    • First observedget_market_pulse
    • First observedget_market_snapshot
    • First observedget_price_history
    • First observedget_regime_analysis
    • First observedget_signal_catalog
    • First observedget_signal_explanation
    • First observedget_signal_triggers
    • First observedscan_metric_universe
    • First observedsearch_assets
    • First observedsimulate_signal

TDQS

A3.7/5.0

Scored across 21 tools

Disambiguation5/5

Each tool targets a distinct aspect of crypto analysis: single vs multi-metric analysis, signal management, different market data types, competition info, and factor scores. Even similar tools like 'get_market_pulse' and 'get_regime_analysis' have clear scope differences (broad vs per-asset).

Naming Consistency4/5

Most tools follow a 'verb_noun' pattern, with 'get_' dominating (13/21). A few use different verbs like 'analyze_', 'backtest_', 'fork_', 'simulate_', 'scan_', 'search_', but the pattern is still readable and predictable.

Tool Count5/5

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

Completeness4/5

The toolset covers core workflows: factor testing, signal backtesting, market scanning, competition info, and liquidity. Minor gaps exist (e.g., no direct signal creation, no competition entry submission), but agents can work around them.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    AI-powered crypto signal intelligence for 20 assets (BTC, ETH, SOL, etc). 6 scoring dimensions: whale activity, technical analysis, derivatives flow, narrative strength, sentiment, market structure. Market regime detection (TRENDING/RANGING), portfolio optimization, and accuracy tracking. 9 read-only MCP tools. Free via MCP, $0.001 USDC via x402 on Base for REST API.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Financial intelligence for AI agents. 31 tools across 8 data sources — regime, derivatives, stablecoin flows, momentum, volatility, macro, DeFi, weather patterns, political cycles, seasonality. The context layer between your agent and a bad trade.
    31
    9 npm
    9
    MIT