Skip to main content
The server is configured entirely through environment variables, set in your MCP client’s config or your shell environment.

Environment variables

Both boolean flags are compared case-insensitively, so true, True, and TRUE all work. Anything else — including 1 and yes — counts as off.

Environments

By default the server talks to production at https://trade.api.yellow.pro. Setting YELLOW_PRO_SANDBOX=true switches to staging at https://api.staging.yellow.pro.neodax.app. An explicit YELLOW_PRO_BASE_URL takes precedence over sandbox mode.
Credentials are environment-specific: keys created for staging do not work on production, and vice versa. Note that there is currently no documented way to obtain staging credentials — see Getting your credentials.

Credentials

Market data tools work without any credentials. Everything else requires all three of YELLOW_PRO_API_KEY, YELLOW_PRO_API_SECRET, and YELLOW_PRO_APP_SESSION_ID. See Getting your credentials. One exception: get_fee_schedule lives in the account module but calls a public endpoint and needs no credentials.

Enabling trading

Trading tools are not registered unless YELLOW_PRO_ENABLE_TRADING is set to true. This is a deliberate safety default: with the flag off, an agent has no order-placing tool to call at all.
Do not work around a disabled-trading state by calling the REST API directly. The opt-in flag exists so that order placement is a conscious choice. Read Risk and safety first.

Module filtering

YELLOW_PRO_MODULES accepts exactly three tokens, comma-separated:
Omit the variable to load everything. Listing trading still has no effect unless YELLOW_PRO_ENABLE_TRADING=true.
Unrecognised module names are silently dropped — no warning, no error. A plural typo such as markets,account yields account-only tools and looks like a broken install. If tools are missing, check this value character by character.

Rate limiting

YELLOW_PRO_RATE_LIMIT_MS sets the minimum gap between outbound requests, defaulting to 100 ms.
Lowering this does not make the client more resilient. A 429 from the exchange is thrown immediately with no retry and no backoff, so an aggressive value converts throttling into hard failures.