Skip to main content
Glama

AI Strategy Backtester

cc.strategy_backtest
Read-onlyIdempotent

Call cc.strategy_backtest — Takes a natural language strategy description, generates executable code, and runs it against historical OHLCV data with full TP/SL/trailing stop simulation. Purpose: Takes a natural language strategy description, generates executable code, and runs it against historical OHLCV data with full TP/SL/trailing stop simulation. Behavior: READ-ONLY. Does not place orders, move funds, or mutate your exchange account. Live / near-real-time data. Auth: X-Api-Key or x402 payment proof (X-PAYMENT / __x_payment). Anonymous unauthenticated calls receive HTTP 402 with payment accepts. Cost: $0.05 USDC per successful call (x402 Base USDC pay-per-use or prepaid X-Api-Key balance). Linked Connect keys are free. This is billing, not a side effect. Rate limit: 5/min (per API key). Tier: premium. Returns: Complete backtest results: total trades, win rate, net PnL, max drawdown, Sharpe ratio, profit factor, and individual trade log with entry/exit details. Guidelines: Compute / parse / backtest only — no live orders. Feed outputs into cc.agent_strategy with force_paper=true to paper-trade. Tags: backtest, strategy, simulation, performance, sharpe, drawdown.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoHistory lookback (default: 90) Optional.
symbolYesParameter `symbol` (string). Required.
strategyYesNatural language strategy description Required.
timeframeNo1h, 4h, 1d Optional.
__x_paymentNoOptional x402 payment proof (same value as X-PAYMENT header). Use when retrying after HTTP 402 if your MCP client cannot set custom headers. Not a business parameter. Optional.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesTrue when the gateway HTTP status is 2xx.
dataNoParsed JSON body from the endpoint (shape varies by slug).
errorNoError message when ok is false.
statusYesUpstream HTTP status from x402-gateway.
billingNoOptional payment / cost metadata when present.
endpointYesCatalog slug that was invoked (e.g. funding-rates).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description reinforces with 'READ-ONLY. Does not place orders, move funds, or mutate your exchange account' and adds billing, rate limits, and auth details. No contradiction.

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

Conciseness4/5

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

The description is comprehensive with clear sections (Behavior, Auth, Cost, Rate limit, Returns, Guidelines). It is front-loaded with the purpose. Slightly verbose but every sentence provides value.

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

Completeness5/5

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

Given complexity (5 params, output schema exists), description covers behavior, auth, cost, rate limit, output details, and guidelines. It also ties to cc.agent_strategy, completing the workflow context. No gaps.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all parameters. The description adds overall context but does not significantly augment parameter meaning beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states it takes a natural language strategy, generates code, and backtests against historical OHLCV data with full simulation. It distinguishes from sibling cc.agent_strategy for paper trading.

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?

Explicit guidelines: 'Compute / parse / backtest only — no live orders' and 'Feed outputs into cc.agent_strategy with force_paper=true to paper-trade.' Provides clear when-to-use vs. when-not-to.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation2/5

Many tools serve overlapping purposes, such as multiple Coinglass data tools (cc.coinglass_data, cc.funding_rates, cc.open_interest, etc.) and multiple AI chat assistants (cc.squirrel_chat, cc.squirrel_chat_v2, cc.openclaw_chat). The distinctions are subtle, likely causing agent misselection.

Naming Consistency5/5

All tool names follow a consistent `cc.<snake_case>` pattern, with verbs like `list_catalog`, `cc.ma_fetch`, and `cc.trade_builder`. No mixing of conventions.

Tool Count3/5

33 tools is on the high side but reasonable for a comprehensive crypto trading platform. However, significant redundancy (e.g., multiple data sources for similar indicators) suggests some could be consolidated, making the surface feel heavier than necessary.

Completeness4/5

The tool set covers most aspects of crypto trading: market data, technical indicators, signals, execution, backtesting, AI analysis, and blockchain RPC. Minor gaps exist (e.g., portfolio management), but the surface is largely complete for the intended domain.

Resources