mcp server
Suomiatlas — Finnish area statistics
Statistics for every Finnish postal code area and municipality: income, housing, crime, air quality
Description as published by the maintainer. Source
- version 0.1.0
- active
active — Registry entry last updated 2026-08-06.
What this server can do
9 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
compare_areas(year, places)- Side-by-side statistics for several Finnish postal areas, with national benchmarks and percentiles. Accepts names or codes. Free callers are served only the FIRST TWO areas — the API truncates silently, and this tool reports the dropped ones in `locked`. If areas were dropped, say so; do not present a two-area answer as if it covered everything asked for. Required: places.
find_similar_areas(year, limit, place)- Postal areas most like a given one across its whole statistical profile — income, age structure, education, housing and employment together, not one metric. Useful for "where else in Finland feels like this neighbourhood?". Similarity is statistical, not geographic: the results are usually spread across the country. Required: place.
get_air_quality(kind, place)- Measured annual-mean air quality (PM2.5, PM10, NO₂, O₃) for a Finnish postal area or municipality, from Finnish Meteorological Institute and municipal monitoring stations, each compared against the WHO 2021 guideline and the EU limit. Answers "is the air clean in Vantaa?" with a verdict rather than a bare number. The latest reading, its benchmarks and its station are free for everyone; the multi-year `series` behind them needs Pro or an Area Pass and arrives empty otherwise, reported in `locked`. Coverage is sparse: Finland has ~160 stations, so a pollutant with no nearby station is reported as a gap — report that as unmeasured, never as clean. Required: place.
get_area_report(year, place, language)- The download link for one postal area's printable PDF report (composite scores, trends and the full statistics table). Returns a URL and never the file itself — the report renders the same data the other tools return, so offer the link when someone wants the document, and answer questions from get_place_stats instead. Downloading requires Suomiatlas Pro or an Area Pass for that area; when the caller has neither, the link still comes back and `locked` says what it costs. Reports exist per postal area only, not per municipality. Required: place.
get_place_history(kind, place, variables)- Time series for one Finnish postal area or municipality, with the direction and size of change computed for each metric so the trend does not have to be eyeballed. Answers questions like "have apartment prices been rising in Espoo?" and "is the population growing?". Defaults to housing sale prices and population. For a postal area it also returns `trendMetrics`: precomputed 1/5/10-year indicators — population growth, income momentum, aging velocity, family influx, construction, education uplift, and unemployment relative to the national change — which answer "is this area gentrifying / aging / declining?" directly, and whose latest values are free for everyone. Free callers receive only the last 3 years of series, no per-year history for the trend metrics, and no municipality housing price history — each reported in `locked`. A short window is NOT evidence of a short trend: if a field is locked, say the full series requires Pro rather than describing the 3-year window as the trend. Required: place.
get_place_stats(kind, year, place, variables, includeAllVariables, includeCompositeScores)- Current statistics for one Finnish postal area or municipality: population, age, income, employment, education, housing sale prices (€/m²) and municipal crime rates, with national/regional percentiles where available. Accepts a name or a code and resolves it automatically; if the name is ambiguous it returns the candidates instead of guessing. Answers questions like "how many people live in Toukola?", "how many live in Akaa?" and "how much is an apartment in Töölö?". Returns a headline set of metrics by default — pass `variables` to fetch specific codes from list_variables. Anything in the `locked` field is withheld pending a Pro subscription, not missing: say so rather than reporting it as absent. Required: place.
list_variables(group, variableCode)- The catalogue of every metric Suomiatlas publishes — population, income, education, employment, buildings and dwellings, housing sale prices, crime rates, composite scores — grouped by theme, with codes, units and types. Call this to find the right `variableCode` for rank_areas or get_place_stats. Pass `variableCode` to get the years that metric covers instead; coverage differs per metric (Paavo 2010–2024, housing prices 2009–2025, air quality 2023 onwards).
rank_areas(near, year, limit, order, scope, withinKm, variableCode, includeVariables)- Rank Finnish postal areas by any metric — highest or lowest income, population, unemployment, education, housing prices — nationally or within one municipality or region. Crime rate metrics (crime_total_rate and friends) rank municipalities instead, since crime is only published at that grain. Get valid metric codes from list_variables. Free callers receive at most 10 rows regardless of `limit`, reported in `locked`. `near` plus `withinKm` narrows the ranking to areas within a straight-line radius of another place. That is distance over the ground, never a travel or commute time. To screen areas on several metrics at once — "above-average family share and below-average housing prices" — rank by one metric and pass the rest as `includeVariables`; that is a single call. Do not call get_place_stats per area to collect a second metric. Required: variableCode.
search_places(kind, limit, query)- Resolve a Finnish place name to the code every other Suomiatlas tool takes. Handles postal areas (e.g. Toukola, Töölö), municipalities (Espoo, Akaa) and regions (Uusimaa). Diacritics are optional: "toolo" finds "Töölö". Call this first whenever the user names a place rather than a code. Many Finnish neighbourhood names are shared across cities, so several results is normal — present the choices instead of assuming the first one. Postal-area results carry an inhabitant count with the year it was published for; if you quote it, quote the year with it. Required: query.
Last successful function declaration observed on . Source: https://suomiatlas.com/api/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://suomiatlas.com/api/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 0.1.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-08-06 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-08-06 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 9 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | suomiatlas.com | |
| mcp endpoint status | ok | The server listed 9 functions when asked. | as of probe | suomiatlas.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json