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 | |