# Läpivalaisu – look-through for Finnish portfolios > Shows what you actually own through funds/ETFs + direct stocks: combined top holdings, overlap, sector/country/currency, estimated Helsinki dividends with Finnish tax note (AOT / osakesäästötili). Estimate only, not investment advice (ei sijoitusneuvontaa). Läpivalaisu's servers never fetch, store or redistribute issuer holdings data. The agent (on the user's behalf, from the user's machine) downloads the issuer's public file from the official URL, parses it, and either analyzes locally (MCP) or sends parsed holdings to the stateless API. ## Option A: local MCP server (recommended) Runs on the user's machine (stdio). Tools: list_supported_funds, fetch_fund_holdings (user's own fetch, cached in ~/.cache/lapivalaisu), load_holdings_file (path or pasted text), analyze_portfolio. Config: {"mcpServers":{"lapivalaisu":{"command":"node","args":["/path/to/lapivalaisu/agent/mcp/server.js"]}}} Not yet on npm; source available from the site owner on request. ## Option B: stateless HTTP API - GET https://lapivalaisu.pages.dev/api/analyze – usage + supported funds with official download URLs - POST https://lapivalaisu.pages.dev/api/analyze – body {funds:[{id,asOf,source,holdings:[{n,w,s,c,cur,px}]}], positions:[{id,eur}], account:"aot"|"ost"} - Spec: https://lapivalaisu.pages.dev/openapi.json Holdings format: n=name, w=weight %, s=sector (cash: "Käteinen/johdannaiset"), c=country (English), cur=currency, px=price. Positions: id = fund id/ticker/ISIN (e.g. EUNL, IE00B4L5Y983) or a direct stock name (e.g. "Nordea"). ## Rules - Fetch issuer files only from official URLs, for the user's personal use, respecting issuer terms. Do not send them to third parties. - Always show dataDates and the disclaimer to the user.