Avanza MCP Server
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 | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| filter_certificatesA | Select certificates by upstream filters with server-side pagination. Filter labels are upstream-defined, not a fixed vocabulary. Select an orderbookId from results before requesting info or extended details. |
| get_certificate_infoB | Get certificate identity and latest available market data, not guaranteed real-time. |
| get_certificate_detailsC | Get recognized extended certificate details beyond info. |
| filter_etfsA | Select ETFs by upstream filters, with server-side pagination. Filter vocabulary is upstream-defined; inspect returned filterOptions rather than guessing labels. Use get_etf_info for a selected orderbookId. |
| get_etf_infoA | Get ETF identity, listing and latest available quote; not guaranteed real-time. |
| get_etf_detailsA | Get extended ETF details beyond info. Detail fields are upstream-defined and flexible. |
| get_fund_sustainabilityA | Get latest available fund ESG and sustainability data, not a real-time assessment. |
| get_fund_chartA | Get a page of raw fund dataSerie points in source order, without aggregation. x/y values retain upstream meaning; y is not assumed to be NAV or a return. Offset/limit slice the chosen period; dates describe the full source period. |
| get_fund_chart_periodsA | Get available fund performance periods, rather than individual chart points. startDate is the source period start date. change retains its upstream scale; do not assume it uses the same scale as fund-guide development fields. |
| get_fund_descriptionB | Get the fund's investment description and category explanation. |
| get_fund_holdingsA | Get reported country, sector and holding allocations, not a complete position ledger. portfolioDate is the source portfolio date, not retrieval time. Missing dates are not inferred. Missing allocations are null; reported empty arrays stay []. Allocation values are returned without unit conversion. |
| list_futures_forwardsB | Select futures/forwards with server-side pagination and ISO YYYY-MM-DD end dates. Use get_future_forward_filter_options for current filter vocabulary. The Matrix results include recognized contract, option, filter, and pagination fields. |
| get_future_forward_infoC | Get contract identity and latest available market data, not guaranteed real-time. |
| get_future_forward_detailsC | Get recognized extended contract details beyond info. |
| get_future_forward_filter_optionsA | Get current upstream filter options before selecting futures/forwards. Option names and values retain their upstream vocabulary. |
| get_number_of_ownersB | Page Avanza ownersPoints in source order and preserve the full historySummary. data contains upstream fields, not a fabricated top-level owner count. Summary fields describe the full source history, not this page. Not market-wide ownership. |
| get_short_sellingA | Page shortSellingHistory in source order; timestamp/ratio values are not converted. data preserves upstream fields. A page is not the full history or a latest-value summary. Offset zero is the beginning of source order, not necessarily newest. |
| get_marketmaker_chartA | Get raw OHLC and market-maker data for traded products, not stock/fund charts. Both arrays are independently sliced with the same offset/limit in source order; their metadata counts are separate. No point alignment, aggregation or unit conversion is inferred. Upstream fields are under data, separate from wrapper pagination keys. Not guaranteed real-time. |
| get_stock_infoA | Get stock identity, listing, company, ratios and latest available quote. Use search_instruments to select an order_book_id. For pricing only, prefer get_stock_quote. Data is not guaranteed real-time. |
| get_fund_infoA | Get fund identity, latest available NAV, fees, risk and allocations. Missing currency and tradeability remain unknown. Not guaranteed real-time. Use get_fund_holdings for allocations only, get_fund_chart for raw history. |
| get_stock_chartA | Get a page of raw stock OHLC points in source order, without aggregation. Offset/limit slice the selected period, not a date range. Metadata describes the full upstream period. Upstream fields live under data, isolated from wrapper pagination keys. Latest available data is not guaranteed real-time. |
| get_orderbookA | Get latest available buy/sell depth; empty levels are valid. Not guaranteed real-time. |
| get_stock_analysisA | Get one named metric within a ratio section, paginated in source order. Select annual, quarterly, quarter-over-quarter, TTM, or company annual ratios. For dividends or financial statements use the dedicated tools. The selected section and metric names are retained inside data; absent fields are omitted. Example metric: priceEarningsRatio for stock ratios, earningsPerShare for company ratios. available_metrics lists the selected section's names. Sibling series and keyRatios summary sections are intentionally excluded, not aggregated. Units and record details are upstream-defined; no normalization is applied. |
| get_stock_quoteA | Get latest available stock prices and trading data, without company details. Not guaranteed real-time; inspect isRealTime and upstream timestamps. Null is unknown; zero is a reported value. |
| get_marketplace_infoB | Get latest available marketplace status and trading hours. |
| get_recent_tradesB | Page through the latest available trade snapshot in upstream order. Not a complete trade history or guaranteed real-time feed. Separate page requests may observe a changed snapshot; total is the current source count. |
| get_broker_trade_summaryB | Get upstream broker buy/sell summaries; these do not identify investor types. |
| get_dividendsA | Page one dividendsByYear metric: dividendPerShare, directYieldRatio or dividendPayoutRatio. data preserves the upstream section name. Missing data is omitted, not an empty history. Records contain financialYear, reportType, value and optional date, not inferred ex/payment dates. available_metrics lists names only; sibling series are excluded. Units and scales are upstream-defined. |
| get_company_financialsB | Page one metric in an annual, quarterly, TTM or quarter-only financial section. data preserves the selected upstream field name and recognized record fields. Verified metric names include sales, netProfit, profitMargin, totalAssets, totalLiabilities and debtToEquityRatio. available_metrics lists names, not sibling series. Missing sections are omitted, not fabricated. No unit conversions are made. |
| search_instrumentsA | Search names, tickers or ISINs and return compact instrument identities. Select by name, type, exchange, ISIN and currency, not rank alone. One page of at most 50 candidates is examined, with stock/fund filtering upstream; other types are filtered locally. All excludes FAQ, unknown types and invalid IDs. Type/ID filtering precedes limit. totalNumberOfHits counts valid matching candidates before limit, not a full filtered universe. candidatesExamined includes discarded hits; upstreamTotalNumberOfHits is before local filtering. No additional pages are fetched. Search is not an authoritative ID registry. |
| get_instrument_by_order_book_idA | Match an exact order_book_id among at most 50 search candidates. Search is not authoritative: failure to match does not prove the ID is invalid. Never substitutes the first or a similarly named search result. |
| filter_warrantsB | Select warrants by upstream filters with server-side pagination. Sub-type, direction and issuer vocabulary is upstream-defined. Select an orderbookId from results before requesting info or extended details. |
| get_warrant_infoA | Get warrant identity and latest available market data, not guaranteed real-time. |
| get_warrant_detailsC | Get recognized extended warrant details beyond info. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_stock | Research one stock's available fundamentals and price history, not news. |
| compare_funds | Compare at least two nonempty fund names; encode the list as JSON over MCP. |
| screen_dividend_stocks | Screen supplied stock candidates, not a market universe, by yield percent. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_usage_guide | Read static tool-selection, coverage and data-interpretation guidance. |
| get_quick_start | Read a short static workflow for scoped market-data research. |
TDQS
Scored across 34 tools
Tools are largely distinct by resource (stock, fund, ETF, warrant, certificate, future/forward) and action (info, details, chart, filter, list). However, info vs details pairs for the same instrument type and overlapping fund/stock data tools (e.g., get_stock_info vs get_stock_quote) create minor ambiguity that descriptions mostly resolve.
All tool names use consistent snake_case with verb-first patterns (get_, filter_, list_, search_). The naming is predictable and readable across the set.
34 tools is excessive for the apparent scope; many info/details pairs and separate filter tools for each instrument type could be consolidated via parameters, reducing the count significantly.
The surface covers many data aspects for stocks, funds, ETFs, certificates, warrants, and futures/forwards, but lacks tools for other common asset classes (e.g., options, bonds, indices) and news/events, leaving some gaps for a comprehensive financial data server.