Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Aleva open data

REMOTE · API.ALEVA.SE

Swedish public data as read-only tools: registries, statistics, domains, transport, energy.

Available components

+3 this week 80 Trust /100

Last scanned (23 hours ago)

Scores higher than 81% of remote servers

Reachable. Last reached 4 Nov 2026.

Category Data and Analytics

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability62
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 9054 tokens (~192/item across 47 items; 47 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management63
  • Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 47 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 48 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 +50
    • Authorization: unverified → partial ▲ security
    • Injection markers: unverified → pass ▲ security
    • Transport: fail → pass ▲ security
    • Endpoint reachability: not serving MCP → reachable ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • Stability: unverified → 0.27 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
  • 23 Oct 26 −49
    • Endpoint reachability: reachable → not serving MCP ▼ security
    • Authorization: partial → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.20 → unverified ▼ security
    • Transport: pass → fail ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
  • 22 Oct 26 0
    • “web_mcp_registry” added an optional parameter “source_in” cosmetic
    • “web_mcp_registry” added an optional parameter “source_ne” cosmetic
    • “web_mcp_registry” reworded the description of “source” cosmetic

    3 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Probed https://api.aleva.se/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=aleva.se CN=WE1,O=Google Trust Services,C=US 27 Sept 2026 26 Dec 2026 ECDSA 256 ECDSA-SHA256 ad205fbbe5e99bb51349575bf7f85cf0
SANs: aleva.se, *.aleva.se
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.aleva.se. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
se. present 59407 8 Verified
aleva.se. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.aleva.se/mcp Verified 200
http (plaintext) http://api.aleva.se/mcp HTTPS enforced 301 https://api.aleva.se/mcp
MCP tools · 47 exposed · ~8,985 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
air_passengers_monthly ~125

Air passengers in Sweden per month. Returns a list of records; pass next_cursor to get the next page. Fields: month (date); passengers (bigint); domestic (bigint); international (bigint); movements (bigint).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
monthstring–Month (equals)
month_gtestring–Month (at least)
month_ltestring–Month (at most)

No output schema declared.

No examples provided.

airport_passengers ~172

Passengers per airport and year. Returns a list of records; pass next_cursor to get the next page. Fields: year (integer); airport (varchar); passengers (bigint); movements (bigint); international_share (double); months (bigint): Months reported (the current year is partial).

NameTypeReqDescription
airportstring–Airport (as reported, upper case) (equals)
airport_prefixstring–Airport (as reported, upper case) (starts with)
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
yearinteger–Year (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

consumer_prices ~218

Consumer price index per month. Returns a list of records; pass next_cursor to get the next page. Fields: month (date): First day of the month; measure_code (varchar): 00000807 index, 00000804 12-month change, 00000806 monthly change; measure (varchar); value (double).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
measure_codestring–00000807 index, 00000804 12-month change, 00000806 monthly change (equals)
measure_code_inarray–00000807 index, 00000804 12-month change, 00000806 monthly change (any of)
monthstring–Month (first day) (equals)
month_gtestring–Month (first day) (at least)
month_ltestring–Month (first day) (at most)

No output schema declared.

No examples provided.

court_rulings ~247

Published court rulings. Returns a list of records; pass next_cursor to get the next page. Fields: id (varchar); decided_on (date); published_at (timestamptz); court_code (varchar); court (varchar); kind (varchar): REFERAT (case report), DOM_ELLER_BESLUT (judgment or decision), ...; type (varchar); case_numbers (varchar); reference (varchar): Case report number, e.g. NJA 2026:12; keywords (varchar); laws (varchar): Provisions cited; summary (varchar).

NameTypeReqDescription
court_codestring–HDO Supreme Court, HFD Supreme Administrative Court, ... (equals)
court_code_inarray–HDO Supreme Court, HFD Supreme Administrative Court, ... (any of)
cursorstring–next_cursor from the previous result, for the next page
decided_onstring–Decision day (equals)
decided_on_gtestring–Decision day (at least)
decided_on_ltestring–Decision day (at most)
limitinteger–How many rows to return

No output schema declared.

No examples provided.

court_rulings_by_court ~85

Rulings per court. Returns a list of records; pass next_cursor to get the next page. Fields: court_code (varchar); court (varchar); rulings (bigint); latest (date).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return

No output schema declared.

No examples provided.

debt_restructuring ~131

Debt restructuring applications per month. Returns a list of records; pass next_cursor to get the next page. Fields: month (date); applications (bigint); women (bigint); men (bigint); eservice_share (double): Share filed via the e-service.

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
monthstring–Month (equals)
month_gtestring–Month (at least)
month_ltestring–Month (at most)

No output schema declared.

No examples provided.

debt_restructuring_by_age ~116

Debt restructuring per year and age. Returns a list of records; pass next_cursor to get the next page. Fields: year (integer); age_group (varchar); applications (bigint).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
yearinteger–Year (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

describe_endpoint ~40

The fields, parameters, licence, sources and freshness of one data tool.

NameTypeReqDescription
toolstringyesA tool name from tools/list or search_catalogue

No output schema declared.

No examples provided.

domain_lookup ~176

One domain in the latest zone. Returns one record, or an error when there is no match. Fields: domain (varchar): Domain name, lower-case; tld (varchar): se or nu; nameservers (varchar[]): NS host names; glue_v4 (varchar[]): In-zone glue A records; glue_v6 (varchar[]): In-zone glue AAAA records; has_ds (boolean): DNSSEC signed delegation; ds_algorithms (integer[]): DNSSEC algorithm numbers; serial (bigint): Zone serial the row comes from; fetched_at (timestamptz): When the zone was transferred. Attribution required when the data is shown: Contains data from the Swedish Internet Foundation (Internetstiftelsen), licensed under CC BY 4.0

NameTypeReqDescription
namestringyesDomain name, e.g. example.se

No output schema declared.

No examples provided.

domains_dropped ~212

Dropped .se and .nu domains on a date. Returns a list of records; pass next_cursor to get the next page. Fields: date (date): Day the change was seen (Europe/Stockholm); domain (varchar); tld (varchar); prev_nameservers (varchar[]): Name servers before the change; prev_has_ds (boolean); serial (bigint): Serial the change was seen in; detected_at (timestamptz). Attribution required when the data is shown: Contains data from the Swedish Internet Foundation (Internetstiftelsen), licensed under CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestringyesDay (Europe/Stockholm), YYYY-MM-DD (equals)
limitinteger–How many rows to return
tldstring–Zone: se or nu (equals)
tld_inarray–Zone: se or nu (any of)

No output schema declared.

No examples provided.

domains_expiring ~268

Domains about to be released. Returns a list of records; pass next_cursor to get the next page. Fields: domain (varchar); tld (varchar); release_at (date): Day it can be registered again (from 04:00 UTC), unless renewed first; days_left (integer): Days from the list's date to the release date; label_length (integer): Characters before the dot; in_zone (boolean): Still delegated in the latest zone snapshot. Attribution required when the data is shown: Contains data from the Swedish Internet Foundation (Internetstiftelsen), licensed under CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
label_lengthinteger–Characters before the dot (equals)
label_length_lteinteger–Characters before the dot (at most)
limitinteger–How many rows to return
release_atstring–Release day (equals)
release_at_gtestring–Release day (at least)
release_at_ltestring–Release day (at most)
tldstring–Zone: se or nu (equals)
tld_inarray–Zone: se or nu (any of)

No output schema declared.

No examples provided.

domains_new ~212

New .se and .nu domains on a date. Returns a list of records; pass next_cursor to get the next page. Fields: date (date): Day the change was seen (Europe/Stockholm); domain (varchar); tld (varchar); nameservers (varchar[]): Name servers after the change (empty when removed); has_ds (boolean); serial (bigint): Serial the change was seen in; detected_at (timestamptz). Attribution required when the data is shown: Contains data from the Swedish Internet Foundation (Internetstiftelsen), licensed under CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestringyesDay (Europe/Stockholm), YYYY-MM-DD (equals)
limitinteger–How many rows to return
tldstring–Zone: se or nu (equals)
tld_inarray–Zone: se or nu (any of)

No output schema declared.

No examples provided.

domains_valuable ~365

Domains about to be released, with a value score. Returns a list of records; pass next_cursor to get the next page. Fields: domain (varchar); tld (varchar); release_at (date): Day it can be registered again (from 04:00 UTC), unless renewed first; days_left (integer); length (integer): Characters before the dot; score (integer): 0-100; higher is shorter, cleaner and closer to real words; word_sv (boolean); word_en (boolean); compound (boolean); possible_trademark (boolean): Contains a well-known brand: probably not usable; reasons_sv (varchar): Why, in Swedish; reasons_en (varchar): Why, in English. Attribution required when the data is shown: Contains data from the Swedish Internet Foundation (Internetstiftelsen), licensed under CC BY 4.0 SALDO, Språkbanken Text (University of Gothenburg), CC BY 4.0 Word list from SCOWL, copyright Kevin Atkinson (wordlist.aspell.net)

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
days_left_gteinteger–Days until release (at least)
days_left_lteinteger–Days until release (at most)
limitinteger–How many rows to return
possible_trademarkboolean–Contains a well-known brand (equals)
release_atstring–Release day (equals)
release_at_gtestring–Release day (at least)
release_at_ltestring–Release day (at most)
score_gteinteger–Minimum score (at least)
tldstring–se or nu (equals)

No output schema declared.

No examples provided.

electricity_balance ~111

Electricity production and use per year. Returns a list of records; pass next_cursor to get the next page. Fields: year (integer); series (varchar); twh (double).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
yearinteger–Year (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

electricity_forecast ~139

Electricity production per source with forecast. Returns a list of records; pass next_cursor to get the next page. Fields: year (integer); series (varchar): Power source; twh (double).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
seriesstring–Power source (equals)
series_inarray–Power source (any of)
yearinteger–Year (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

foods ~341

Foods and nutrients per 100 g. Returns a list of records; pass next_cursor to get the next page. Fields: food_id (integer); name (varchar); kind (varchar); energy_kcal (double); protein_g (double); fat_g (double); saturated_fat_g (double); carbohydrates_g (double); sugars_g (double); fibre_g (double); salt_g (double); iron_mg (double); calcium_mg (double); vitamin_c_mg (double); vitamin_d_ug (double). Attribution required when the data is shown: Source: Livsmedelsverket's food composition database, CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
energy_kcal_gtenumber–kcal per 100 g (at least)
energy_kcal_ltenumber–kcal per 100 g (at most)
fibre_g_gtenumber–Fibre per 100 g (at least)
fibre_g_ltenumber–Fibre per 100 g (at most)
food_idinteger–Food number (equals)
food_id_inarray–Food number (any of)
limitinteger–How many rows to return
namestring–Name or its beginning, lower case (equals)
name_prefixstring–Name or its beginning, lower case (starts with)
protein_g_gtenumber–Protein per 100 g (at least)
protein_g_ltenumber–Protein per 100 g (at most)

No output schema declared.

No examples provided.

guest_nights ~128

Guest nights per month. Returns a list of records; pass next_cursor to get the next page. Fields: month (date); origin (varchar): Sverige or Utland; nights (bigint).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
monthstring–Month (equals)
month_gtestring–Month (at least)
month_ltestring–Month (at most)
originstring–Sverige or Utland (equals)

No output schema declared.

No examples provided.

guest_nights_by_country ~115

Foreign guest nights per country and year. Returns a list of records; pass next_cursor to get the next page. Fields: year (integer); country (varchar); nights (bigint).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
yearintegeryesYear (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

guest_nights_by_county ~151

Guest nights per county and year. Returns a list of records; pass next_cursor to get the next page. Fields: year (integer); county_code (varchar); county (varchar); nights (bigint); foreign_share (double).

NameTypeReqDescription
county_codestring–County code (equals)
county_code_inarray–County code (any of)
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
yearinteger–Year (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

house_prices ~163

House price index. Returns a list of records; pass next_cursor to get the next page. Fields: region_code (varchar); region (varchar); year (integer); index (double): 1981 = 100.

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
region_codestring–00 Sweden, 0010 Greater Stockholm, ... (equals)
region_code_inarray–00 Sweden, 0010 Greater Stockholm, ... (any of)
yearinteger–Year (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

job_ads ~163

Open job ads per day. Returns a list of records; pass next_cursor to get the next page. Fields: date (date); dimension (varchar): total, remote, occupation-field, region or municipality; concept_id (varchar): JobTech taxonomy id; code (varchar): County or municipality code; term (varchar); ads (bigint).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestring–Day (equals)
date_gtestring–Day (at least)
date_ltestring–Day (at most)
dimensionstringyestotal, remote, occupation-field, region or municipality (equals)
limitinteger–How many rows to return

No output schema declared.

No examples provided.

job_ads_national ~120

Open job ads in Sweden per day. Returns a list of records; pass next_cursor to get the next page. Fields: date (date); ads (bigint); remote (bigint); remote_share (double).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestring–Day (equals)
date_gtestring–Day (at least)
date_ltestring–Day (at most)
limitinteger–How many rows to return

No output schema declared.

No examples provided.

medicine_shortages ~253

Medicine shortages. Returns a list of records; pass next_cursor to get the next page. Fields: shortage_id (varchar); npl_pack_id (varchar); product (varchar); package (varchar); substances (varchar); atc_code (varchar); atc_group (varchar): ATC main group (A alimentary tract, N nervous system, ...); holder (varchar): Marketing authorisation holder; starts (date); ends_forecast (date); ended (date); ongoing (boolean); last_updated (date). Attribution required when the data is shown: Contains data from Läkemedelsverket, CC BY 4.0

NameTypeReqDescription
atc_codestring–ATC code or its beginning (equals)
atc_code_prefixstring–ATC code or its beginning (starts with)
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
ongoingboolean–Still ongoing (equals)
startsstring–First day (equals)
starts_gtestring–First day (at least)
starts_ltestring–First day (at most)

No output schema declared.

No examples provided.

medicine_shortages_by_group ~106

Ongoing shortages per ATC group. Returns a list of records; pass next_cursor to get the next page. Fields: atc_group (varchar); packages (bigint); products (bigint). Attribution required when the data is shown: Contains data from Läkemedelsverket, CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return

No output schema declared.

No examples provided.

medicine_shortages_monthly ~146

New medicine shortages per month. Returns a list of records; pass next_cursor to get the next page. Fields: month (date); shortages (bigint): Shortages that started; packages (bigint): Packages affected. Attribution required when the data is shown: Contains data from Läkemedelsverket, CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
monthstring–Month (equals)
month_gtestring–Month (at least)
month_ltestring–Month (at most)

No output schema declared.

No examples provided.

municipal_figures ~246

Key figures per municipality and year (Kolada). Returns a list of records; pass next_cursor to get the next page. Fields: kpi (varchar): Kolada key figure id; kpi_title (varchar); municipality_id (varchar); municipality (varchar); municipality_type (varchar): K municipality, L region; year (integer); value (double). Attribution required when the data is shown: Source: Kolada (RKA), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
kpistringyesKolada key figure id, e.g. N00900 (equals)
kpi_inarray–Kolada key figure id, e.g. N00900 (any of)
limitinteger–How many rows to return
municipality_idstring–Municipality or region id (equals)
municipality_id_inarray–Municipality or region id (any of)
yearinteger–Year (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

municipal_figures_latest ~192

Key figures per municipality, latest year. Returns a list of records; pass next_cursor to get the next page. Fields: kpi (varchar); kpi_title (varchar); municipality_id (varchar); municipality (varchar); municipality_type (varchar); year (integer); value (double). Attribution required when the data is shown: Source: Kolada (RKA), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
kpistringyesKolada key figure id (equals)
kpi_inarray–Kolada key figure id (any of)
limitinteger–How many rows to return
municipality_idstring–Id (equals)
municipality_id_inarray–Id (any of)
municipality_typestring–K municipality, L region (equals)

No output schema declared.

No examples provided.

party_agreement ~142

How often the parties vote alike. Returns a list of records; pass next_cursor to get the next page. Fields: party (varchar); other_party (varchar); votes (bigint): Votes where both parties voted yes or no; same (bigint); share (double). Attribution required when the data is shown: Source: Sveriges riksdag

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
partystring–Party, e.g. S (equals)
party_inarray–Party, e.g. S (any of)

No output schema declared.

No examples provided.

party_attendance ~165

Votes and absence per party. Returns a list of records; pass next_cursor to get the next page. Fields: party (varchar): - is members without a party; riksmote (varchar): Session, e.g. 2025/26; votes (bigint); absent_share (double); abstain_share (double). Attribution required when the data is shown: Source: Sveriges riksdag

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
riksmotestring–Session, e.g. 2025/26 (equals)
riksmote_inarray–Session, e.g. 2025/26 (any of)

No output schema declared.

No examples provided.

population ~194

Population per region and year. Returns a list of records; pass next_cursor to get the next page. Fields: region_code (varchar): 00 Sweden, 2 digits county, 4 digits municipality; region (varchar); level (varchar); year (integer); population (bigint).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
levelstring–country, county or municipality (equals)
limitinteger–How many rows to return
region_codestring–00 Sweden, 2 digits county, 4 digits municipality (equals)
region_code_inarray–00 Sweden, 2 digits county, 4 digits municipality (any of)
yearinteger–Year (equals)
year_gteinteger–Year (at least)
year_lteinteger–Year (at most)

No output schema declared.

No examples provided.

population_latest ~151

Population in the latest year and change. Returns a list of records; pass next_cursor to get the next page. Fields: region_code (varchar); region (varchar); level (varchar); year (integer): Latest year; population (bigint): Population in the latest year; first_year (integer); change_pct (double): Change since first_year, percent.

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
levelstring–country, county or municipality (equals)
limitinteger–How many rows to return
region_codestring–Region code (equals)
region_code_inarray–Region code (any of)

No output schema declared.

No examples provided.

riksbank_rates ~229

Policy rate and exchange rates per day. Returns a list of records; pass next_cursor to get the next page. Fields: series (varchar): SECBREPOEFF policy rate, SEKEURPMI, SEKUSDPMI, SEKGBPPMI; description (varchar); date (date); value (double). Attribution required when the data is shown: Source: Sveriges riksbank, CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestring–Day (equals)
date_gtestring–Day (at least)
date_ltestring–Day (at most)
limitinteger–How many rows to return
seriesstringyesSECBREPOEFF policy rate, SEKEURPMI, SEKUSDPMI, SEKGBPPMI (equals)
series_inarray–SECBREPOEFF policy rate, SEKEURPMI, SEKUSDPMI, SEKGBPPMI (any of)

No output schema declared.

No examples provided.

search_catalogue ~51

Find datasets and the tools that query them by words in their names, descriptions and fields (Swedish or English).

NameTypeReqDescription
querystringyesWhat to look for, e.g. 'population per kommun'

No output schema declared.

No examples provided.

stats_dnssec ~242

DNSSEC adoption per zone and day. Returns a list of records; pass next_cursor to get the next page. Fields: date (date): Day of the snapshot (Europe/Stockholm); tld (varchar); domains (bigint); signed (bigint): Domains with a DS record; share_signed (double); ecdsa_p256 (bigint): Signed with algorithm 13 (ECDSA P-256); rsa_sha256 (bigint): Signed with algorithm 8 (RSA/SHA-256). Attribution required when the data is shown: Contains data from the Swedish Internet Foundation (Internetstiftelsen), licensed under CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestring–Day (equals)
date_gtestring–Day (at least)
date_ltestring–Day (at most)
limitinteger–How many rows to return
tldstring–Zone: se or nu (equals)
tld_inarray–Zone: se or nu (any of)

No output schema declared.

No examples provided.

stats_nameservers ~245

Name server operators and market share. Returns a list of records; pass next_cursor to get the next page. Fields: tld (varchar); operator (varchar): Registered domain of the name server hosts, e.g. loopia.se; domains (bigint): Domains with at least one name server at this operator; share (double): domains / all domains in the zone; serial (bigint); fetched_at (timestamptz). Attribution required when the data is shown: Contains data from the Swedish Internet Foundation (Internetstiftelsen), licensed under CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
domains_gteinteger–Minimum number of domains (at least)
limitinteger–How many rows to return
operatorstring–Operator (registered domain of the NS hosts) (equals)
operator_prefixstring–Operator (registered domain of the NS hosts) (starts with)
tldstring–Zone: se or nu (equals)
tld_inarray–Zone: se or nu (any of)

No output schema declared.

No examples provided.

swestr ~179

Swestr per day. Returns a list of records; pass next_cursor to get the next page. Fields: date (date); rate (double): Percent; pctl12_5 (double): 12.5th percentile of the transactions' rates; pctl87_5 (double): 87.5th percentile; volume_msek (double): Transaction volume, SEK million; transactions (integer). Attribution required when the data is shown: Source: Sveriges riksbank, CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestring–Day (equals)
date_gtestring–Day (at least)
date_ltestring–Day (at most)
limitinteger–How many rows to return

No output schema declared.

No examples provided.

train_punctuality ~221

Train punctuality per station and day. Returns a list of records; pass next_cursor to get the next page. Fields: date (date); station (varchar): Location signature; station_name (varchar); arrivals (bigint); canceled (bigint); on_time (bigint): At most 5 minutes late; on_time_share (double): Share on time among cancelled and reported arrivals; avg_delay_min (double): Average delay, early counted as 0.

NameTypeReqDescription
arrivals_gteinteger–Minimum arrivals (at least)
cursorstring–next_cursor from the previous result, for the next page
datestring–Day (equals)
date_gtestring–Day (at least)
date_ltestring–Day (at most)
limitinteger–How many rows to return
stationstring–Location signature, e.g. Cst (equals)
station_inarray–Location signature, e.g. Cst (any of)

No output schema declared.

No examples provided.

train_punctuality_daily ~129

Train punctuality in Sweden per day. Returns a list of records; pass next_cursor to get the next page. Fields: date (date); arrivals (bigint); canceled (bigint); on_time_share (double); avg_delay_min (double).

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestring–Day (equals)
date_gtestring–Day (at least)
date_ltestring–Day (at most)
limitinteger–How many rows to return

No output schema declared.

No examples provided.

weather_history ~260

Weather per hour and station. Returns a list of records; pass next_cursor to get the next page. Fields: station_id (varchar): SMHI station id; station (varchar); parameter (varchar): 1 temperature, 4 wind speed, 6 humidity, 7 precipitation; unit (varchar); observed_at (timestamptz); date (date): Day (Europe/Stockholm); value (double); quality (varchar): G checked, Y suspect (latest-hour data is not quality-controlled). Attribution required when the data is shown: Contains data from SMHI (Swedish Meteorological and Hydrological Institute), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
datestring–Day (equals)
date_gtestring–Day (at least)
date_ltestring–Day (at most)
limitinteger–How many rows to return
parameterstring–Parameter (equals)
parameter_inarray–Parameter (any of)
station_idstringyesSMHI station id (equals)
station_id_inarray–SMHI station id (any of)

No output schema declared.

No examples provided.

weather_now ~255

Current weather per SMHI station. Returns a list of records; pass next_cursor to get the next page. Fields: station_id (varchar): SMHI station id; station (varchar); latitude (double); longitude (double); parameter (varchar): 1 temperature, 4 wind speed, 6 humidity, 7 precipitation; parameter_name (varchar); unit (varchar); observed_at (timestamptz); value (double); quality (varchar): G checked, Y suspect (latest-hour data is not quality-controlled). Attribution required when the data is shown: Contains data from SMHI (Swedish Meteorological and Hydrological Institute), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
parameterstring–1 temperature, 4 wind, 6 humidity, 7 precipitation (equals)
parameter_inarray–1 temperature, 4 wind, 6 humidity, 7 precipitation (any of)
station_idstring–SMHI station id (equals)
station_id_inarray–SMHI station id (any of)

No output schema declared.

No examples provided.

web_agents ~243

Swedish A2A agents. Returns a list of records; pass next_cursor to get the next page. Fields: month (date); domain (varchar); tld (varchar): se or nu; name (varchar): Agent name; provider (varchar): Provider organisation; skill_count (integer): Number of skills; streaming (boolean): Supports streaming; url (varchar): Agent card URL. Attribution required when the data is shown: Source: Aleva (aleva.se), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
domainstring–Domain (equals)
limitinteger–How many rows to return
monthstring–Sweep month (first of month) (equals)
month_gtestring–Sweep month (first of month) (at least)
month_ltestring–Sweep month (first of month) (at most)
streamingboolean–Supports streaming (equals)
tldstring–se or nu (equals)
tld_inarray–se or nu (any of)

No output schema declared.

No examples provided.

web_ai_stance ~311

AI and crawler stance of Swedish websites per month. Returns a list of records; pass next_cursor to get the next page. Fields: month (date): First of the sweep month; tld (varchar): se or nu; domains (bigint): Domains swept; reachable (bigint): Answered over HTTPS; has_robots (bigint): Had a real robots.txt; with_sitemap (bigint): robots.txt declares a sitemap; disallow_all (bigint): Disallow: / for all crawlers; ai_train_no (bigint): Opt out of AI training; ai_train_yes (bigint): Opt in to AI training; content_signal (bigint): Has a Content-Signal line; mentions_mcp (bigint): robots.txt mentions MCP; mentions_llms (bigint): robots.txt references llms.txt. Attribution required when the data is shown: Source: Aleva (aleva.se), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
limitinteger–How many rows to return
monthstring–Sweep month (first of month), YYYY-MM-DD (equals)
month_gtestring–Sweep month (first of month), YYYY-MM-DD (at least)
month_ltestring–Sweep month (first of month), YYYY-MM-DD (at most)
tldstring–se or nu (equals)

No output schema declared.

No examples provided.

web_apis ~257

Swedish public APIs (OpenAPI). Returns a list of records; pass next_cursor to get the next page. Fields: month (date): Sweep month; domain (varchar); tld (varchar): se or nu; title (varchar): API title; oas_version (varchar): OpenAPI/Swagger version; operations (integer): Number of operations; paths (integer): Number of paths; url (varchar): Spec URL. Attribution required when the data is shown: Source: Aleva (aleva.se), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
domainstring–Domain (equals)
limitinteger–How many rows to return
monthstring–Sweep month (first of month) (equals)
month_gtestring–Sweep month (first of month) (at least)
month_ltestring–Sweep month (first of month) (at most)
oas_versionstring–OpenAPI/Swagger version (equals)
tldstring–se or nu (equals)
tld_inarray–se or nu (any of)

No output schema declared.

No examples provided.

web_commerce_agents ~261

Swedish agentic commerce (UCP). Returns a list of records; pass next_cursor to get the next page. Fields: month (date); domain (varchar); tld (varchar): se or nu; platform (varchar): Platform (e.g. shopify); protocol_version (varchar): UCP version; capability_count (integer): Number of capabilities; mcp_endpoint (varchar): MCP endpoint, if any; url (varchar): Manifest URL. Attribution required when the data is shown: Source: Aleva (aleva.se), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
domainstring–Domain (equals)
limitinteger–How many rows to return
monthstring–Sweep month (first of month) (equals)
month_gtestring–Sweep month (first of month) (at least)
month_ltestring–Sweep month (first of month) (at most)
platformstring–e.g. shopify (equals)
tldstring–se or nu (equals)
tld_inarray–se or nu (any of)

No output schema declared.

No examples provided.

web_llms ~227

llms.txt in Sweden. Returns a list of records; pass next_cursor to get the next page. Fields: month (date); domain (varchar); tld (varchar): se or nu; title (varchar): First heading; sections (integer): Number of sections; links (integer): Number of links; url (varchar): llms.txt URL. Attribution required when the data is shown: Source: Aleva (aleva.se), CC BY 4.0

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
domainstring–Domain (equals)
limitinteger–How many rows to return
monthstring–Sweep month (first of month) (equals)
month_gtestring–Sweep month (first of month) (at least)
month_ltestring–Sweep month (first of month) (at most)
tldstring–se or nu (equals)
tld_inarray–se or nu (any of)

No output schema declared.

No examples provided.

web_mcp_registry ~247

Swedish MCP servers (Aleva registry). Returns a list of records; pass next_cursor to get the next page. Fields: domain (varchar); tld (varchar): se or nu; name (varchar): Server name; description (varchar): Short description; url (varchar): MCP endpoint URL; transport (varchar): http | sse | stdio; tool_count (integer): Advertised tools (0 if not introspected); source (varchar): crawl | submitted; month (date): Snapshot month. Attribution required when the data is shown: Source: Aleva (aleva.se)

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
domainstring–Domain (equals)
limitinteger–How many rows to return
sourcestring–crawl, submitted or ucp (equals)
source_inarray–crawl, submitted or ucp (any of)
source_nestring–crawl, submitted or ucp (not equal to)
tldstring–se or nu (equals)
tld_inarray–se or nu (any of)

No output schema declared.

No examples provided.

web_mcp_servers ~235

Swedish MCP, agent and API endpoints. Returns a list of records; pass next_cursor to get the next page. Fields: domain (varchar); tld (varchar); kind (varchar): mcp | ucp | a2a | openapi | api-catalog | llms; url (varchar): The advertised endpoint; platform (varchar): Platform the manifest looks generated by, when known; detail (varchar): Protocol version / capabilities; month (date). Attribution required when the data is shown: Source: Aleva (aleva.se)

NameTypeReqDescription
cursorstring–next_cursor from the previous result, for the next page
kindstring–mcp | ucp | a2a | openapi | api-catalog | llms (equals)
kind_inarray–mcp | ucp | a2a | openapi | api-catalog | llms (any of)
limitinteger–How many rows to return
platformstring–e.g. shopify (equals)
tldstring–se or nu (equals)

No output schema declared.

No examples provided.

Install

How do I install the Aleva open data MCP server?

Aleva open data is a hosted endpoint at https://api.aleva.se/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.aleva.se

# add to Claude Code
claude mcp add --transport http se-aleva-data 'https://api.aleva.se/mcp'
Common questions

What is the Aleva open data MCP server?

Aleva open data is an MCP server listed in the public MCP registry as se.aleva/data. Swedish public data as read-only tools: registries, statistics, domains, transport, energy. This page covers its hosted endpoint (https://api.aleva.se/mcp).

Is the Aleva open data MCP server safe to use?

Aleva open data scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Aleva open data MCP server expose?

Aleva open data exposes 47 tools: air_passengers_monthly, airport_passengers, consumer_prices, court_rulings, court_rulings_by_court, and 42 more. Their descriptions and schemas cost roughly 8,985 tokens of context every time the server is loaded.

Does the Aleva open data MCP server require authentication?

No. We connected to Aleva open data without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Aleva open data MCP server still maintained?

Aleva open data is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.