Install
$ agentstack add mcp-hpasic-nordnet-mcp Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
nordnet-mcp
Read-only MCP server for Nordnet portfolio data.
It exposes Nordnet accounts, positions, trades, balances, and instrument lookup/search to MCP-compatible clients such as Claude Code, Claude Desktop, and Cursor.
Important:
- This project is unofficial and is not affiliated with, endorsed by, or supported by Nordnet.
- It uses your existing Nordnet browser session token.
- The token is short-lived and typically expires after a couple of hours.
- Never commit your token or share your
.envfile.
Status
This project is intended for technical users who are comfortable extracting a browser session token manually.
Today, the biggest setup friction is authentication, not the MCP server itself.
Features
- Read-only access to Nordnet portfolio/account data
- 14 MCP tools across accounts, instruments, and reference data
- Supports Nordnet Sweden, Norway, Denmark, and Finland hosts
- Environment-variable based setup
- Packaged as a Python CLI entrypoint:
nordnet-mcp
Quickstart
1. Install uv
If you do not already have uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
2. Get your Nordnet session token
- Log into
nordnet.se(or your local Nordnet domain) in your browser. - Open DevTools.
- Go to Application/Storage → Cookies.
- Select the Nordnet domain.
- Find the cookie named
NNX_SESSION_ID. - Copy its value and use that as
NORDNET_SESSION_TOKEN. - It will usually look like a UUID-style value such as
7f3a91c2-5648-4dbe-8a17-29c4e6b1f053.
3. Configure credentials
Create a .env file in the working directory used to launch the server (typically the repo root when using uv run --directory ...):
cat > .env <<'EOF'
NORDNET_SESSION_TOKEN=your_token_here
NORDNET_HOST=public.nordnet.se
EOF
Supported hosts:
public.nordnet.sepublic.nordnet.nopublic.nordnet.dkpublic.nordnet.fi
4. Run the server locally
From a local clone:
git clone https://github.com/hpasic/nordnet-mcp.git
cd nordnet-mcp
uv run nordnet-mcp
If your .env is not in the repo root, export the variables in your shell before starting the server.
MCP client setup
Claude Code
{
"mcpServers": {
"nordnet": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/nordnet-mcp",
"nordnet-mcp"
]
}
}
}
Claude Desktop / generic stdio MCP clients
{
"mcpServers": {
"nordnet": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/nordnet-mcp",
"nordnet-mcp"
],
"env": {
"NORDNET_SESSION_TOKEN": "your_token_here",
"NORDNET_HOST": "public.nordnet.se"
}
}
}
}
Claude Desktop / generic stdio MCP clients (Docker)
{
"mcpServers": {
"nordnet": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "NORDNET_SESSION_TOKEN=your_token_here",
"-e", "NORDNET_HOST=public.nordnet.se",
"ghcr.io/hpasic/nordnet-mcp:latest"
]
}
}
}
Notes:
- Replace
/absolute/path/to/nordnet-mcpwith your local clone path. - Supplying credentials through the MCP client's
envblock is often the easiest option. - When the token expires, update the token and restart the MCP server.
Available tools
Accounts
list_accounts— list all accounts with types and IDsget_account_info— balances and buying powerget_positions— holdings with P&Lget_trades— executed trades (0-7 days back)get_ledgers— currency balancesget_orders— active ordersget_daily_transactions— today's transactions
Instruments
get_instrument— instrument details (batch supported)lookup_instrument— find by ISIN or market IDsearch_stocks— free-text stock searchcheck_suitability— check whether an instrument is tradeable
Reference
get_countries— country listget_instrument_types— instrument typesget_search_attributes— search filter attributes
Development
uv sync --group dev
uv run pytest -q
uv build
Security notes
- Do not commit
.env. - Do not paste your session token into issues or logs.
- Tokens are short-lived; if you get a 401/session-expired error, fetch a fresh token from the browser.
- This server is read-only by design.
Limitations
- Authentication depends on a manually extracted Nordnet browser session token.
- Tokens expire frequently.
- The API is unofficial and may change without notice.
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: hpasic
- Source: hpasic/nordnet-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.