Trading edge discovery server. Statistically validated trading edges across futures, equities, and crypto. MCP server + CLI + Python SDK for discovering trade edges, getting trade levels, and testing trading ideas with real market data.
VARRD provides 10 tools with mixed quality. Naming follows verb_noun conventions (check_balance, varrd_edges, buy_credits, etc.), which is good. However, description quality is highly inconsistent: some tools have detailed, context-rich descriptions (varrd_edges: 280 chars with pricing tiers and filter options; research: 240+ chars explaining multi-turn flow), while others are vague or lack actionable detail (check_balance is brief and generic; briefing has no input schema detail). Parameter descriptions exist but many lack constraints, no enums for 'status', 'direction', 'timeframe', 'asset_class', or 'test_type' despite being enumerable values. Input schemas are partially present but incomplete: many tools lack explicit parameter type declarations in the visible code (e.g., scan, search, research show parameter descriptions but no formal JSON Schema type definitions visible). Output schemas are entirely undocumented, no response structure is defined for any tool. Error handling is minimal; no guidance on recovery, retryability, or actionable error messages. Composition is reasonable: each tool does one thing, but tool chaining is not optimized, some tools lack the IDs needed for downstream calls.
Get personalized market news and briefing. Returns relevant edges and market context.
Buy credits with USDC on Base. Two-step process: call without payment_intent_id to get deposit address, send USDC to address on Base network, then call again with payment_intent_id to confirm. Free to call, no credits consumed.
Check credit balance. Free, no credits consumed. Also auto-detects completed payments.
Autonomous edge discovery. Let VARRD find trading edges for you based on topic/theme. Costs credits. Tests hypothesis end-to-end including event study, backtest, and trade setup generation.
Get full details for a specific strategy. Returns formula, metrics, and version history. Trade levels may be stale; use scan() for fresh levels on firing strategies or research() for fresh trade setup.
No output schemas documented for any tool. LLMs cannot infer response structure, forcing them to guess at field names and types for chaining calls. This violates the 'documented output schema' requirement.
Enumerable parameters lack enum constraints. 'status' (firing|pending|active), 'direction' (LONG|SHORT), 'timeframe' (60min|120min|240min|...), 'asset_class' (futures|equities|crypto), 'test_type' (event_study), and 'search_mode' (focused|explore) are free-form strings, inviting LLM hallucinations.
Parameter type definitions not visible in schema. Input parameter descriptions exist but formal JSON Schema 'type' fields (string, integer, boolean, array, object) are not shown in the provided code. This makes schema validation impossible.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
Talk to VARRD AI in multi-turn research conversation. First call (no session_id) starts new session. Pass returned session_id to continue conversation. Typical flow: send trading idea, follow next_actions through chart -> test -> trade setup, check for edge verdict.
Reset a broken research session. Free, no credits consumed.
Scan saved strategies against current market data. Returns firing status and trade levels for strategies.
Search saved strategies by keyword or natural language. Returns results ranked by relevance.
Browse VARRD's validated edge library. Three tiers: depth=0 (free) shows markets and status only; depth=1 ($0.50) provides 15-min snapshot with direction, stats, trade levels; depth=2 ($1/edge or $5/all) gives full audit trail with methodology, formula, and performance.
Inconsistent description quality. 'briefing' has a 36-char description ('Get personalized market news and briefing. Returns relevant edges and market context.') with no parameter detail. 'research' and 'varrd_edges' are well-documented (75-80 chars+), but 'check_balance' is too brief (50 chars). Descriptions should be 50-200 chars per pattern:tool-description guidelines.
Error handling absent. No tools document recovery guidance, retryability, or actionable error messages. E.g., 'buy_credits' fails silently if USDC transfer doesn't arrive; no guidance on what the agent should do next. Violates pattern:recovery-guide.
No tool chaining IDs documented. E.g., 'scan' returns strategies but doesn't document whether it returns 'hypothesis_id' or 'strategy_id' for use with 'get_hypothesis'. LLMs can't chain tools without knowing the response field names.
Stateful session management (research, reset_session) lacks idempotency guarantees. 'reset_session' modifies state; if an agent retries, does it fail or succeed? No idempotency marker or guidance.
Multi-step operations lack confirmation. 'buy_credits' and 'discover' are expensive operations (consume credits) but have no dry-run or confirmation step. An agent in a loop could burn credits without human approval.