Skip to main content
Glama
armaaar

thndr-mcp

by armaaar

Market depth

get_market_depth
Read-onlyIdempotent

Retrieve Egypt market depth for a symbol: aggregated bids and asks by price level with order counts and the current bid/ask spread.

Instructions

Egypt only: order book (bids and asks aggregated by price level with order counts) and the bid/ask spread.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
levelsNo
marketNoMarket: "egypt" (EGX, default), "us" (NYSE/Nasdaq via Alpaca), "uae" (ADX) or "simulator" (paper trading)egypt
symbolYesTicker symbol (e.g. "COMI") or Thndr asset id (UUID)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real value by describing the return shape (levels aggregated by price with order counts, plus the spread) and a coverage restriction ('Egypt only'). It omits any refresh/rate-limit behavior and the restriction conflicts with the schema's market enum, so it is not a clean disclosure.

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?

A single tight sentence with no padding, and the scope constraint is front-loaded before the payload description. Only the ambiguous 'Egypt only' prefix keeps it from being maximally efficient.

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

Completeness3/5

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

There is no output schema, so the description carries the return-value burden; it does describe the two return components (aggregated book and spread), which is helpful. But it never explains what 'levels' does to the output size, nor any auth or market-availability rules, leaving gaps for a 3-parameter tool.

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

Parameters2/5

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

Schema coverage is 67%: symbol and market are documented, but the 'levels' parameter (default 10, max 50) has no description anywhere, and the description's 'aggregated by price level' phrasing does not explain that levels controls depth count. Worse, 'Egypt only' actively contradicts the market enum that allows 'us', 'uae' and 'simulator', giving the agent misleading guidance about the market parameter.

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

Purpose4/5

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

States a specific resource and its contents: an order book with bids/asks aggregated by price level plus the bid/ask spread. That distinguishes it from siblings like get_price_snapshot and get_recent_trades. The leading 'Egypt only' qualifier, however, sits in tension with the schema's four-value market enum, so the scope claim is less clean than it looks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no routing to alternatives. The description never says how this differs from get_price_snapshot (last price), get_recent_trades (trade tape) or get_market_status, so the agent must infer which depth-adjacent tool to call.

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