Skip to main content
Glama
Ritesh17rb

kite-mcp-server

by Ritesh17rb

calculate_order_margins

Calculate the margin required for one or more hypothetical orders without placing them, so you can check affordability and leverage before submitting an order.

Instructions

Calculate the margin required for one or more hypothetical orders, without placing them. Use this before place_order to check affordability/leverage. Read-only — free on all tiers.

Input Schema

NameRequiredDescriptionDefault
ordersYes
compactNoIf true, only return total margins, not the breakdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations present, the description carries the disclosure burden and does so well: it declares the operation is hypothetical ('without placing them'), read-only, and costless ('free on all tiers'), covering the safety and rate/credit profile an agent needs. It omits the batch-size cap (max 50) and whether unknown symbols cause per-order errors, but the core behavioral traits are covered.

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

Conciseness5/5

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

Three compact clauses, front-loaded with the verb and resource, then the usage timing, then the cost/safety note. No filler, no restatement of the name.

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

Completeness4/5

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

No output schema exists, and the description does not say what is returned (per-order margin breakdown vs totals) – though the 'compact' schema field implies it. It fully covers purpose, timing, and safety/cost, which is enough for a 2-parameter read-only tool, but the missing return-shape hint and the unexplained overlap with calculate_basket_margins keep it from a 5.

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 description coverage is 50% – the 'compact' flag is documented inline, while the 'orders' array and its nested fields carry no descriptions, only required lists and enums. The description helps only marginally by saying 'one or more hypothetical orders', which maps to the array cardinality; it adds no semantics for the nested order fields or for what 'compact' changes in the output. Baseline 3 is appropriate since the nested schema is largely self-explanatory via required/enum constraints.

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 verb and resource ('Calculate the margin required') plus a distinguishing scope qualifier ('for one or more hypothetical orders, without placing them'). It separates itself from place_order but never mentions the sibling calculate_basket_margins, which computes a very similar thing for a basket, so an agent cannot fully discriminate the two from the description alone.

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

Usage Guidelines4/5

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

Gives explicit timing ('Use this before place_order to check affordability/leverage'), which tells the agent both when to call it and which sibling it complements. There are no explicit exclusions (e.g., when to prefer calculate_basket_margins or get_margins), so it stops short of a full when/when-not statement.

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