Skip to main content
Glama

Quick start (30 seconds)

No code. No API key. No install. The server speaks Streamable HTTP at https://api.algovault.com/mcp — any Model Context Protocol client connects directly.

1. Add the connector. In Claude → Settings → Connectors → Add custom connector:

Field

Value

Name

Crypto Quant Signal

URL

https://api.algovault.com/mcp

Add Connector

2. Ask for a call. In plain language:

"Get me a trade call for ETH on the 4h timeframe"

BTC trade call response — Binance, 1h

Your Claude now has a quant analyst built in. Prefer local? Run npx -y crypto-quant-signal-mcp.

Running locally on npm 12+? npm v12 disables dependency install scripts by default. AlgoVault's optional local SQLite mode uses the native better-sqlite3 module — if you install it into a project, run npm approve-scripts (or npm install --allow-scripts) to build it. The hosted HTTP transport (api.algovault.com/mcp) needs no local build.


Related MCP server: Web3 Signals — Crypto Signal Intelligence

What one call returns

One API call. One verdict. Not 8 raw indicators. get_trade_call returns a directional BUY / SELL / HOLD with a confidence score and the detected market regime — a composite verdict, not a data dump for your agent to interpret.

Under the hood, a self-tuning model fuses momentum, trend structure, derivatives positioning, open interest, and volume into one weighted call. Every call reports market regime — trending, ranging, or volatile — alongside direction and confidence. Directional calls fire only when conviction clears the threshold; roughly 99% of evaluations return HOLD.

{
  "call": "BUY",
  "confidence": 78,
  "price": 84250.50,
  "indicators": {
    "funding_rate": 0.0001,
    "funding_24h_avg": 0.00008,
    "funding_state": "NORMAL",
    "oi_change_pct": 2.4,
    "volume_24h": 2381602633,
    "trend_persistence": "HIGH",
    "breakout_pending": "INACTIVE"
  },
  "regime": "TRENDING_UP",
  "reasoning": "Trending regime, upward bias. Funding pressure mild. Volatility neither expanding nor compressed. Trend persistence elevated; momentum structure. Strong conviction from aligned signals.",
  "timestamp": 1712764800,
  "coin": "BTC",
  "timeframe": "1h",
  "also_see": [
    { "coin": "ETH", "timeframe": "1h", "confidence": 82 },
    { "coin": "SOL", "timeframe": "15m", "confidence": 73 }
  ],
  "_algovault": {
    "version": "1.30.0",
    "tool": "get_trade_call",
    "compatible_with": []
  }
}

The _algovault block is the envelope every tool response carries: the server version, the tool that answered, your quota, and compatible_with — the companion packages that accept this object directly. It projects from a machine-verified registry, so it lists a package only once that package is published and runnable. It is [] today, and that is the truthful answer: there is no companion package yet.


Live, verifiable track record

The full record is public and on-chain — no cherry-picking, no survivorship bias:

AlgoVault is also a verified agent on the ERC-8004 Identity Registry (Base L2), agentId 44544 — a portable, on-chain handle AI orchestrators can resolve.


Works with your stack

AlgoVault is drop-in for every MCP-spec client, every major agent framework, and every official exchange Agent Trade Kit — no SDK, no wrapper. It serves Streamable HTTP at https://api.algovault.com/mcp; tools/list + resources/list is the API surface.

MCP clients.

Client

Config

Claude Desktop

Settings → Connectors → Add custom connector → https://api.algovault.com/mcp

Claude Code (CLI)

claude mcp add crypto-quant-signal https://api.algovault.com/mcp

Cursor

~/.cursor/config.jsonmcpServers block → url: "https://api.algovault.com/mcp"

Cline

VS Code Cline extension → MCP server settings → add Streamable HTTP server

Codex (OpenAI CLI)

~/.codex/config.toml[mcp_servers.algovault] table + url = "https://api.algovault.com/mcp" (or codex mcp CLI)

Windsurf

~/.codeium/windsurf/mcp_config.jsonmcpServers.algovault.serverUrl = "https://api.algovault.com/mcp"

Continue.dev

config.yamlmcpServers: [{ name: algovault, type: streamable-http, url: "https://api.algovault.com/mcp" }]

Any other MCP-spec-compliant client

Configure the Streamable HTTP transport with URL https://api.algovault.com/mcp

Agent frameworks. First-party tutorials pair AlgoVault with each framework's canonical MCP adapter — copy-pasteable demo code, no SDK.

Each demo is runnable as python examples/<framework>/demo.py BTC 4h — gets a real BUY/SELL/HOLD verdict from api.algovault.com/mcp, prints it. ≤5 minutes to first call.

Exchange Agent Trade Kits. AlgoVault returns the analytics; your agent's risk policy decides what to execute. All demos run testnet/demo only. For Binance, the Agent OS path is the recommended default for new integrations — OAuth at connect time, no API keys on the machine; the key-based kit remains right for custom order types.


Tools & resources

The MCP tools live at https://api.algovault.com/mcp. Every asset works across the full supported timeframe range, on major crypto perpetual venues.

  • get_trade_call (alias get_trade_signal) — composite BUY/SELL/HOLD verdict with confidence + regime, any asset, any timeframe.

  • scan_trade_calls — scans the top-N perps by open interest on a venue; returns every actionable call in one shot.

  • scan_funding_arb — cross-venue funding-rate spreads across 7 venues (Hyperliquid, Binance, Bybit, Gate, KuCoin, Aster, OKX), ranked. The only MCP server doing multi-exchange derivatives arbitrage.

  • get_market_regime — classifies TRENDING_UP / TRENDING_DOWN / RANGING / VOLATILE for strategy selection.

  • search_knowledge + chat_knowledge — free BM25 search and grounded Q&A over the full knowledge bundle.

  • get_track_record — the published track record as a tool call, for clients that bridge tools but not resources. include opens the per-asset, per-venue and recent-call sections.

Performance is exposed as a read-only MCP resource: performance://signal-performance (aggregated PFE win rate, never raw outcomes). Full parameter reference at algovault.com/docs.

Skills (20 ready-to-use Anthropic Agent Skills)

Single-prompt wrappers over 1–3 tool calls — regime gating, multi-timeframe consensus, funding-arb monitoring, and more. Install with claude plugin install AlgoVaultLabs/algovault-skills; browse at algovault.com/skills.

#

Slug

Name

Difficulty

Tools

01

quick-btc-check

Quick BTC Check

Beginner

get_trade_signal

02

portfolio-scanner

Portfolio Scanner

Intermediate

get_trade_signal

03

regime-aware-trading

Regime-Aware Trading

Intermediate

get_market_regime, get_trade_signal

04

funding-arb-monitor

Funding Arb Monitor

Intermediate

scan_funding_arb

05

full-3-tool-pipeline

Full 3-Tool Pipeline

Advanced

get_market_regime, get_trade_signal, scan_funding_arb

06

multi-timeframe-confirmation

Multi-Timeframe Confirmation

Advanced

get_trade_signal

07

tradfi-rotation

TradFi Rotation

Advanced

get_market_regime, get_trade_signal

08

risk-gated-entry

Risk-Gated Entry

Advanced

get_market_regime, get_trade_signal

09

funding-sentiment-dashboard

Funding Sentiment Dashboard

Advanced

get_market_regime

10

contrarian-meme-scanner

Contrarian Meme Scanner

Advanced

get_market_regime, get_trade_signal

11

divergence-detector

Divergence Detector

Advanced

get_market_regime, get_trade_signal

12

hourly-digest-bot

Hourly Digest Bot

Advanced

get_trade_signal, get_market_regime

13

hedging-advisor

Hedging Advisor

Advanced

get_market_regime, get_trade_signal, scan_funding_arb

14

volatility-breakout-watch

Volatility Breakout Watch

Advanced

get_market_regime, get_trade_signal

15

cross-asset-correlation

Cross-Asset Correlation

Advanced

get_trade_signal

16

funding-cash-and-carry

Funding Cash-and-Carry

Advanced

scan_funding_arb, get_trade_signal

17

weekend-vs-weekday-patterns

Weekend vs Weekday Patterns

Research

get_trade_signal, get_market_regime

18

agent-portfolio-rebalance

Agent Portfolio Rebalance

Advanced

get_market_regime

19

smart-dca-bot

Smart DCA Bot

Advanced

get_trade_signal

20

multi-agent-war-room

Multi-Agent War Room

Expert

get_market_regime, get_trade_signal, scan_funding_arb


Pricing

Quota-only tiers. Every tier gets all venues, all assets, all timeframes — you pay for call volume, nothing else.

Two meters per paid tier, monthly and daily, enforced independently: a call is refused when either is exhausted, and the daily window is a UTC calendar day resetting at 00:00 UTC. Quota is counted per call, regardless of verdict.

Feature

Free

Starter ($9.99/mo · $39.90/6mo)

Pro ($49/mo · $129/6mo)

Enterprise (contact us)

x402 (per call)

Exchanges

All 15

All 15

All 15

All 15

All 15

Assets

All 740+

All 740+

All 740+

All 740+

All 740+

Asset classes

Crypto + TradFi

Crypto + TradFi

Crypto + TradFi

Crypto + TradFi

Crypto + TradFi

Timeframes

All 11

All 11

All 11

All 11

All 11

Funding arb results

Top 5

Unlimited

Unlimited

Unlimited

Unlimited

Track record

Full access

Full access

Full access

Full access

Full access

Monthly calls

200/mo

10,000/mo

100,000/mo

Custom volume — contact us

Unlimited

Daily calls

100/day

1,000/day

10,000/day

Custom volume — contact us

Unlimited

Price

$0

$9.99/mo or $39.90/6mo

$49/mo or $129/6mo

Contact us

$0.01–0.05/call

Subscriptions: Sign up at api.algovault.com/signup. Starter unlocks 10,000 calls/mo (up to 1,000/day) for $9.99/mo, or $39.90 for six months prepaid — add ?interval=6month to pick the prepay term. API key delivered instantly after checkout.

Pro 6-month is currently $129 — limited-time pricing; subscribe now and renewals keep your price.

x402 micropayments: AI agents pay per HTTP call with USDC on Base — no signup, no API key, no billing. The payment receipt is the credential. See x402.org.


What's new in v1.30.0

  • 🔑 Your key, one click away. Every tool response that carries an auth block now returns claim_url and claim_hint in the _algovault envelope — a direct link to keep the key you are already using, and a heads-up before you reach the cap.

  • 💵 Six-month pricing is machine-readable. GET /api/plans/public gains price_usd_6month on every tier, so a client can render prepay pricing instead of hardcoding it.

  • 🤝 Enterprise is quoted, not published. The plans endpoint now returns null for Enterprise price and limits rather than a fixed figure. No key was removed — the values are null.

Upgrading from v1.29.x — nothing breaking, but one value changed: if you rendered an Enterprise price from GET /api/plans/public, it is now null and Enterprise is quoted directly. Every tier key is still present. Two response fields were added, no tool was added or renamed.

v1.29.x highlights (recap)

  • 📊 The track record is a tool, not only a resource. get_track_record returns the same verified aggregate as performance://signal-performance, so a harness that bridges tools but not resources can read it.

  • ✋ HOLD means HOLD. When a book is not currently trading, the call returns HOLD instead of a direction, and the reasoning says so and says when it resumes.

  • 🔓 Allowances are machine-readable. GET /api/plans/public returns the current free and paid call limits, unauthenticated.

v1.28.x highlights (recap)

  • 🔐 Authentication tells you what happened. Every response carries _algovault.auth. A well-formed but unrecognised key is refused instead of being quietly served free-tier data, and "malformed", "unknown" and "we couldn't verify" are three distinct outcomes.

  • 📘 Two parameters that were always there, now documented. assetClass on the trade-call tools and minLiquidityUsd on scan_trade_calls, both projected from the live schema so the docs cannot drift from the server.

  • 🤝 Pair with Binance Agent OS. One MCP client, two servers: AlgoVault returns the verdict, Binance Agent OS executes it. OAuth at connect time — no API keys on your machine, and trading confined to a sub-account you fund yourself.

Refresh your MCP client to pick up this release. MCP clients cache tools/list at session start — Claude.ai/Desktop: toggle the connector off+on; Cursor/Cline: restart the MCP server connection.


Privacy

Local mode: zero telemetry — call history stays on your machine. Remote mode: request metadata logged for analytics (IP hashed, never stored raw). See the privacy policy.

License

MIT


Disclaimer: AlgoVault provides directional entry interpretation for AI agents. Exit timing is determined by your agent or strategy. This is not financial advice. Past performance does not guarantee future results.

Available Tools

8 tools
chat_knowledgeA
Read-only
Inspect

Returns a synthesized natural-language answer with citations, grounded in the AlgoVault knowledge bundle (every MCP tool description, response shape, integration tutorial, and code example). Use when you need an explanation, code pattern, or how-to; for raw ranked snippets without LLM synthesis use search_knowledge (faster, no quota cost). Read-only: calls an LLM, no other side effects. Quota: Free 10/month, Starter 50, Pro 200, Enterprise 2000.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoOptional model override (default claude-haiku-4-5-20251001).
questionYesNatural-language question (5-500 chars).

TDQS

A4.7/5.0
Behavior5/5

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

Despite annotations already declaring read-only, the description adds valuable operational context beyond them: it calls an LLM (implying cost/latency), has no other side effects, and lists specific quota limits per plan (Free 10, Starter 50, Pro 200, Enterprise 2000). This exceeds the annotation baseline.

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 three concise sentences, each with a distinct purpose: what it does, when to use it (and when not), and operational constraints (read-only, quota). No redundant or filler content.

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?

The description, combined with a fully documented schema and annotations, covers the tool's return type, use cases, alternatives, quota, and safety profile. Since there is no output schema, the explicit mention of 'synthesized natural-language answer with citations' sufficiently communicates the expected response.

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 provides 100% coverage for both parameters (question with length constraints, model with enum options). The description adds no additional parameter semantics, which is the expected baseline when schema coverage is high.

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 uses a specific verb ('Returns'), identifies the resource ('AlgoVault knowledge bundle'), and specifies the output ('synthesized natural-language answer with citations'). It also explicitly distinguishes the tool from the sibling search_knowledge by contrasting LLM synthesis vs. raw ranked snippets.

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?

Clear usage guidance is provided: 'Use when you need an explanation, code pattern, or how-to', and an explicit alternative is named ('for raw ranked snippets without LLM synthesis use search_knowledge'), including the trade-off that it is faster and has no quota cost.

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

get_market_regimeA
Read-only
Inspect

Returns the market regime — TRENDING_UP TRENDING_DOWN RANGING VOLATILE — with confidence and a strategy hint, for one crypto perpetual futures. Composite verdict: trend ranging + cross-venue funding rate. Read-only, live exchange APIs. Verified track record: get_track_record or performance://signal-performance; on-chain verified merkle anchor.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesBase asset crypto signal, e.g. BTC ETH SOL signal. Crypto quant regime.
exchangeNoCrypto venue, e.g. Binance Bybit OKX Bitget Hyperliquid. Multi-exchange.HL
timeframeNoCandle timeframe, e.g. 1h 4h 1d. Buy sell hold AI trading signal context.4h

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only, live exchange APIs.' It adds useful behavioral context beyond the annotations: the verdict is composite of trend/ranging and cross-venue funding rate, and the output includes confidence and a strategy hint. It does not cover rate limits or failure modes, but with annotations present the safety profile is sufficiently disclosed.

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 and front-loads the key deliverable: the market regime values, confidence, and strategy hint. The verification sentence is dense but not bloated, and there is no redundant padding.

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 read-only retrieval tool with three well-documented parameters and no output schema, the description supplies the return values, confidence, strategy hint, and composite methodology. It lacks explicit sibling routing and exact response structure, but those gaps are minor given the schema enum coverage and annotations.

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 baseline is 3. The description adds little about the exact parameters beyond limiting the tool to a single crypto perpetual futures asset. It does not add syntax, default semantics, or parameter-specific guidance beyond what the schema already provides.

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 names a specific verb ('Returns'), the resource ('market regime'), the possible output values, and the asset scope ('crypto perpetual futures'). It does not explicitly differentiate itself from siblings like get_trade_signal or get_trade_call, but the regime-value list makes the core purpose clear.

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 context 'for one crypto perpetual futures' implies when the tool is relevant, and 'Read-only, live exchange APIs' clarifies the nature of the call. However, there is no explicit guidance about when to use this tool versus alternatives, and the get_track_record mention is about validating track record rather than choosing between tools.

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

get_track_recordA
Read-only
Inspect

Returns the AlgoVault track record — aggregated PFE win rates by call type, timeframe and asset tier, plus the evaluation methodology and window. The same verified aggregate the performance://signal-performance resource serves, callable from harnesses that bridge tools only. Defaults to the compact aggregate; use include for the per-asset, per-venue or recent-signal breakdowns. Read-only, no side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoOptional extra sections: byAsset, byExchange, recentSignals. Omit for compact.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false; the description reinforces this with 'Read-only, no side effects.' It adds useful behavior beyond annotations: compact-by-default output, optional breakdown sections, and the fact that the same aggregate is served by performance://signal-performance. 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?

Three sentences, each earning its place: purpose/content, alternative-resource context, and parameter/default behavior. The key return content is front-loaded before the include guidance, and there is no filler.

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 read-only aggregate tool with no output schema, the description tells the agent what data is returned (PFE win rates, methodology, window), how to control detail with include, and that it is safe to call. The annotations cover the safety profile, and no essential call-time behavior is missing.

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 schema already documents the single include parameter with enum values and the 'Omit for compact' guidance, so description coverage is 100% and the bar is lower. The description adds mild semantic color by calling byExchange 'per-venue' and framing the values as breakdown sections, but it does not substantially extend 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 opens with a specific verb and resource ('Returns the AlgoVault track record') and specifies the exact contents: aggregated PFE win rates by call type, timeframe, and asset tier, plus methodology and window. This clearly distinguishes it from sibling tools like get_trade_call and get_trade_signal, which return individual calls/signals rather than an aggregate record.

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?

It states when the compact default is appropriate and when to use the include parameter for per-asset, per-venue, or recent-signal breakdowns. It also notes the performance://signal-performance equivalence and harness-only callability. It does not explicitly name exclusion cases or sibling alternatives, but the usage 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_trade_callA
Read-only
Inspect

Returns a composite verdict — BUY SELL HOLD trade call with confidence and market regime — for one crypto or tokenized-stock perpetual futures. One asset only; whole-market scan: scan_trade_calls. Read-only: live exchange APIs, no orders. Verified track record: get_track_record or performance://signal-performance; on-chain verified merkle anchor.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesBase asset, e.g. BTC ETH SOL signal, or a US stock/ETF ticker (no USDT).
exchangeNoCrypto venue (default Binance), e.g. Binance Bybit OKX Bitget Hyperliquid.
timeframeNoCandle timeframe, 1m to 1d. Default 15m. Crypto quant intraday horizon.
assetClassNoForce engine: 'perp' or 'equity'. Cross-venue multi-exchange AI trading signal.
includeReasoningNoInclude reasoning: trend ranging crypto signal and market regime drivers.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark the tool read-only and non-destructive; the description reinforces this with 'live exchange APIs, no orders,' which adds operational context beyond the hints. It also discloses the verified-provenance angle with get_track_record and the on-chain merkle anchor. No contradiction with annotations.

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

Conciseness4/5

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

Three compact sentences front-load the core behavior and scope before routing to alternatives. The track-record sentence is marginally tangential but still informative, and there is no real padding.

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 read-only lookup with rich schema coverage, the description covers purpose, scope, alternative, and safety in a compact way. Without an output schema, it gives the main elements of the return (verdict, confidence, market regime) but not a complete response shape; still sufficient to call correctly with just the coin parameter.

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 each parameter already has descriptive text with defaults and examples. The description adds only the one-asset constraint and the composite-verdict framing, not new parameter-level semantics, so the schema carries the weight.

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 first sentence names a specific verb and resource: returns a composite BUY/SELL/HOLD verdict with confidence and market regime for a single perpetual-futures asset. It also explicitly contrasts with the whole-market scan sibling scan_trade_calls, so an agent can distinguish the tool without opening the schema.

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 'One asset only; whole-market scan: scan_trade_calls' sentence gives an explicit alternative and the condition that selects it. However, it does not explain how to choose between get_trade_call and the similarly named get_trade_signal, leaving that distinction implied rather than stated.

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

get_trade_signalA
Read-only
Inspect

Returns a composite verdict — BUY SELL HOLD trade call with confidence and market regime — for one crypto or tokenized-stock perpetual futures. One asset only; whole-market scan: scan_trade_calls. Read-only: live exchange APIs, no orders. Verified track record: get_track_record or performance://signal-performance; on-chain verified merkle anchor. [ALIAS] This tool is an alias of get_trade_call — same behavior, kept for backward compatibility. Prefer get_trade_call for new integrations.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYesBase asset, e.g. BTC ETH SOL signal, or a US stock/ETF ticker (no USDT).
exchangeNoCrypto venue (default Binance), e.g. Binance Bybit OKX Bitget Hyperliquid.
timeframeNoCandle timeframe, 1m to 1d. Default 15m. Crypto quant intraday horizon.
assetClassNoForce engine: 'perp' or 'equity'. Cross-venue multi-exchange AI trading signal.
includeReasoningNoInclude reasoning: trend ranging crypto signal and market regime drivers.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds that it queries 'live exchange APIs, no orders', discloses alias equivalence with get_trade_call, and mentions a verified track record. This adds useful behavioral context beyond annotations, though it could detail latency or failure modes.

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 main output is front-loaded in the first sentence. Subsequent sentences each serve a purpose: scope, whole-market alternative, read-only safety, verification, and alias. It is dense but not bloated; the 'performance://signal-performance' reference is slightly cryptic but still 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 five parameters, no output schema, and informative annotations, the description covers the return shape (BUY/SELL/HOLD, confidence, market regime), single-asset input, read-only behavior, and alias relationship. It could add default exchange/timeframe behavior or response structure details, but the current context is sufficient for correct invocation.

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?

Input schema coverage is 100%, so the baseline is already satisfied. The description adds meaning by clarifying 'One asset only' and 'crypto or tokenized-stock perpetual futures', which usefully constrains the coin and assetClass parameters beyond the schema examples.

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 opens with a specific verb and resource: 'Returns a composite verdict — BUY SELL HOLD trade call with confidence and market regime — for one crypto or tokenized-stock perpetual futures.' It explicitly distinguishes itself from scan_trade_calls ('One asset only; whole-market scan') and identifies the alias get_trade_call, so sibling confusion is minimized.

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 states single-asset scope and routes whole-market scans to scan_trade_calls. It also points to get_track_record/performance://signal-performance for verification and advises preferring get_trade_call for new integrations, giving clear when-to-use and alternative guidance.

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

scan_funding_arbA
Read-only
Inspect

Ranked cross-venue funding arbitrage across major crypto perpetual futures venues — funding rate spreads, long one venue short another, as a BUY SELL HOLD composite verdict per pair. AI trading signal for crypto quant and Claude trading agents. Trade call via get_trade_call, market regime via get_market_regime. On-chain verified merkle anchor.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax ranked results, e.g. 5 (free tier cap). Crypto quant AI trading signal.
minSpreadBpsNoMinimum funding rate spread in bps. Cross-venue multi-exchange crypto signal.

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 destructiveHint=false. The description adds meaningful context: outputs are ranked, include a composite verdict, and are 'on-chain verified merkle anchor' – enriching the behavioral picture beyond the annotations without contradiction.

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

Conciseness4/5

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

The description is only three sentences with the core purpose front-loaded. The second sentence ('AI trading signal...') is somewhat promotional, but the overall structure is efficient and no essential details are buried.

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 output schema, the description gives a reasonable sense of what is returned (ranked pairs, spread, separate verdict, merkle anchor). It could be more explicit about output fields, but given the simple params and annotations, it is sufficiently 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 descriptions cover both parameters (limit, minSpreadBps) with defaults and ranges (100% coverage). The description does not add further parameter-level meaning, so the 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 scans cross-venue funding arbitrage and returns ranked per-pair spreads and BUY/SELL/HOLD verdicts. The specific verb 'scan' and resource 'funding arbitrage' distinguish it from siblings like scan_trade_calls and get_trade_call.

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 names related tools (get_trade_call, get_market_regime) providing useful alternatives for specific needs. However, it does not explicitly contrast with scan_trade_calls or mention when not to use this tool, falling just short of full guidance.

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

scan_trade_callsA
Read-only
Inspect

Returns ranked BUY SELL HOLD trade calls across the top crypto perpetual futures by open interest — one scan for whole-market coverage, each with confidence and market regime. Use this for breadth; use get_trade_call for per-coin depth and reasoning. Read-only: reads live exchange APIs, places no orders.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNNoHow many top perps by open interest to scan, 1 to 100 (default 20).
limitNoMax ranked calls to return, 1 to 100 (default 10). Non-HOLD ranked first.
rankByNoUniverse lens: oi (default) volume gainers losers movers funding_positive funding_negative volatility oi_change (aliases vol gain lose move pfr nfr atr oid). funding_*/volatility/oi_change rank among the most-liquid perps; oi_change = real 24h open-interest %Δ.oi
oiBasisNoOI-delta basis for rankBy=oi_change: notional (default, USD) or contracts (base-coin, price-independent). Ignored by other lenses.notional
exchangeNoCrypto venue (default Binance), e.g. Binance Bybit OKX Bitget Hyperliquid.BINANCE
timeframeNoCandle timeframe, 1m to 1d for the scan. Default 15m intraday.15m
includeHoldsNoInclude HOLD calls after non-HOLD (default false).
minConfidenceNoOptional confidence floor, 0 to 100, applied to non-HOLD trade calls.
oiChangeWindowNoOI-delta window for rankBy=oi_change: 1h, 4h, or 24h (default 24h). Ignored by other lenses.24h
minLiquidityUsdNoOptional USD liquidity floor applied to the scan universe: notional open interest, or 24h volume on venues that expose no bulk OI. Omitted means no floor.
includeReasoningNoEnrich each non-HOLD call with price, the top 2-3 drivers, and one-line reasoning (default false → bare verdict cells). HOLDs stay bare. Same per-call detail as get_trade_call.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark readOnlyHint=true and destructiveHint=false. The description adds context beyond that by stating it 'reads live exchange APIs' and 'places no orders,' and it discloses output characteristics: ranked calls, confidence, and market regime. There is no contradiction with annotations.

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

Conciseness5/5

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

Three sentences carry all essential information: what it returns, when to use it, and its safety profile. The main purpose is front-loaded, usage guidance comes second, and safety is concise. No filler or redundant restating of the name.

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 an 11-parameter, read-only market scanner with no output schema, the description covers purpose, breadth-versus-depth routing, safety, and the shape of the result. The remaining operational details (parameter meanings, defaults, constraints) are fully covered by the rich input schema.

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%, and the schema already thoroughly documents every parameter with defaults, ranges, enums, and condition-specific meanings. The description adds high-level context about whole-market scanning but does not need to repeat parameter details. 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 opens with a specific verb and resource: 'Returns ranked BUY SELL HOLD trade calls across the top crypto perpetual futures by open interest.' It clearly distinguishes itself from the sibling get_trade_call by framing this as whole-market breadth versus per-coin depth, so an agent can select it without inspecting schemas.

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 explicitly says 'Use this for breadth; use get_trade_call for per-coin depth and reasoning.' This provides a direct when-to-use rule and names the alternative, making the selection decision unambiguous.

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

search_knowledgeA
Read-only
Inspect

Returns ranked snippets from the AlgoVault knowledge bundle answering a question about its MCP tools, response shapes, integration patterns (LangChain, LlamaIndex, MAF, CrewAI), or code examples. Call this BEFORE other tool calls to confirm parameter usage and avoid hallucinating tool shapes. Fast: BM25 lexical search, no LLM call, no quota cost. For a synthesized natural-language answer use chat_knowledge. Read-only, no side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax ranked results (1-50, default 10).
queryYesNatural-language search query (3-500 chars).

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover read-only and non-destructive hints. The description adds valuable context: fast BM25 lexical search, no LLM call, no quota cost, and explicitly 'Read-only, no side effects.' This goes beyond the annotation basics, though it doesn't detail result structure or pagination, which is acceptable given the tool's simplicity.

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, each earning its place: functionality, usage timing, and alternative. Front-loaded with the core purpose, then key behavioral notes. No fluff or repetition of schema fields.

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 read-only, two-parameter tool with no output schema, the description covers purpose, when to use, performance characteristics, safety, and alternative tool. It is sufficiently complete for an agent to select and invoke correctly.

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 the baseline is 3. The description adds meaning by explaining the query is a natural-language question about specific topics (MCP tools, response shapes, etc.), and reinforces the limit as controlling 'ranked results'. This is more than the schema alone 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 uses a specific verb ('Returns') and resource ('AlgoVault knowledge bundle') with clear scope: ranked snippets answering questions about MCP tools, response shapes, integration patterns, or code examples. It also explicitly distinguishes itself from sibling chat_knowledge by noting that chat_knowledge provides synthesized natural-language answers.

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?

Provides explicit when-to-use guidance: 'Call this BEFORE other tool calls to confirm parameter usage and avoid hallucinating tool shapes.' Also names the alternative: 'For a synthesized natural-language answer use chat_knowledge.' This gives clear context and 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. 5 tool updatesv1.30.0
    • Changedget_market_regime1 field changed
      • changedInput schema / properties / exchange / enum
        Previous value: -[
        -  "HL",
        -  "BINANCE",
        -  "BYBIT",
        -  "OKX",
        -  "BITGET",
        -  "ASTER",
        -  "BINGX",
        -  "GATE",
        -  "HTX",
        -  "KUCOIN",
        -  "MEXC",
        -  "PHEMEX",
        -  "WHITEBIT",
        -  "BITMART",
        -  "XT"
        -]New value: +[
        +  "HL",
        +  "BINANCE",
        +  "BYBIT",
        +  "OKX",
        +  "BITGET",
        +  "ASTER",
        +  "BINGX",
        +  "GATE",
        +  "HTX",
        +  "KUCOIN",
        +  "MEXC",
        +  "PHEMEX",
        +  "WHITEBIT",
        +  "XT",
        +  "WEEX"
        +]
    • Addedget_track_record
    • Changedget_trade_call1 field changed
      • changedInput schema / properties / exchange / enum
        Previous value: -[
        -  "HL",
        -  "BINANCE",
        -  "BYBIT",
        -  "OKX",
        -  "BITGET",
        -  "ASTER",
        -  "BINGX",
        -  "GATE",
        -  "HTX",
        -  "KUCOIN",
        -  "MEXC",
        -  "PHEMEX",
        -  "WHITEBIT",
        -  "BITMART",
        -  "XT"
        -]New value: +[
        +  "HL",
        +  "BINANCE",
        +  "BYBIT",
        +  "OKX",
        +  "BITGET",
        +  "ASTER",
        +  "BINGX",
        +  "GATE",
        +  "HTX",
        +  "KUCOIN",
        +  "MEXC",
        +  "PHEMEX",
        +  "WHITEBIT",
        +  "XT",
        +  "WEEX"
        +]
    • Changedget_trade_signal1 field changed
      • changedInput schema / properties / exchange / enum
        Previous value: -[
        -  "HL",
        -  "BINANCE",
        -  "BYBIT",
        -  "OKX",
        -  "BITGET",
        -  "ASTER",
        -  "BINGX",
        -  "GATE",
        -  "HTX",
        -  "KUCOIN",
        -  "MEXC",
        -  "PHEMEX",
        -  "WHITEBIT",
        -  "BITMART",
        -  "XT"
        -]New value: +[
        +  "HL",
        +  "BINANCE",
        +  "BYBIT",
        +  "OKX",
        +  "BITGET",
        +  "ASTER",
        +  "BINGX",
        +  "GATE",
        +  "HTX",
        +  "KUCOIN",
        +  "MEXC",
        +  "PHEMEX",
        +  "WHITEBIT",
        +  "XT",
        +  "WEEX"
        +]
    • Changedscan_trade_calls1 field changed
      • changedInput schema / properties / exchange / enum
        Previous value: -[
        -  "HL",
        -  "BINANCE",
        -  "BYBIT",
        -  "OKX",
        -  "BITGET",
        -  "ASTER",
        -  "BINGX",
        -  "GATE",
        -  "HTX",
        -  "KUCOIN",
        -  "MEXC",
        -  "PHEMEX",
        -  "WHITEBIT",
        -  "BITMART",
        -  "XT"
        -]New value: +[
        +  "HL",
        +  "BINANCE",
        +  "BYBIT",
        +  "OKX",
        +  "BITGET",
        +  "ASTER",
        +  "BINGX",
        +  "GATE",
        +  "HTX",
        +  "KUCOIN",
        +  "MEXC",
        +  "PHEMEX",
        +  "WHITEBIT",
        +  "XT",
        +  "WEEX"
        +]
  2. 1 tool updatev1.28.2
    • Changedscan_trade_calls1 field changed
      • changedInput schema / properties / exchange / description
        Previous value: -"Venue: BINANCE (default) HL BYBIT OKX BITGET."New value: +"Crypto venue (default Binance), e.g. Binance Bybit OKX Bitget Hyperliquid."
  3. 3 tool updatesv1.28.0
    • Changedget_market_regime1 field changed
      • changedInput schema / properties / exchange / enum
        Previous value: -[
        -  "HL",
        -  "BINANCE",
        -  "BYBIT",
        -  "OKX",
        -  "BITGET",
        -  "ASTER",
        -  "EDGEX",
        -  "GATE",
        -  "MEXC",
        -  "KUCOIN",
        -  "PHEMEX",
        -  "BINGX",
        -  "HTX",
        -  "WEEX",
        -  "BITMART",
        -  "XT",
        -  "WHITEBIT"
        -]New value: +[
        +  "HL",
        +  "BINANCE",
        +  "BYBIT",
        +  "OKX",
        +  "BITGET",
        +  "ASTER",
        +  "BINGX",
        +  "GATE",
        +  "HTX",
        +  "KUCOIN",
        +  "MEXC",
        +  "PHEMEX",
        +  "WHITEBIT",
        +  "BITMART",
        +  "XT"
        +]
    • Changedget_trade_call1 field changed
      • changedInput schema / properties / exchange / enum
        Previous value: -[
        -  "HL",
        -  "BINANCE",
        -  "BYBIT",
        -  "OKX",
        -  "BITGET",
        -  "ASTER",
        -  "EDGEX",
        -  "GATE",
        -  "MEXC",
        -  "KUCOIN",
        -  "PHEMEX",
        -  "BINGX",
        -  "HTX",
        -  "WEEX",
        -  "BITMART",
        -  "XT",
        -  "WHITEBIT"
        -]New value: +[
        +  "HL",
        +  "BINANCE",
        +  "BYBIT",
        +  "OKX",
        +  "BITGET",
        +  "ASTER",
        +  "BINGX",
        +  "GATE",
        +  "HTX",
        +  "KUCOIN",
        +  "MEXC",
        +  "PHEMEX",
        +  "WHITEBIT",
        +  "BITMART",
        +  "XT"
        +]
    • Changedget_trade_signal1 field changed
      • changedInput schema / properties / exchange / enum
        Previous value: -[
        -  "HL",
        -  "BINANCE",
        -  "BYBIT",
        -  "OKX",
        -  "BITGET",
        -  "ASTER",
        -  "EDGEX",
        -  "GATE",
        -  "MEXC",
        -  "KUCOIN",
        -  "PHEMEX",
        -  "BINGX",
        -  "HTX",
        -  "WEEX",
        -  "BITMART",
        -  "XT",
        -  "WHITEBIT"
        -]New value: +[
        +  "HL",
        +  "BINANCE",
        +  "BYBIT",
        +  "OKX",
        +  "BITGET",
        +  "ASTER",
        +  "BINGX",
        +  "GATE",
        +  "HTX",
        +  "KUCOIN",
        +  "MEXC",
        +  "PHEMEX",
        +  "WHITEBIT",
        +  "BITMART",
        +  "XT"
        +]
  4. 1 tool updatev1.26.0
    • Changedscan_trade_calls1 field changed
      • changedInput schema / properties / includeHolds / description
        Previous value: -"Include HOLD calls after non-HOLD (default false). HOLDs never cost quota."New value: +"Include HOLD calls after non-HOLD (default false)."
  5. 7 tool updatesv1.25.0
    • First observedchat_knowledge
    • First observedget_market_regime
    • First observedget_trade_call
    • First observedget_trade_signal
    • First observedscan_funding_arb
    • First observedscan_trade_calls
    • First observedsearch_knowledge

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation3/5

Most tools are clearly separated by scope (market-wide scan vs single-asset call, funding arb vs regime), but get_trade_call and get_trade_signal are exact duplicates -- one is explicitly an alias -- which will cause agent confusion. chat_knowledge and search_knowledge also both serve knowledge retrieval, though their descriptions distinguish synthesis from snippets.

Naming Consistency4/5

Tool names consistently use snake_case imperative verb + noun (scan_, get_, chat_, search_). Minor inconsistency exists between trade_call and trade_signal for the same concept, and 'arb' is abbreviated in scan_funding_arb, but the overall pattern is predictable.

Tool Count5/5

Eight tools is a well-scoped set for a crypto quant signal server: broad scan, per-asset verdict, regime, arbitrage, track record, and knowledge access. None feel extraneous, and the count matches the stated domain.

Completeness4/5

The main signal lifecycle is covered: market-wide scan, single-asset calls, regime, funding arbitrage, and verified track record. Minor gaps exist, such as no direct tool for raw market data or per-asset listing, but agents can accomplish the core workflow with this surface.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Provides comprehensive crypto intelligence for the Hyperliquid exchange, allowing users to query trader profiles, behavioral cohorts, and live market data. It enables AI agents to analyze over 1.8 billion trades, track whale positions, and access real-time liquidation heatmaps.
    103
    51 npm
    6
    MIT
  • 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
    C
    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
    5 npm
    9
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Real-time crypto intelligence for AI agents. Technical analysis, liquidation heatmaps, sentiment, and funding rates for 50+ Hyperliquid perpetuals via x402 micropayments.
    15
    51 PyPI
    1
    MIT