# Ändringslogg
Alla viktiga ändringar i projektet dokumenteras i denna fil.
## [2.5.3] - 2025-11-28
### Fixat
- **scb_preview_data förbättrad** - Nu skapar smart default-selection för ALLA dimensioner:
- Hämtar tabellmetadata först för att förstå strukturen
- Skapar automatiskt begränsad selection för varje dimension
- Tid-variabler: `TOP(1)` (senaste perioden)
- ContentsCode: första värdet
- Andra variabler: alla om ≤3 värden, annars första 2
- Fungerar nu med komplexa tabeller som TAB638 (6 dimensioner)
- **Förbättrad felhantering i preview** - Specifika feltyper:
- `table_too_complex` - För 500-fel med hjälpsamma tips
- `invalid_selection` - För valideringsfel
- `table_not_found` - För 404-fel
- Varje feltyp har anpassade suggestions
### Tillagt
- **Transport-kategori** i `scb_search_tables`:
- Nyckelord: transport, trafik, fordon, bil, kollektivtrafik, flyg, järnväg, gods, infrastruktur
- Nu 8 kategorier: population, labour, economy, housing, environment, education, health, transport
## [2.5.2] - 2025-11-28
### Tillagt
- **MCP 2025 Tool Annotations** - Alla 10 verktyg har nu:
- `title` - Användarvänlig rubrik
- `readOnlyHint: true` - Indikerar att alla verktyg är read-only (inga sidoeffekter)
- `openWorldHint` - Indikerar om verktyget gör externa API-anrop eller använder lokal data
- **4 Interaktiva Prompts** enligt MCP-specifikationen:
- `get_started` - Introduktion till SCB MCP Server med arbetsflöde och tips
- `find_population_data` - Steg-för-steg guide för befolkningsstatistik (med dynamisk kommun-parameter)
- `compare_regions` - Guide för att jämföra regioner (med parameters för regioner och ämne)
- `search_statistics` - Guide för att söka statistik (med automatisk svensk översättning)
### Förbättrat
- **Capabilities declaration** - Server deklarerar nu korrekt stöd för:
- `tools` - Med annotations-metadata
- `resources` - 8 fördefinierade resurser (instruktioner, regioner, kategorier)
- `prompts` - 4 interaktiva guider
### Tekniskt
- Följer MCP 2025 specifikation för tool annotations
- Prompts stödjer dynamiska argument (municipality, regions, topic)
- GetPromptRequestSchema-handler implementerad
## [2.5.1] - 2025-11-28
### Tillagt
- **Komplett regionsdatabas** - Ny fil `src/regions.ts` med alla 312 svenska regioner:
- 1 land (Riket)
- 21 län med koder (01-25)
- 290 kommuner med koder (0114-2584)
- Snabba lokala sökningar utan API-anrop
- Fuzzy matching för svenska tecken (ä/a, ö/o, å/a)
- **LLM-instruktioner** - Ny fil `src/instructions.ts` med:
- Detaljerade instruktioner för AI-assistenter
- 6 statistikkategorier med söktermer (befolkning, ekonomi, miljö, arbetsmarknad, utbildning, boende)
- Arbetsflödesmallar för vanliga uppgifter
- Tips för effektiv användning
- **Förbättrad server-beskrivning** - MCP-servern inkluderar nu:
- Snabbstartsinstruktioner i server metadata
- Regionkodsformat (län vs kommun)
- Lista över tillgängliga kategorier
- Information om databasinnehåll (312 regioner)
### Ändrat
- **`scb_search_regions` använder lokal databas** - Söker nu direkt i komplett regionsdatabas istället för API
- **`scb_find_region_code` förbättrad** - Prioriterar lokal databas, använder API endast för tabellspecifik verifiering
- **Bättre felmeddelanden** - Visar antal regioner i databasen och exempelregioner vid misslyckad sökning
### Tekniskt
- Alla 290 kommuner och 21 län verifierade mot SCB:s officiella regionkoder
- Inkluderar länstillhörighet för alla kommuner
- Exporterar hjälpfunktioner: `searchRegions()`, `findRegion()`, `getMunicipalitiesInCounty()`
## [2.5.0] - 2025-11-28
### Kritiskt
- **API-endpoint migrerad till produktion** - Bytt från beta (`api.scb.se/OV0104/v2beta/api/v2`) till produktion (`statistikdatabasen.scb.se/api/v2`)
- **Navigation endpoint borttagen** - `/navigation` finns inte längre i SCB API v2.0, `getNavigation()` kastar nu tydligt felmeddelande
### Tillagt
- **`effective_selection` i responses** - `scb_get_table_data` och `scb_preview_data` visar nu vilken selection som faktiskt användes
- **Kategorivalidering** - `scb_search_tables` returnerar nu fel vid ogiltig kategori med lista på giltiga värden
- **Förbättrad regionssökning** - `scb_find_region_code` använder nu samma inbyggda regionslista som `scb_search_regions` för snabbare svar
- **Fallback vid API-fel** - Om API-sökning misslyckas faller regionssökning tillbaka på lokal databas
### Ändrat
- **`scb_test_selection` accepterar tom selection** - Returnerar nu info om default-beteende istället för fel
- **`scb_check_usage` returnerar JSON** - Strukturerat format med `usage`, `status`, `tips`, `api_info`
- **`scb_get_api_status` returnerar JSON** - Strukturerat format med `api`, `current_usage`, `citation`, `tips`
- **Alla exempel-ID:n uppdaterade** - Bytt från `BE0101N1` till `TAB4552`/`TAB4560` (TAB-format)
- **Förstärkt dokumentation** - Tydligare betoning på svenska söktermer för bättre resultat
### Fixat
- **Schema matchar nu PxAPI 2.0 spec** - `appVersion`, `defaultDataFormat`, `dataFormats` är nu required per spec
- **Tool descriptions synkroniserade** - Schema och beskrivningar matchar nu faktiskt beteende
### Tekniskt
- Verifierad mot officiell PxAPI 2.0 OpenAPI-specifikation
- Alla endpoints testade mot produktions-API
- TypeScript-typer uppdaterade för striktare validering
## [2.4.2] - 2025-11-28
### Tillagt
- **Svenska som standardspråk** - Alla verktyg använder nu `sv` som default istället för `en`
- **Central språkvalidering** - Endast `sv` och `en` accepteras, med tydlig varning vid ogiltigt språk
- **Fuzzy matching för svenska tecken** - "Goteborg" matchar nu "Göteborg", "Malmo" matchar "Malmö"
- **Förbättrad regionsökning** - Alla 21 svenska län + större kommuner finns nu i lokal fallback-data
- **Strukturerade JSON-felmeddelanden** - Konsistenta fel med `type`, `message`, `details` och `suggestions`
### Fixat
- **Felaktig regionskod för Lerum** - Kod 1484 pekade felaktigt på Lerum, nu korrigerat till 1441 (korrekt SCB-kod för Lerum kommun)
- **Lysekil tillagd** - Kod 1484 pekar nu korrekt på Lysekil kommun
- **scb_test_selection krasch** - Verktyget kraschar inte längre när `selection` saknas
- **pageSize-begränsning** - `scb_search_tables` begränsar nu `pageSize` till max 100
- **Borttaget scb_browse_folders** - Verktyget är nu helt borttaget (SCB API v2 stödjer inte `/navigation`)
### Förbättrat
- Bättre felhantering med hjälpsamma förslag
- Regionsökning kombinerar nu API-sökning med lokal fuzzy matching
- Alla handlers använder validerad språkparameter
### Säkerhet
- **body-parser DoS fix** - Uppdaterad till säker version (CVE-2024-45590)
## [2.4.1] - 2025-11-23
### Tillagt
- **HTML-dokumentation på root-path** - https://scb-mcp.onrender.com/ visar nu README.md som en snygg HTML-sida
- GitHub-liknande styling för dokumentationen
- Länkar till API Endpoint, Health Check och GitHub repo i header
- Responsiv design för mobila enheter
### Förbättrat
- README.md nu tillgänglig som både markdown och formaterad HTML
- Bättre användarupplevelse vid besök på root URL
## [2.4.0] - 2025-11-23
### Tillagt
- **6 Promptmallar** för strukturerade arbetsflöden:
- `analyze-regional-statistics` - Analysera regional statistik
- `compare-municipalities` - Jämför statistik mellan kommuner
- `find-statistics-table` - Hitta rätt SCB-tabell
- `build-custom-query` - Steg-för-steg guide för komplex query
- `employment-trend-analysis` - Analysera sysselsättnings-/arbetslöshetstrend
- `population-demographics` - Hämta demografisk information
- **Prompts capability** i MCP-server enligt officiell specifikation
- **render.yaml** för optimerad Render-deployment
- Fullständig MCP-protokollimplementation med tools OCH prompts
### Förbättrat
- README uppdaterad med prompt-dokumentation och exempel
- Server capabilities nu inkluderar både tools och prompts
- Bättre deployment-konfiguration för Render
## [2.3.0] - 2025-11-23
### Tillagt
- **5 tidigare oimplementerade verktyg nu funktionella:**
- `scb_test_selection` - Validera selektioner innan API-anrop
- `scb_preview_data` - Förhandsgranska data (max 20 rader)
- `scb_browse_folders` - Navigera SCB:s databasstruktur
- `scb_search_regions` - Sök regioner på namn (fuzzy search)
- `scb_find_region_code` - Hitta exakta regionkoder för kommun/län
### Fixat
- **Verklig kvothantering:** `scb_check_usage` och `scb_get_api_status` visar nu faktisk API-användning istället för statiska värden
- **Korrekt metadata:** `query.table_id` i `get_table_data` visar nu rätt tabell-id istället för dimension-namn
- **Strukturerad felhantering:** Fel returneras som JSON-objekt med separata fält för HTTP-status, SCB-fel och meddelanden
- **Bättre felgranularitet:** 424-fel och andra fel inkluderar nu timestamp och strukturerad information
### Förbättrat
- Utökad region-sökning med typ-identifiering (county/municipality/country)
- Preview-data med automatisk selection om ingen anges
- Test-selection med hjälpsamma felmeddelanden och förslag
## [2.2.0] - 2025-11-23
### Borttaget
- Alla E-hälsomyndigheten-verktyg (ehealth_search_tables, ehealth_get_table_info, ehealth_get_medicine_data)
- Fokuserar nu enbart på SCB-statistik
### Ändrat
- Servernamn från "SCB & E-hälsomyndigheten Statistics Server" till "SCB Statistics Server"
- Antal verktyg från 14 till 11
- Uppdaterade beskrivningar för att reflektera SCB-fokus
## [2.1.0] - 2025-11-22
### Tillagt
- Fullständigt MCP-protokollstöd med initialize och initialized metoder
- HTTP transport med CORS-stöd
- Express-baserad HTTP-server
### Fixat
- OAuth/autentiseringsfel med Claude Code
- MCP-handshake-protokoll nu korrekt implementerat
## [1.0.0] - 2025-11-20
### Tillagt
- Initial release
- 11 SCB-verktyg för statistikåtkomst
- Automatisk variabelöversättning
- Förhandsvalidering av queries
- Rate limiting enligt SCBs API-specifikation