get_market_intelligence
Retrieve a unified market intelligence report including orderflow signal, composite score, liquidation zones, cross-exchange analysis, climate, and ignition state. Ideal for comprehensive pre-trade checks.
Instructions
Get complete market intelligence in a single call — combines all endpoints.
Returns orderflow signal, composite score, liquidation zones, cross-exchange
analysis, climate, and ignition state in one unified response. Use this
for a comprehensive pre-trade check.
Args:
symbol: Trading pair (default: BTCUSDT)Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | BTCUSDT |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- horus_mcp_public.py:267-278 (handler)The handler function that executes the tool 'get_market_intelligence'. It is an async function decorated with @mcp.tool(), takes a symbol parameter (default 'BTCUSDT'), fetches data from the '/v1/intelligence/market-intelligence?symbol={symbol}' endpoint via the _fetch helper, and returns the JSON result as a string.
async def get_market_intelligence(symbol: str = "BTCUSDT") -> str: """Get complete market intelligence in a single call — combines all endpoints. Returns orderflow signal, composite score, liquidation zones, cross-exchange analysis, climate, and ignition state in one unified response. Use this for a comprehensive pre-trade check. Args: symbol: Trading pair (default: BTCUSDT) """ data = await _fetch(f"/v1/intelligence/market-intelligence?symbol={symbol}") return json.dumps(data, indent=2) - horus_mcp_public.py:266-267 (registration)The tool is registered via the @mcp.tool() decorator at line 266, which registers 'get_market_intelligence' as an MCP tool on the FastMCP server instance.
@mcp.tool() async def get_market_intelligence(symbol: str = "BTCUSDT") -> str: - horus_mcp_public.py:58-89 (helper)The _fetch helper function used by get_market_intelligence to make HTTP requests to the RapidAPI endpoint. Handles authentication, rate limiting, and network errors.
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)}" } - horus_mcp_public.py:274-276 (schema)Input parameter definition: symbol (string, default 'BTCUSDT') with docstring description.
Args: symbol: Trading pair (default: BTCUSDT) """