Aleva open data
by aleva.se · remote · no sign-in to list tools · v1.0.0 · published by se.aleva
Swedish public data as read-only tools: registries, statistics, domains, transport, energy.
47 tools: 44 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things44Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http data https://api.aleva.se/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnjob_ads
The server marks "job_ads" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "open": a word for a change.
- Warnjob_ads_national
The server marks "job_ads_national" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "open": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
47 tools
Changes things 44Claude Code: ask
air_passengers_monthlyAir passengers in Sweden per month.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
airport_passengersPassengers per airport and year.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
consumer_pricesConsumer price index per month.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
court_rulingsPublished court rulings.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
court_rulings_by_courtRulings per court.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
debt_restructuringDebt restructuring applications per month.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
debt_restructuring_by_ageDebt restructuring per year and age.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
domains_droppedDropped .se and .nu domains on a date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
domains_expiringDomains about to be released.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
domains_newNew .se and .nu domains on a date.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
domains_valuableDomains about to be released, with a value score.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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)
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
electricity_balanceElectricity production and use per year.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
electricity_forecastElectricity production per source with forecast.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
foodsFoods and nutrients per 100 g.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
guest_nightsGuest nights per month.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
guest_nights_by_countryForeign guest nights per country and year.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
guest_nights_by_countyGuest nights per county and year.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
house_pricesHouse price index.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
job_adsOpen job ads per day.1 finding
Why it is in this group
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "job_ads" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "open": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
job_ads_nationalOpen job ads in Sweden per day.1 finding
Why it is in this group
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "job_ads_national" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "open": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
medicine_shortagesMedicine shortages.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
medicine_shortages_by_groupOngoing shortages per ATC group.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
medicine_shortages_monthlyNew medicine shortages per month.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
municipal_figuresKey figures per municipality and year (Kolada).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
municipal_figures_latestKey figures per municipality, latest year.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
party_agreementHow often the parties vote alike.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
party_attendanceVotes and absence per party.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
populationPopulation per region and year.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
population_latestPopulation in the latest year and change.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
riksbank_ratesPolicy rate and exchange rates per day.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
stats_dnssecDNSSEC adoption per zone and day.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
stats_nameserversName server operators and market share.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
swestrSwestr per day.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
train_punctualityTrain punctuality per station and day.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
train_punctuality_dailyTrain punctuality in Sweden per day.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
weather_historyWeather per hour and station.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
weather_nowCurrent weather per SMHI station.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
web_agentsSwedish A2A agents.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
web_ai_stanceAI and crawler stance of Swedish websites per month.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
web_apisSwedish public APIs (OpenAPI).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
web_commerce_agentsSwedish agentic commerce (UCP).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
web_llmsllms.txt in Sweden.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
web_mcp_registrySwedish MCP servers (Aleva registry).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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)
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
web_mcp_serversSwedish MCP, agent and API endpoints.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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)
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
Only reads 3Claude Code: allow
describe_endpointThe fields, parameters, licence, sources and freshness of one data tool.No findings
Why it is in this group
- The name "describe_endpoint" says "describe": a word for reading.
Description, as the server wrote it The fields, parameters, licence, sources and freshness of one data tool.
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
domain_lookupOne domain in the latest zone.No findings
Why it is in this group
- The name "domain_lookup" says "lookup": a word for reading.
Description, as the server wrote it 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
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
search_catalogueFind datasets and the tools that query them by words in their names, descriptions and fields (Swedish or English).No findings
Why it is in this group
- The name "search_catalogue" says "search": a word for reading.
Description, as the server wrote it Find datasets and the tools that query them by words in their names, descriptions and fields (Swedish or English).
Annotations the server declares
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http data https://api.aleva.se/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__data__describe_endpoint",
"mcp__data__domain_lookup",
"mcp__data__search_catalogue"
],
"ask": [
"mcp__data__air_passengers_monthly",
"mcp__data__airport_passengers",
"mcp__data__consumer_prices",
"mcp__data__court_rulings",
"mcp__data__court_rulings_by_court",
"mcp__data__debt_restructuring",
"mcp__data__debt_restructuring_by_age",
"mcp__data__domains_dropped",
"mcp__data__domains_expiring",
"mcp__data__domains_new",
"mcp__data__domains_valuable",
"mcp__data__electricity_balance",
"mcp__data__electricity_forecast",
"mcp__data__foods",
"mcp__data__guest_nights",
"mcp__data__guest_nights_by_country",
"mcp__data__guest_nights_by_county",
"mcp__data__house_prices",
"mcp__data__job_ads",
"mcp__data__job_ads_national",
"mcp__data__medicine_shortages",
"mcp__data__medicine_shortages_by_group",
"mcp__data__medicine_shortages_monthly",
"mcp__data__municipal_figures",
"mcp__data__municipal_figures_latest",
"mcp__data__party_agreement",
"mcp__data__party_attendance",
"mcp__data__population",
"mcp__data__population_latest",
"mcp__data__riksbank_rates",
"mcp__data__stats_dnssec",
"mcp__data__stats_nameservers",
"mcp__data__swestr",
"mcp__data__train_punctuality",
"mcp__data__train_punctuality_daily",
"mcp__data__weather_history",
"mcp__data__weather_now",
"mcp__data__web_agents",
"mcp__data__web_ai_stance",
"mcp__data__web_apis",
"mcp__data__web_commerce_agents",
"mcp__data__web_llms",
"mcp__data__web_mcp_registry",
"mcp__data__web_mcp_servers"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as data. Review it before you use it.