Avanza-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| avanza_statusA | Show TUI MCP bridge status, selected account, and current safety mode. |
| avanza_capabilitiesA | Return consolidated MCP safety/capability status for automation loops (paper/live guards, account context, and tool availability). |
| avanza_live_session_authorizeA | Explicitly enable live mutation permission for this active MCP/TUI session. Requires read_write mode and acknowledge=true. |
| avanza_live_session_revokeA | Disable live mutation permission for this MCP/TUI session and force paper-only mode. |
| avanza_accountsB | List Avanza accounts currently visible to the authenticated TUI session. |
| avanza_sessionsA | List authenticated Avanza tenant sessions currently loaded in TUI. |
| avanza_select_sessionA | Switch active MCP/TUI session context to a loaded tenant session (read-only context switch). |
| avanza_select_accountA | Safely switch MCP/TUI selected account context. Read-only context switch; no order mutations. |
| avanza_account_performanceB | Read Avanza account performance/development for the selected or supplied account_id over a chosen period. |
| avanza_instrument_chartA | Read authenticated Avanza OHLC history for one order book and period. Read-only; intended for auditable performance and counterfactual analysis. |
| avanza_account_cost_attributionB | Replay one account's Avanza cash-flow-adjusted return with posted commission and modeled FX removed. Read-only and fail-closed on truncated history. |
| avanza_frozen_holdings_attributionB | Reconstruct an account's frozen starting-holdings path using authenticated Avanza daily prices, transactions, and cash events. Read-only and fail-closed on missing history or unsupported cash events. |
| tv_scrape_symbol_analyticsC | Fetch TradingView symbol analytics and technical recommendation barometers from public scanner data. |
| tv_scrape_symbol_fullC | Fetch rich TradingView symbol payload (scanner analytics + technical labels + symbol profile metadata) in LLM-friendly JSON. |
| tv_auth_session_startA | Open TradingView login page in browser and show session setup instructions for authenticated MCP usage. |
| tv_auth_session_setC | Persist TradingView session cookie for authenticated tv_auth_* MCP tools. |
| tv_auth_session_login_autoB | Open instrumented browser, let user log in normally, and automatically capture/save TradingView session cookies. |
| tv_auth_session_statusA | Show saved TradingView authenticated session status used by tv_auth_* tools. |
| tv_auth_session_clearA | Delete saved TradingView authenticated session cookie. |
| tv_auth_symbol_analyticsB | Fetch TradingView symbol analytics in authenticated mode (inherits account entitlements from supplied TradingView cookie/session). |
| tv_auth_symbol_fullB | Fetch rich TradingView symbol payload in authenticated mode (scanner analytics + technical labels + profile metadata + entitlement context). |
| tv_preopen_symbol_snapshotB | Return a compact TradingView pre-open/extended-hours review snapshot for one symbol. |
| tv_preopen_batch_snapshotA | Return TradingView pre-open snapshots for a symbol list with per-symbol error isolation. |
| tv_scrape_heatmapC | Fetch TradingView market heatmap rows (top movers) using free scanner data. |
| avanza_tv_preopen_portfolio_bundleC | Read-only Avanza portfolio protection state merged with TradingView pre-open market/technical snapshots. |
| tv_auth_watchlistB | Best-effort TradingView watchlist monitor in authenticated mode (cookie/session required for private list context). |
| tv_auth_custom_listsB | Load authenticated TradingView custom tracking lists and rows from your TradingView profile session. |
| zacks_scrape_symbolB | Fetch Zacks rank via quote-feed and scrape symbol/report pages for Earnings ESP plus visible analysis text (best effort; HTML may be blocked without valid browser session/cookies). |
| fmp_analyst_recommendationsC | Fetch analyst recommendation history for a symbol from Financial Modeling Prep (requires FMP API key). |
| polygon_analyst_insightsB | Fetch analyst insights/ratings for a symbol from Polygon Benzinga feed (requires Polygon API key). |
| sec_filings_recentA | Fetch recent SEC EDGAR filings by ticker or CIK (official SEC data). |
| fred_seriesB | Fetch FRED macro observations (requires a free FRED API key via FRED_API_KEY or api_key input). |
| data_source_statusC | Return current health, freshness, and safety flags for Avanza, TradingView, Zacks, FMP, Polygon, SEC, and FRED source integrations. |
| signal_context_bundleC | Build a compact cross-source signal bundle (TradingView technicals + SEC filings + optional Zacks/FMP/Polygon + optional FRED macro). |
| avanza_portfolioC | List portfolio positions for the selected account, optionally filtered by one instrument. |
| avanza_stoplossesC | List stop-loss orders with durable strategy intent and missing/mismatch metadata audit, optionally filtered by instrument, side, or status. |
| avanza_stoploss_strategy_auditA | Refresh active broker stop-losses and audit whether every exact row has matching durable local strategy metadata. Read-only at Avanza. |
| avanza_stoploss_strategy_register_batchA | Dry-run or atomically register strategy metadata for exact active broker stop rows. This changes only the local registry, never Avanza; confirm=true requires MCP R/W but not live-trading authorization. |
| avanza_position_strategy_auditA | Refresh exact holdings, active stop exposure, regular open orders, and stop-intent metadata for one account, then fail closed on any missing or stale reviewed position plan, missing/contradictory protection classification, or REPAIR_REQUIRED row. Read-only at Avanza. |
| avanza_position_strategy_register_batchA | Dry-run or atomically register reviewed strategy plans for exact live account-position states. Changes only the private local registry, never Avanza; confirm=true requires MCP R/W but not live-trading authorization. An explicit per-row preservation flag can update semantics without rebaselining a reviewed holding-only exception, but refuses every stop/order or other mismatch. Every row requires an explicit protection classification and instrument-specific reason. |
| avanza_open_ordersA | List live open/pending regular orders, optionally filtered by instrument, side, or status, with stable IDs for edit/cancel flows. |
| avanza_open_orders_rawC | Debug tool: return normalized open orders plus raw Avanza order payload for schema diagnostics. |
| avanza_ongoing_ordersB | List ongoing orders for the selected account: live stop-losses + live open orders, with optional paper active orders. |
| avanza_transactionsB | List executed orders/history (BUY/SELL by default) with optional account/date/type filters. |
| avanza_live_snapshotB | Read a decision-ready snapshot for polling loops; supports compact instrument filtering to reduce payload size. |
| avanza_positionA | Read one account position by orderbook_id without dumping the full portfolio. |
| avanza_instrument_stoplossesB | Read stop-loss rows for one instrument/account with optional side/status filters. |
| avanza_instrument_open_ordersB | Read open/pending regular orders for one instrument/account, with optional raw payload diagnostics. |
| avanza_instrument_transactionsB | Read recent transactions for one instrument/account without dumping unrelated history. |
| avanza_instrument_stateC | Read one instrument's quote, position, active/error stops, open orders, recent transactions, and protection summary. |
| avanza_protection_gapsB | Audit exact strategy-classified SELL targets, failed SELL stops, and overcoverage. By default it preserves current active SELL volume as the baseline and does not infer full-holding protection for core positions. |
| avanza_sold_today_buyback_stateB | Summarize same-day sold instruments and fail closed on economic recovery coverage. Same-day BUY fills offset sold volume; active BUY stops count only with durable sold-slice recovery attribution, and regular BUY orders remain unattributed exposure. |
| avanza_recovery_reachabilityA | Read-only fail-closed audit of active BUY reachability. Flags fixed rows beyond the review-distance limit, overly wide reversal gliders, and deep-only recovery designs without treating the thresholds as placement advice. |
| avanza_recent_fills_needing_protectionA | Review recent BUY fills without assuming they require full-holding SELL stops. Missing SELL coverage is reported only against an explicit percentage or exact strategy-classified target. |
| avanza_verify_no_raw_failed_ordersC | Compact post-mutation check for failed/rejected open regular orders. |
| avanza_verify_protectionB | Compact post-mutation check against exact strategy SELL targets. Without explicit targets, it checks failed SELL rows and overcoverage without inferring a full-holding exit. |
| avanza_realtime_quotesB | Fetch real-time quote snapshot for selected account holdings (best with a 5s polling loop). |
| avanza_orderbook_quotesB | Fetch arbitrary quote snapshots for supplied orderbook IDs (supports 5s polling loops for 20-50 symbols). |
| avanza_market_moversB | Fetch Avanza market movers (gainers/losers) with optional country/market/turnover filters. |
| avanza_index_constituentsB | Fetch index constituents (default OMXS30) with optional quote/spread enrichment for building a liquid scalp universe. |
| avanza_fee_estimateB | Estimate courtage/FX costs and break-even move for a planned trade (conservative assumptions when exact class data is unavailable). |
| avanza_search_stockA | Search Avanza stock/order book data by name, ticker, or ISIN. |
| avanza_paper_stoploss_setA | Create a local paper stop-loss order. This never places an Avanza order and is allowed in MCP read-only mode. |
| avanza_paper_ordersB | List local paper-trading orders and events for the selected account, or a supplied account_id. |
| avanza_paper_positionsB | List paper positions for a selected account/session, with optional active-only filter. |
| avanza_paper_tradesB | List completed paper trades (entry+exit ledger rows) for account/session. |
| avanza_paper_session_summaryC | Return P/L summary for a paper trading session/account. |
| avanza_paper_order_setA | Create a local paper buy/sell order. This never places an Avanza order and is allowed in MCP read-only mode. |
| avanza_paper_order_exitA | Close an open paper position by position_id or orderbook_id and create a completed paper trade entry. |
| avanza_paper_risk_stateB | Evaluate paper-session guardrails before allowing a new trade entry. |
| avanza_scalp_watchlist_setA | Store/update a named scalp watchlist (orderbook IDs + optional labels) in local paper session state. |
| avanza_scalp_watchlist_getA | Load a named scalp watchlist and optionally include current quotes for all members. |
| avanza_paper_cancelA | Cancel a local paper order. This never changes Avanza and is allowed in MCP read-only mode. |
| avanza_stoploss_setB | Dry-run or place a stop-loss order. Live placement requires TUI R/W mode, confirm=true, strategy_intent, and strategy_reason. |
| avanza_stoploss_set_batchA | Place multiple stop-loss orders with per-item validation/readback. Every live item requires strategy_intent and strategy_reason in addition to TUI R/W mode, live authorization, and confirm=true. |
| avanza_order_setB | Dry-run or place a regular buy/sell order. Live placement requires TUI R/W mode and confirm=true. |
| avanza_order_editA | Dry-run or update an existing open order (price/volume/valid_until). Live update requires TUI R/W mode and confirm=true. |
| avanza_open_order_editB | Dry-run or update an existing open/pending regular order (alias of avanza_order_edit). Live update requires TUI R/W mode and confirm=true. |
| avanza_order_deleteA | Dry-run or delete a regular open order. Live deletion requires TUI R/W mode and confirm=true. |
| avanza_open_order_cancelA | Dry-run or cancel an existing open/pending regular order (alias of avanza_order_delete). Live cancellation requires TUI R/W mode and confirm=true. |
| avanza_stoploss_deleteA | Dry-run or delete a stop-loss order. Live deletion requires TUI R/W mode, confirm=true, strategy_intent, strategy_reason, and an exact match to durable stop metadata. |
| avanza_stoploss_editB | Dry-run or edit an existing stop-loss (place new + delete old). Live MCP placement requires strategy_intent and strategy_reason. |
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 82 tools
Many tools overlap in scope: avanza_status, avanza_capabilities, and data_source_status all report state, while multiple order and audit tools have near-identical names such as avanza_open_orders vs avanza_ongoing_orders and avanza_open_order_cancel vs avanza_order_delete. The descriptions help, but an agent would frequently struggle to pick the correct tool.
The server broadly uses avanza_* and tv_* prefixes with readable verb_noun names, but consistency breaks down with aliases like avanza_open_order_cancel vs avanza_order_delete, adjective-noun names like avanza_live_snapshot, and mixed provider prefixes like zacks_scrape_symbol vs fmp_analyst_recommendations.
82 tools is far beyond the typical well-scoped MCP server and includes many aliases, per-instrument read variants, and overlapping audit helpers. Even with multiple integrations, the tool surface feels inflated rather than carefully pruned.
Core workflows are well covered: live and paper order lifecycle, stop-loss management, portfolio/position reads, quotes, transactions, account selection, multi-source market data, and strategy audits. Minor gaps exist, such as no dedicated single-order status fetch or paper stop-loss edit tool, but the main strategy-protection workflow has no obvious dead ends.