claude-fidelity-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIDELITY_TIMEOUT | No | Default timeout in milliseconds | 30000 |
| FIDELITY_HEADLESS | No | Set to false to see the browser | true |
| FIDELITY_PASSWORD | Yes | Fidelity login password | |
| FIDELITY_USERNAME | Yes | Fidelity login username | |
| FIDELITY_SESSION_DIR | No | Where to save session files | ~/.fidelity-mcp |
| FIDELITY_TOTP_SECRET | No | TOTP secret for automatic 2FA | |
| FIDELITY_SESSION_TITLE | No | Session file identifier (for multiple accounts) | default |
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 |
|---|---|
| fidelity_loginA | Log in to Fidelity. Supports TOTP 2FA (automatic) and SMS 2FA (requires follow-up with fidelity_submit_2fa). Credentials can be passed directly or via env vars FIDELITY_USERNAME, FIDELITY_PASSWORD, FIDELITY_TOTP_SECRET. |
| fidelity_submit_2faA | Submit the SMS 2FA code received on your phone to complete Fidelity login. Only use this after fidelity_login returns needsSms2FA=true. |
| fidelity_get_accountsB | List all Fidelity accounts with their names, numbers, and optionally withdrawal balances. |
| fidelity_get_positionsA | Get all positions (holdings) across all Fidelity accounts. Returns account details with stock ticker, quantity, price, and value for each holding. |
| fidelity_get_quoteB | Get the current price for a stock/ETF symbol via Fidelity's trade page. |
| fidelity_place_orderA | Place a buy or sell order for a stock/ETF on Fidelity. Supports market and limit orders. Use dry_run=true to preview without executing. For penny stocks (<$1) and extended hours, limit orders are used automatically. |
| fidelity_batch_ordersA | Place multiple buy/sell orders sequentially in a single account. Useful for portfolio rebalancing. Each order is placed one at a time. Returns results for each order. |
| fidelity_transferA | Transfer cash between two Fidelity accounts. Validates available balance before submitting. |
| fidelity_statusA | Check whether the Fidelity browser session is active and logged in. |
| fidelity_logoutA | Close the Fidelity browser session and save cookies for faster re-login next time. |
| fidelity_save_sessionA | Manually save the current browser session state (cookies/localStorage) for persistence across restarts. |
| fidelity_screenshotA | Take a screenshot of the current Fidelity browser page. Useful for debugging when tools return unexpected results. |
| fidelity_page_contentA | Get the current page URL and key HTML structure. Useful for debugging when selectors fail. |
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 13 tools
Each tool has a unique and clear purpose (login, logout, get accounts, place orders, etc.). No two tools overlap in functionality, and the descriptions clearly differentiate them.
All tools follow a consistent 'fidelity_verb_noun' pattern in snake_case (e.g., fidelity_get_accounts, fidelity_place_order). This makes the set predictable and easy to navigate.
With 13 tools, the server covers essential Fidelity operations (login, orders, transfers, debugging) without being bloated. Each tool feels necessary for the domain.
The tool set covers core workflows: login, account info, quotes, orders (single & batch), transfers, and session management. Minor gaps like order cancellation or history exist, but the surface is strong for its stated purpose.