Run a custom BACKTEST strategy provided by the AI agent using historical data fetched from BlinkX SmartAPI. historical data will be available in variable historical_data in format historical_data.append({ "timestamp": candle[0], # The timestamp is the first element "open": candle[1], # Open is th...
Part of the Blinkxmcp server.
Free to start. No card required.
AI agents invoke run_backtest to trigger processes or run actions in Blinkxmcp. Execute operations can have side effects beyond the immediate call -- triggering builds, sending notifications, or starting workflows. Rate limits and argument validation are essential to prevent runaway execution.
run_backtest can trigger processes with real-world consequences. An uncontrolled agent might start dozens of builds, send mass notifications, or kick off expensive compute jobs. PolicyLayer enforces rate limits and validates arguments to keep execution within safe bounds.
Execute tools trigger processes. Rate-limit and validate arguments to prevent unintended side effects.
{
"version": "1",
"default": "deny",
"tools": {
"run_backtest": {
"limits": [
{
"counter": "run_backtest_rate",
"window": "minute",
"max": 10,
"scope": "grant"
}
]
}
}
} See the full Blinkxmcp policy for all 12 tools.
These attack patterns abuse exactly the kind of access run_backtest gives an agent. Each links to the full case and the policy that stops it:
Other execute tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.
Run a custom BACKTEST strategy provided by the AI agent using historical data fetched from BlinkX SmartAPI. historical data will be available in variable historical_data in format historical_data.append({ "timestamp": candle[0], # The timestamp is the first element "open": candle[1], # Open is the second element "high": candle[2], # High is the third element "low": candle[3], # Low is the fourth element "close": candle[4], # Close is the fifth element "volume": candle[5] # Volume is the sixth element }) and for recording trades call record_trade(side: str, price: float, qty: int) that stores trades in variable RESULTS = {"trades": [], "metrics": {}} this variable will already be defined and can be read as it is Inputs: --------- backtest_code : str The Python code written by the AI agent. The code will be wrapped inside an async function and executed. instrument_token : str The instrument token to fetch historical candle data. from_time : str The starting timestamp for fetching historical candles (e.g., "2025-10-29+10:02:03"). to_time : str The ending timestamp for fetching historical candles (e.g., "2025-10-29+15:00:00"). session_id : str The session ID for fetching the token needed to call the API. Returns: -------- dict : The result of the backtest, including trade records and metrics.. It is categorised as a Execute tool in the Blinkxmcp MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the Blinkx MCP server in PolicyLayer and add a rule for run_backtest: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Blinkxmcp. Nothing to install.
run_backtest is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the run_backtest rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for run_backtest. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
run_backtest is provided by the Blinkx MCP server (ai/blinkxmcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 12 Blinkxmcp tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.