Suomiatlas MCP server

An MCP (Model Context Protocol) server that lets an AI assistant query Suomiatlas directly: "how many people live in Toukola?", "what does an apartment cost in Töölö?", "is the air clean in Vantaa?". Covers ~3,000 Finnish postal code areas and all 308 municipalities.

Connect with nothing installed

The server is hosted at https://suomiatlas.com/api/mcp over Streamable HTTP. In Claude Code that is one command; in other clients, add the same URL as an HTTP-type MCP server.

The --header line is optional. Leave it out and you get the free tier, which answers every question above; supply a key and you get your account's Pro access or Area Pass.

claude mcp add --transport http suomiatlas https://suomiatlas.com/api/mcp \
  --header "Authorization: Bearer sk_live_..."

Other clients

If your client has no command for adding a server, put the same URL in its configuration file as an HTTP-type MCP server.

The Authorization line is optional — leave it out and you get the free tier.

{
  "mcpServers": {
    "suomiatlas": {
      "type": "http",
      "url": "https://suomiatlas.com/api/mcp",
      "headers": { "Authorization": "Bearer sk_live_..." }
    }
  }
}

API keys

Create a key while signed in to Suomiatlas, under API keys. It is shown once; afterwards you see only its prefix. Revoke it at any time.

Keys travel in the Authorization header, never in a cookie. A key can read your account's Pro data, but cannot create or revoke keys, or change the account.

curl -X POST https://suomiatlas.com/api/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Authorization: Bearer sk_live_...' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

What the free tier withholds

When something is behind the paywall, the result carries a locked field naming what is missing and why. The data exists — it is simply not returned. That lets an assistant say "this needs Pro" instead of reporting the data as absent, or describing a three-year window as if it were the whole trend.

{
  "summary": "Espoo: latest median sale prices - Two-room apartment: 3718 EUR/m2 (2025).",
  "data": { "latestHousingPrices": [ ... ] },
  "tier": "free",
  "locked": [
    {
      "field": "housingPriceSeries",
      "reason": "Housing price history for a municipality requires a Suomiatlas Pro subscription. The data exists - it is withheld, not missing.",
      "upgrade": "https://suomiatlas.com/hinnat"
    }
  ]
}

Example: is there a beach nearby?

Asked "is there a swimming pool or a beach in or near Kallio?", the assistant answers in one call: get_nearby_places with withinKm (up to 5 km) returns the area's own places and those within that distance of its boundary, nearest first, with their distance.

The distance is straight-line from the area's boundary, 0 km inside it — not a walking or travel time. inArea says whether the place belongs to the area itself.

get_nearby_places {"place": "00530", "categories": ["swimming_pool", "beach"], "withinKm": 2}

{
  "summary": "Within 2 km of Kallio (Helsinki) (00530): nearest swimming pool Urheiluhallit Kallio / Helsingin urheilutalo / Uimahalli (0.03 km); nearest beach Mustikkamaan uimaranta (1.25 km).",
  "data": {
    "withinKm": 2,
    "nearby": {
      "swimming_pool": {
        "countWithin": 5,
        "nearest": [
          { "name": "Urheiluhallit Kallio / Helsingin urheilutalo / Uimahalli", "distanceKm": 0.03, "postalCode": "00510", "inArea": false },
          ...
        ]
      },
      "beach": { "countWithin": 2, "nearest": [ ... ] }
    }
  }
}

Tools

ToolAnswers
search_placesname to code — "which Töölö do you mean?"
get_place_stats"how many people live in Toukola or Akaa?", "what does an apartment cost in Töölö?"
get_place_history"have apartment prices been rising in Espoo?" — series, a computed direction, and an area's 1/5/10-year trend indicators
get_air_quality"is the air clean in Vantaa?" — measured values against WHO and EU limits
get_nearby_places"what is there in Kallio?" — transit stops, daycare centres, schools, higher and further education, health and medical centres, pharmacies, supermarkets, libraries, swimming pools and beaches inside a postal area or within a few km of it
compare_areasside-by-side statistics for up to 12 postal areas
rank_areas"highest income areas in Finland?" — nationally, or within one municipality or region; also crime rates and the cleanest air by municipality
find_similar_areas"where else feels like this neighbourhood?"
list_variablesthe metric catalogue, and each metric's year coverage
get_area_reportthe PDF report download link for one postal area (needs Pro or an Area Pass)

Free and Pro

FeatureFreePro
Population, income, education, employmentallall
Housing sale prices (latest year)yesyes
Crime and air qualityyesyes
Nearby places (stops and services)yesyes
History3 yearsfull record (2010–)
Housing price trendsnofull series (2009–)
Rankings10 rows100 rows
Area comparison2 areas12 areas
Composite score breakdownheadline score onlyevery component

See it working

The statistics are CC BY 4.0. Sources: Statistics Finland (Paavo, crime, housing sale prices) and the Finnish Meteorological Institute (air quality). Nearby places have their own licences: stops are Digitransit open data (CC BY 4.0), daycare centres come from the Suomi.fi service catalogue (CC0 1.0), the services from OpenStreetMap (© OpenStreetMap contributors, ODbL 1.0), and swimming pools and beaches from LIPAS (University of Jyväskylä, Lipas Liikuntapaikat.fi, CC BY 4.0). Attribute the original publisher when you use the data; /api/v1/license describes how the nearby-places database was built.