get_ignitions
Detect volatility ignition events to identify potential explosive price moves. Returns ignition state and directional bias for timing exits or preparing for breakouts.
Instructions
Detect volatility ignition events — potential explosive price moves.
Returns ignition state (DORMANT, RISING, IGNITED) and directional bias.
IGNITED = imminent large move, reduce or exit positions.
RISING = pressure building, prepare for breakout.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- horus_mcp_public.py:252-262 (handler)The get_ignitions tool handler. Decorated with @mcp.tool(), it fetches volatility ignition event data from the /v1/intelligence/ignitions endpoint and returns JSON. Returns ignition state (DORMANT, RISING, IGNITED) and directional bias.
# ─── Tool 9: Ignition Detection ────────────────────────── @mcp.tool() async def get_ignitions() -> str: """Detect volatility ignition events — potential explosive price moves. Returns ignition state (DORMANT, RISING, IGNITED) and directional bias. IGNITED = imminent large move, reduce or exit positions. RISING = pressure building, prepare for breakout. """ data = await _fetch("/v1/intelligence/ignitions") return json.dumps(data, indent=2) - horus_mcp_public.py:253-253 (registration)The tool is registered via the @mcp.tool() decorator from FastMCP on line 253. The mcp instance is created on line 44.
@mcp.tool() - horus_mcp_public.py:58-89 (helper)The _fetch helper function used by get_ignitions to make HTTP requests to the Horus RapidAPI endpoint /v1/intelligence/ignitions.
async def _fetch(endpoint: str) -> dict: """Fetch data from the live RapidAPI endpoint.""" async with httpx.AsyncClient(timeout=10.0) as client: try: resp = await client.get( f"{RAPIDAPI_BASE_URL}{endpoint}", headers=HEADERS, ) if resp.status_code == 200: return resp.json() elif resp.status_code in [401, 403]: return { "error": True, "signal": "UNAUTHORIZED", "detail": "Invalid or missing RAPIDAPI_KEY. Please verify your RapidAPI subscription." } elif resp.status_code == 429: return { "error": True, "signal": "RATE_LIMITED", "detail": "You have exceeded your RapidAPI quota. Please upgrade your plan." } return { "error": True, "status_code": resp.status_code, "detail": resp.text, } except Exception as e: return { "error": True, "detail": f"Network Error: {str(e)}" }