preflight-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BINANCE_API_BASE | No | Base URL for the Binance public market data API. Defaults to the public mirror data-api.binance.vision. | data-api.binance.vision |
| PREFLIGHT_MAX_AGE_MS | No | Maximum age of market data before it is considered stale. Default is 5000 ms (5 seconds). | 5000 |
| PREFLIGHT_MAX_BAND_BPS | No | Maximum allowed deviation of a limit price from the 24h range, in basis points. Default is 2000 bps (20%). | 2000 |
| PREFLIGHT_MAX_SPREAD_BPS | No | Maximum allowed bid-ask spread in basis points. Default is 50 bps. | 50 |
| PREFLIGHT_MAX_BALANCE_BPS | No | Maximum order size as a percentage (in basis points) of the free balance supplied. Default is 2500 bps (25%). | 2500 |
| PREFLIGHT_MAX_SLIPPAGE_BPS | No | Maximum allowed slippage (impact of the order on its own price) in basis points. Default is 100 bps. | 100 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| preflight_tradeA | Decide whether an order should be placed, BEFORE placing it. Returns CLEARED, REFUSED or UNREADABLE with the numbers behind the answer: spread, expected slippage against the live book, quote age, position size, and venue filters. UNREADABLE means the market data could not be established — treat it as a refusal, not as permission. Call this before every order placed by an execution tool. |
| market_snapshotA | The market facts a trading decision rests on, with their age stated: top of book, spread, 24h range, book depth, and the venue's own lot and notional filters. Fields that could not be read come back null and are listed in |
| preflight_rulesB | The thresholds every decision is measured against, and the environment variable that changes each one. A guard whose rules cannot be read is a guard nobody can argue with, and an operator who cannot see the ceiling cannot tell a refusal from a bug. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: preflight_trade returns a decision, market_snapshot provides raw market data, and preflight_rules exposes configurable thresholds. There is no overlap or ambiguity about which tool to call.
Two tools share the preflight_ prefix and all names use clear, lowercase snake_case. market_snapshot breaks the prefix pattern but is still intuitively named and consistent in style.
Three tools is a well-scoped set for the server's purpose: one decision tool, one data source, and one rules reference. Each tool earns its place with no unnecessary clutter.
The tool surface covers the full preflight workflow: understand the rules, inspect the market snapshot, and get a decision before placing an order. No obvious dead ends or missing operations are apparent.