Configuration

April 29, 2026 · View on GitHub

Server Modes

ModeDescriptionEnv VarCLI Args
DYNAMIC_TOOL_DISCOVERYLoad tools on demand per sessionDYNAMIC_TOOL_DISCOVERY--dynamic-tool-discovery, --dynamicToolDiscovery
STATIC_TOOL_SETSLoad only specified tool setsFMP_TOOL_SETS--fmp-tool-sets, --tool-sets, --toolSets
ALL_TOOLSLoad all available tools (default)

Precedence

Configuration resolves in this order:

  1. CLI arguments
  2. Environment variables
  3. Session config
  4. Defaults

Environment Variables

VariableDescriptionDefault
FMP_ACCESS_TOKENFMP API access token
PORTHTTP server port8080
DYNAMIC_TOOL_DISCOVERYEnable dynamic tool discovery
FMP_TOOL_SETSComma-separated tool sets for static mode

CLI Arguments

ArgumentDescription
--fmp-token <token>FMP API access token
--port <number>HTTP server port
--dynamic-tool-discoveryEnable dynamic tool discovery
--dynamicToolDiscoveryEnable dynamic tool discovery (alias)
--fmp-tool-sets <sets>Comma-separated tool sets
--tool-sets <sets>Comma-separated tool sets (alias)
--toolSets <sets>Comma-separated tool sets (alias)

Tool Sets

Valid keys for FMP_TOOL_SETS or --fmp-tool-sets:

search, company, quotes, statements, calendar, charts, news, analyst, market-performance, insider-trades, institutional, indexes, economics, crypto, forex, commodities, etf-funds, esg, technical-indicators, senate, sec-filings, earnings, dcf, bulk

Session Config

Only FMP_ACCESS_TOKEN is accepted per-session. Pass it as base64-encoded JSON via the config query parameter:

?config=eyJGTVBfQUNDRVNTX1RPS0VOIjoiPGtleT4ifQ==

Fail-Fast Behavior

If FMP_TOOL_SETS or --fmp-tool-sets contains an invalid tool set key, the process exits with code 1.

Examples

All tools (default):

FMP_ACCESS_TOKEN=<token> npm start

Dynamic tool discovery:

npm start -- --dynamic-tool-discovery
# or
DYNAMIC_TOOL_DISCOVERY=true npm start

Static tool sets:

npm start -- --fmp-tool-sets search,quotes,news
# or
FMP_TOOL_SETS=search,quotes,news npm start