Skip to main content

Avanza MCP Server

PyPI - Version CI

Read-only access to Avanza's public market data from your MCP client. No Avanza account required.

Disclaimer

This is an unofficial API client/MCP Server. Not affiliated with Avanza Bank AB. The underlying API can be taken down or changed without warning at any point in time.

The author of this software is not responsible for any indirect damages (foreseeable or unforeseeable), such as, if necessary, loss or alteration of or fraudulent access to data, accidental transmission of viruses or of any other harmful element, loss of profits or opportunities, the cost of replacement goods and services or the attitude and behavior of a third party.

Features

  • Stocks, funds, ETFs, certificates, warrants and futures/forwards.
  • Quotes, charts, financial ratios, dividends, order books and ownership data.
  • Fund performance, fees, holdings, sustainability and research prompts.

Setup

Requires uv and Python 3.12+. Local clients launch the server over stdio.

Claude Desktop and Cursor

Both use this configuration:

{
  "mcpServers": {
    "avanza": {
      "command": "uvx",
      "args": ["avanza-mcp"]
    }
  }
}
  • Claude Desktop: open Settings > Developer > Edit Config, merge the configuration, then fully restart Claude Desktop.
  • Cursor: add it to .cursor/mcp.json in your project, or ~/.cursor/mcp.json globally. Enable the server in Cursor's MCP settings.
Claude Code

Run in your project:

claude mcp add avanza -- uvx avanza-mcp

Use /mcp in Claude Code to check the connection.

Visual Studio Code

Add to .vscode/mcp.json, or open MCP: Open User Configuration for global setup:

{
  "servers": {
    "avanza": {
      "type": "stdio",
      "command": "uvx",
      "args": ["avanza-mcp"]
    }
  }
}

Run MCP: List Servers, start avanza, and enable its tools in agent chat.

OpenCode

Add to your project's opencode.json or global ~/.config/opencode/opencode.json:

{
  "mcp": {
    "avanza": {
      "type": "local",
      "command": ["uvx", "avanza-mcp"],
      "enabled": true
    }
  }
}
HTTP and ChatGPT

From a source checkout:

uv sync
uv run fastmcp run src/avanza_mcp/__init__.py:mcp --transport http

Connect HTTP clients to http://localhost:8000/mcp. ChatGPT requires a remotely reachable HTTPS deployment; add its /mcp URL using ChatGPT's developer-mode setup.

This project does not provide a hosted endpoint. Configure access controls before exposing your server publicly.

Python

Install with uv add avanza-mcp, then use FastMCP's in-process client:

import asyncio
from fastmcp import Client
from avanza_mcp import mcp

async def main():
    async with Client(mcp) as client:
        result = await client.call_tool(
            "search_instruments", {"query": "Volvo", "instrument_type": "stock"}
        )
        print(result.structured_content)

asyncio.run(main())

If a desktop client cannot find uvx, use its absolute executable path. See DEVELOPMENT.md for running from source and tests.

Tools

All 34 tools are read-only. Search first to obtain an order_book_id; history tools expose pagination. Data is latest available, not guaranteed live.

Category Tool Description
Search search_instruments Find instruments by name, ticker or ISIN
Search get_instrument_by_order_book_id Match an exact ID within search candidates
Stocks get_stock_info Company, listing, fundamentals and quote
Stocks get_stock_quote Latest price and trading volume
Stocks get_stock_chart Historical OHLC price points
Stocks get_stock_analysis A named financial-ratio history
Stocks get_dividends A named dividend metric by financial year
Stocks get_company_financials A named annual or quarterly financial metric
Market get_orderbook Bid/ask depth
Market get_marketplace_info Trading hours and market status
Market get_recent_trades Recent trade snapshot
Market get_broker_trade_summary Broker buy/sell activity
Funds get_fund_info NAV, performance, fees and fund information
Funds get_fund_sustainability ESG and sustainability metrics
Funds get_fund_chart Historical fund chart points
Funds get_fund_chart_periods Available performance periods
Funds get_fund_description Investment strategy and category
Funds get_fund_holdings Country, sector and top-holding allocations
Certificates filter_certificates Filter and list certificates
Certificates get_certificate_info Certificate information
Certificates get_certificate_details Extended certificate details
Warrants filter_warrants Filter and list warrants
Warrants get_warrant_info Warrant information
Warrants get_warrant_details Extended warrant details
ETFs filter_etfs Filter and list ETFs
ETFs get_etf_info ETF information
ETFs get_etf_details Extended ETF details
Futures/Forwards list_futures_forwards Filter and list contracts
Futures/Forwards get_future_forward_filter_options Available contract filters
Futures/Forwards get_future_forward_info Contract information
Futures/Forwards get_future_forward_details Extended contract details
Additional get_number_of_owners Avanza ownership history
Additional get_short_selling Short-selling history
Additional get_marketmaker_chart Traded-product OHLC and market-maker data

Prompts

  • analyze_stock(stock_symbol) - Research a stock's fundamentals and price history.
  • compare_funds(fund_names) - Compare two or more supplied funds.
  • screen_dividend_stocks(candidates, min_yield=3.0) - Screen supplied stocks by dividend yield.

Resources

  • avanza://docs/usage - Tool usage guide.
  • avanza://docs/quick-start - Common workflows.
  • avanza://stock/{order_book_id} - Stock summary as Markdown.
  • avanza://fund/{order_book_id} - Fund summary as Markdown.

License

MIT

Metadata

Release files for avanza-mcp 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for avanza-mcp 2.0.0
File Size Uploaded Provenance Actions
avanza_mcp-2.0.0.tar.gz 125.4 kB Without provenance Details for avanza_mcp-2.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for avanza-mcp 2.0.0
File Interpreter ABI Platform Actions
avanza_mcp-2.0.0-py3-none-any.whl Python 3 none any Details for avanza_mcp-2.0.0-py3-none-any.whl

Total release size: 177.0 kB

Release files / avanza_mcp-2.0.0.tar.gz

Download URL avanza_mcp-2.0.0.tar.gz
Size 125.4 kB
Tags Source
SHA-256 checksum
How to use checksums
33e48aef06025ef240f66556fcce892989317f4177cc51b4410f407d34739b31
BLAKE2b-256 checksum
How to use checksums
b0f1c265cc6c04d66e04a6ac0eca7ae9086eaa6e17d80c33ac7cd0a5d7fe8d54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / avanza_mcp-2.0.0-py3-none-any.whl

Download URL avanza_mcp-2.0.0-py3-none-any.whl
Size 51.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e2ca8165876a936f063f328d1513a99ae8dc66b547539cbb38b11eb591fd3f3e
BLAKE2b-256 checksum
How to use checksums
55eda16e5f2c42ffbdff400cd169f8627fe7b0a8916a44fc881262488e17d8dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for avanza-mcp 2.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page