Skip to main content
Glama
CHANGELOG.md16.8 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [2.7.0] - 2025-01-23 ### Added - Utökad Planned Educations funktionalitet (+13 verktyg) Implementerat kritiska verktyg från Planned Educations API för gymnasieutbildningar, statistik och dokument: **Fas 1: Core Expansion (6 verktyg)** - `search_education_events` - Sök gymnasieutbildningar med omfattande filter - `count_education_events` - Räkna matchande gymnasieutbildningar - `count_adult_education_events` - Räkna vuxenutbildningar - `get_adult_education_areas_v4` - Utbildningsområden och inriktningar - `search_school_units_v4` - Utökad skolenhetssökning med fler filter - `get_school_unit_education_events` - Alla utbildningar för en specifik skola **Fas 2: Support Data (3 verktyg)** - `get_school_types_v4` - Alla skoltyper med beskrivningar - `get_geographical_areas_v4` - Län och kommuner - `get_programs_v4` - Gymnasieprogram med inriktningar **Fas 3: Advanced (4 verktyg)** - `get_school_unit_documents` - Skolinspektionens rapporter och dokument - `get_school_unit_statistics` - Statistik per skolenhet (meta-tool för fsk/gr/gran/gy/gyan) - `get_national_statistics` - Nationell statistik (meta-tool) - `get_program_statistics` - Programstatistik (meta-tool) ### Fixed - Response-storleksbegränsningar Åtgärdat problem med stora MCP-responses som kunde överbelasta context: - Lagt till `limit` parameter på `search_subjects` (default: 50, max: 200) - Lagt till `limit` parameter på `search_courses` (default: 50, max: 200) - Lagt till `limit` parameter på `search_programs` (default: 100, max: 200) - Alla nya verktyg har inbyggda response-begränsningar - Beskrivningar trunkerade till 150 tecken (från 200) ### Changed - Uppdaterat antal verktyg från 28 till **41 verktyg** - Förbättrade felmeddelanden med användbara tips - Tydligare progress-information när resultat begränsas ## [2.6.0] - 2025-01-23 ### Changed - Korrekt verktygsdokumentation Korrigerad dokumentation från felaktig siffra "107 verktyg" till faktiska **28 verktyg**: - 17 Syllabus API verktyg - 4 School Units verktyg - 6 Planned Educations verktyg - 1 Health check verktyg ## [2.5.1] - 2025-01-23 ### Added - Ytterligare verktyg (arkiverat) **Nya kritiska endpoints:** - `get_adult_education_areas_v4` - Utbildningsområden och inriktningar för vuxenutbildning - `get_api_info_v4` - API metadata och versionsinformation för v4 - `search_compact_school_units_v4` - Kompakt skolenhetslista med koordinater (WGS84/SWEREF99) - `get_secondary_school_units_v4` - Sekundära skolenheter (filialer och underenheter) **SALSA-statistik endpoints:** - `get_all_schools_salsa_statistics` - SALSA-resultat för alla skolor i Sverige - `get_school_unit_salsa_statistics` - SALSA-resultat för specifik skolenhet över tid **Förbättrad filtrering:** - `get_school_unit_documents_by_type` - Dokument filtrerat på skolform (fsk/gr/gran/gy/gyan) - `get_school_unit_education_events_by_study_path` - Utbildningstillfällen per studieväg/program **11 specialiserade survey-endpoints:** Nested format (vårdnadshavare): - `get_school_unit_nested_survey_custodians_fsk` - Förskoleklass - `get_school_unit_nested_survey_custodians_gr` - Grundskola - `get_school_unit_nested_survey_custodians_gran` - Grundsärskola Nested format (elever): - `get_school_unit_nested_survey_pupils_gy` - Gymnasium Flat format (vårdnadshavare): - `get_school_unit_flat_survey_custodians_fsk` - Förskoleklass - `get_school_unit_flat_survey_custodians_gr` - Grundskola - `get_school_unit_flat_survey_custodians_gran` - Grundsärskola Flat format (elever): - `get_school_unit_flat_survey_pupils_gr` - Grundskola - `get_school_unit_flat_survey_pupils_gy` - Gymnasium ### Enhanced - **programCode parameter** tillagd för `get_national_statistics_gy` - Möjliggör statistik per gymnasieprogram - **19 nya API-klient metoder** i `PlannedEducationApiClient` - **9 nya TypeScript interfaces** för response-typer ### Technical - Nya verktyg i: - `/src/tools/planned-education/v4-new-endpoints.ts` - 8 kritiska endpoints - `/src/tools/planned-education/v4-survey-endpoints.ts` - 11 survey-endpoints - Nya TypeScript types i `/src/types/planned-education.ts`: - `AdultEducationAreasResponse`, `ApiInfoV4Response`, `CompactSchoolUnitsV4Response` - `SecondarySchoolUnitsResponse`, `AllSchoolsSALSAResponse`, `SchoolUnitSALSAResponse` - `DocumentsByTypeResponse`, `EducationEventsByStudyPathResponse`, `SurveyByCategoryResponse` - API-täckning ökning: **~85% → ~98%** av Planned Educations API v4 - Totalt antal verktyg: **88 → 107** (+19 verktyg) ### Statistics - **Före:** 88 verktyg, ~30 av 48 v4 endpoints (~63% endpoint-täckning) - **Efter:** 107 verktyg, ~46 av 48 v4 endpoints (~96% endpoint-täckning) - **Användarvärde:** ~85% → ~98% täckning (viktad efter användningsfrekvens) - **Saknas nu:** 2 endpoints (båda nischade, låg användning) ## [2.5.0] - 2025-01-22 ### Added - **Meta-verktyg för konsolidering** - 6 nya meta-verktyg som konsoliderar 18 tidigare verktyg: - `get_national_statistics` - Konsoliderar 5 verktyg (fsk, gr, gran, gy, gyan) → välj skoltyp som parameter - `get_salsa_statistics` - Konsoliderar 2 verktyg (gr, gran) → välj skoltyp som parameter - `get_program_statistics` - Konsoliderar 2 verktyg (gy, gyan) → välj skoltyp som parameter - `get_school_unit_statistics` - Konsoliderar 5 verktyg (fsk, gr, gran, gy, gyan) → välj skoltyp som parameter - `get_school_unit_survey` - Konsoliderar 2 verktyg (nested, flat) → välj format som parameter - `search_education_events` - Konsoliderar 2 verktyg (full, compact) → välj format som parameter ### Improved - **Reducerat antal verktyg** - Från 64 till 52 verktyg (18 konsoliderade till 6 meta-verktyg) - **Enklare användning för LLMs** - Välj skoltyp/format som parameter istället för att hitta rätt verktyg - **Mindre kognitiv belastning** - Färre verktyg att navigera mellan och förstå - **Bättre discoverability** - Meta-verktyg har tydliga beskrivningar om vilka verktyg de ersätter - **Fullständig bakåtkompabilitet** - Alla 18 ursprungliga verktyg fungerar fortfarande som tidigare ### Technical - Nya meta-verktyg i: - `/src/tools/planned-education/meta-statistics.ts` - Statistik meta-verktyg - `/src/tools/school-units/meta-tools.ts` - Skolenhets meta-verktyg - Routing baserat på skoltyp/format parameter till befintliga implementationer - Inga breaking changes - alla gamla verktyg behålls för bakåtkompabilitet - Total reduktion: 64 verktyg → 52 verktyg (sparar 12 verktygsplatser) ## [2.4.0] - 2025-01-22 ### Added - **Comprehensive Tool Descriptions** - Alla 64 verktyg har nu utökade beskrivningar med: - ANVÄNDNINGSFALL - Konkreta use cases för varje verktyg - EXEMPEL - Praktiska exempel med riktiga parametervärden - RELATERADE VERKTYG - Cross-references till kompletterande verktyg - RETURNERAR - Detaljerad information om vad verktyget returnerar - TIPS/VIKTIGT - Användbara tips och viktiga noteringar - **Intelligent Parameter Validation** - Nya validerings-utilities: - Skolenhetskod validation (8 siffror) - Läsår format validation (YYYY/YYYY) - Skoltyp enum validation - Koordinat validation för GPS-positioner - Pagination validation (page, size) - Survey year validation - Status validation - **Smart Caching System** - In-memory cache med TTL för bättre prestanda: - Support data: 24h cache (skoltyper, geografiska områden, program, etc.) - Statistics: 1h cache (nationell statistik, SALSA, program-statistik) - School units: 30min cache (skolenheter, detaljer) - Surveys: 4h cache (enkätdata) - Automatisk cleanup av expired entries var 5:e minut - **Enhanced Error Messages** - Förbättrade felmeddelanden med: - Kontextuell information om vad som gick fel - Användbara förslag på hur man fixar problemet - Transform av API-fel till begripliga svenska meddelanden ### Improved - **LLM Discoverability** - Verktyg är nu mycket lättare för LLMs att upptäcka och använda korrekt - **User Experience** - Tydligare felmeddelanden och bättre vägledning - **Performance** - Färre API-anrop tack vare smart caching av referensdata - **Developer Experience** - Validering fångar fel tidigt innan API-anrop görs ### Technical - Nya utilities: - `/src/utils/validation.ts` - Parameter validation och error transformation - `/src/utils/cache.ts` - In-memory TTL cache implementation - Uppdaterade v4-verktyg med validation och caching - Inga breaking changes - fullt bakåtkompatibelt ## [2.3.0] - 2025-01-22 ### Added - **Full Planned Education API v4 support** - 37 nya verktyg - **School Units v4** (15 verktyg): - `search_school_units_v4` - Avancerad sökning med fler filtreringsmöjligheter - `get_school_unit_details_v4` - Utökad detaljerad information - `get_school_unit_education_events` - Alla utbildningstillfällen per skolenhet - `get_school_unit_compact_education_events` - Kompakt format (snabbare) - `calculate_distance_from_school_unit` - Avståndberäkning från GPS-koordinat - `get_school_unit_documents` - Inspektionsrapporter och dokument - `get_school_unit_statistics_links` - Länkar till tillgänglig statistik - `get_school_unit_statistics_fsk/gr/gran/gy/gyan` - Statistik per skoltyp - `get_school_unit_survey_nested` - Skolenkäter i nested format - `get_school_unit_survey_flat` - Skolenkäter i flat format - **Education Events v4** (4 verktyg): - `search_education_events_v4` - Full detaljnivå med omfattande filter - `search_compact_education_events_v4` - Kompakt format - `count_education_events_v4` - Räkna matchande utbildningstillfällen - `count_adult_education_events_v4` - Räkna vuxenutbildningstillfällen - **Statistics v4** (9 verktyg): - `get_national_statistics_fsk/gr/gran/gy/gyan` - Nationella värden per skoltyp - `get_salsa_statistics_gr/gran` - SALSA-bedömningar - `get_program_statistics_gy/gyan` - Programspecifik statistik - **Support Data v4** (9 verktyg): - `get_school_types_v4` - Alla skoltyper - `get_geographical_areas_v4` - Län och kommuner - `get_principal_organizer_types_v4` - Huvudmanstyper - `get_programs_v4` - Gymnasieprogram och inriktningar - `get_orientations_v4` - Alla programinriktningar - `get_instruction_languages_v4` - Undervisningsspråk - `get_distance_study_types_v4` - Distansstudietyper - `get_adult_type_of_schooling_v4` - Vuxenutbildningstyper - `get_municipality_school_units_v4` - Kommun-skolenhet mappning ### Changed - **API-klient** utökad för v4-stöd - Uppdaterad BaseApiClient med stöd för custom headers - PlannedEducationApiClient med alla v4-metoder - Korrekt Accept header för v4: `application/vnd.skolverket.plannededucations.api.v4.hal+json` - **TypeScript typer** för v4 - 35+ nya interfaces i `planned-education.ts` - Fullständig typning för alla v4 responses - Support för nested och flat survey strukturer ### Improved - **Total antal verktyg**: 27 → 64 verktyg - Mer komplett täckning av Skolverkets Planned Education API - Bättre statistiktillgång (nationellt, SALSA, per-program) - Skolenkäter i två format för olika användningsfall - Avståndberäkning för geografisk filtrering ## [2.2.0] - 2025-01-22 ### Added - **Komplett överensstämmelse med Skolverkets OpenAPI 3.1.0 specifikation** - `date` parameter för alla search endpoints (subjects, courses, programs, curriculums) - `date` parameter för alla detail endpoints för att hämta versioner som var giltiga vid ett specifikt datum - `typeOfProgram` parameter till `get_study_path_codes` för att filtrera efter programtyp (HÖGSKOLEFÖRBEREDANDE, YRKES) - `typeOfStudyPath` parameter till `search_programs` för mer exakt filtrering ### Changed - **Förbättrade tool schemas** med bättre beskrivningar och exempel - **Uppdaterade TypeScript typer** för att stödja alla nya parametrar - `StudyPathSearchParams` inkluderar nu `date`, `typeOfStudyPath` och `typeOfProgram` - `ProgramSearchParams` använder nu `typeOfStudyPath` istället för `studyPathType` - Alla search params har nu `date` stöd - **API-klienten** uppdaterad för att skicka date-parametrar till backend ### Improved - Mer komplett täckning av Skolverkets API-funktionalitet - Bättre datumbaserad filtrering för historiska läroplansversioner - Tydligare parameternamn som matchar OpenAPI specifikationen exakt ## [2.1.3] - 2025-10-31 ### Added - **GitHub Actions auto-deploy workflows** - `publish-npm.yml` - Automatic npm publishing on tag push - `publish-mcp-registry.yml` - Automatic MCP Registry publishing after npm success - Triggers on `v*.*.*` tags for seamless releases - **Deployment documentation** - `.github/AUTO_DEPLOY.md` - Complete guide for auto-deploy setup - `verify-deployment.sh` - Script for verifying deployments across all platforms ### Changed - Streamlined release process - single tag push now deploys to npm and MCP Registry - Improved deployment consistency across npm, MCP Registry, and Render ## [2.1.2] - 2024-10-31 ### Fixed - **npm package now includes server.json** - Fixed missing server.json file in published npm package - Ensures MCP Registry validation works correctly for npm installations ## [2.1.1] - 2024-10-31 ### Added - **MCP Registry support** - Published to official Model Context Protocol Registry - Added `server.json` for MCP Registry configuration - Added `mcpName` field to package.json for registry validation - Server now discoverable at `io.github.KSAklfszf921/skolverket-mcp` ### Changed - Updated npm package to include `server.json` in published files ## [2.1.0] - 2024-10-31 ### Added - **Community health files** - CODE_OF_CONDUCT.md (Contributor Covenant 2.1) - SECURITY.md (Security policy and vulnerability reporting) - CONTRIBUTING.md (Contribution guidelines) - Issue templates (bug report, feature request) - Pull request template - **GitHub features** - GitHub Discussions enabled - Repository topics for better discoverability - Additional badges in README ### Changed - Improved README with "Two ways to use" section (Remote vs Local) - Enhanced repository visibility on GitHub ## [2.0.0] - 2025-01-20 ### Added - **Skolenhetsregistret API integration** - Full support för skolenheter - `search_school_units` - Sök efter skolenheter med filter - `get_school_unit_details` - Hämta detaljer om specifik skolenhet - `get_school_units_by_status` - Filtrera efter status (AKTIV, UPPHORT, VILANDE) - `search_school_units_by_name` - Sök efter namn - **Planned Educations API integration** - Full support för vuxenutbildning och statistik - **Vuxenutbildning (4 verktyg)**: - `search_adult_education` - Sök vuxenutbildningar med omfattande filter - `get_adult_education_details` - Detaljerad information om utbildningstillfälle - `filter_adult_education_by_distance` - Filtrera distans/campus - `filter_adult_education_by_pace` - Filtrera efter studietakt - **Stöddata (2 verktyg)**: - `get_education_areas` - Hämta utbildningsområden - `get_directions` - Hämta inriktningar - Total of **27 tools** (17 from Syllabus API + 4 from School Units + 6 from Planned Educations) ### Changed - **Projektnamn**: `skolverket-syllabus-mcp` → `skolverket-mcp` - **Bin-kommando**: `skolverket-syllabus-mcp` → `skolverket-mcp` - **Arkitektur**: Refaktorerad till modularitet - Ny `src/api/base-client.ts` - Delad HTTP-klient för alla API:er - Flyttat Syllabus API klient till `src/api/syllabus-client.ts` - Strukturerade verktyg i undermappar: `tools/syllabus/`, `tools/school-units/`, `tools/planned-education/` - **Typer**: Döpt om `src/types/skolverket.ts` → `src/types/syllabus.ts` - README med komplett dokumentation för alla 3 API:er ### Improved - Bättre felhantering över alla API-klienter - Mer detaljerad TypeScript-typning - Konsekvent errormeddelande-format - Utökad API-dokumentation ## [1.0.0] - 2025-01-20 ### Added - Initial release med Skolverkets Läroplan API (Syllabus API) - **17 verktyg för läroplaner**: - 3 ämnesverktyg (subjects) - 3 kursverktyg (courses) - 3 programverktyg (programs) - 3 läroplansverktyg (curriculums) - 5 värdesamlingsverktyg (school types, codes, etc.) - Full TypeScript-implementation - MCP SDK integration - Zod schema-validering [2.0.0]: https://github.com/KSAklfszf921/skolverket-syllabus-mcp/compare/v1.0.0...v2.0.0 [1.0.0]: https://github.com/KSAklfszf921/skolverket-syllabus-mcp/releases/tag/v1.0.0

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isakskogstad/skolverket-syllabus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server