search_subjectsLABSCO SUMMARY
Version history is what makes it more than a lookup.
Subjects, courses, programmes and curricula each have a versions tool, so you can ask how a concept moved through Swedish curricula over the years rather than only what the current text says. The school register sits alongside it, which is how a question gets from a course to the schools that actually offer it.
What it is
An MCP server over three of Skolverket's open APIs: the syllabus API for curricula, subjects and courses; the Swedish school unit register; and the planned-educations API for adult education.
What you get
- Syllabus search with detail tools: search_subjects, search_courses, search_programs, search_curriculums
- Historical versions of each: get_subject_versions, get_course_versions, get_program_versions, get_curriculum_versions
- Reference data: get_school_types, get_types_of_syllabus, get_subject_and_course_codes, get_study_path_codes
- The school register: search_school_units, search_school_units_by_name, get_school_unit_details, get_school_units_by_status — active, closed and dormant units
- Adult education: search_adult_education and get_adult_education_details, with filter_adult_education_by_distance and filter_adult_education_by_pace
- health_check for API connectivity, plus resources and prompt templates for course analysis and study guidance
Requirements
Node.js with npm: clone the repository, npm install and npm run build, then point your client at dist/index.js. It runs over stdio and needs no API key — the data comes from Skolverket's open APIs. Version 2.7.0.
Setup effort
Build from source — git clone https://github.com/isakskogstad/Skolverket-MCP.git
USE CASES
Comparing grading criteria between two grades
Pull the course detail with its criteria and read the difference in one answer.
Tracking how a curriculum changed over time
Fetch the historical versions instead of hunting for archived PDFs.
Finding schools that offer a programme
Search the register by name or area, including closed and dormant units.
Finding adult education that fits a schedule
Filter by study pace and by whether it runs on campus or at a distance.
28 tools
Listed in project docs. Your client may show a different list.
get_subject_detailsget_subject_versionssearch_coursesget_course_detailsget_course_versionssearch_programsget_program_detailsget_program_versionssearch_curriculumsget_curriculum_detailsget_curriculum_versionsget_school_typesget_types_of_syllabusget_subject_and_course_codesget_study_path_codesget_api_infosearch_school_unitsget_school_unit_detailsget_school_units_by_statussearch_school_units_by_namesearch_adult_educationget_adult_education_detailsfilter_adult_education_by_distancefilter_adult_education_by_paceget_education_areasget_directionshealth_checkBEFORE YOU INSTALL
What to know first
Tools you get
28 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/isakskogstad/Skolverket-MCP.git
cd Skolverket-MCP
npm install
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"skolverket": {
"command": "node",
"args": [
"<YOUR_PATH_TO_SKOLVERKET_MCP>/dist/index.js"
]
}
}
}<YOUR_PATH_TO_SKOLVERKET_MCP> is the full path of the folder you cloned and built. dist/index.js exists only after npm run build.
Claude Code
claude mcp add skolverket node <YOUR_PATH_TO_SKOLVERKET_MCP>/dist/index.js<YOUR_PATH_TO_SKOLVERKET_MCP> is the full path of the folder you cloned and built. dist/index.js exists only after npm run build.