Skip to main content
Glama

Suomiatlas — Finnish area statistics

Statistics for a Finnish place

get_place_stats
Read-only

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 Hervanta?", "how many live in Akaa?" and "how much is an apartment in Matinkylä?". Returns a headline set of metrics by default — pass variables to fetch specific codes from list_variables. A postal area's result also includes ratios[]: household composition and jobs-to-residents ratios compared against Finland as a whole (see each entry's nationalBasis and the response's notes). A null value is a figure Statistics Finland suppressed (small-area confidentiality) or never published for that vintage, and a null percentile means one could not be computed — report both as unpublished, never as zero; ratios[].areaValue is null when the area's denominator is under 30 or an input is unpublished.

Input Schema

NameRequiredDescriptionDefault
kindNoForce a grain when a name exists at both, e.g. Helsinki the municipality.
yearNoStatistics year; defaults to the newest available.
placeYesPlace name or code, e.g. "Hervanta", "Akaa", "00560"
variablesNoExtra variable codes to include beyond the headline set (see list_variables).
includeAllVariablesNoReturn all ~131 variables. Large; only use when the headline set is insufficient.
includeCompositeScoresNoInclude composite 0-100 scores with their component percentiles (postal areas only).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / includeCompositeScores / description
      Previous value: -"Include composite 0-100 scores (postal areas only). Component detail needs Pro."New value: +"Include composite 0-100 scores with their component percentiles (postal areas only)."
  2. Changed1 schema field changed
    • changedInput schema / properties / place / description
      Previous value: -"Place name or code, e.g. \"Toukola\", \"Akaa\", \"00560\""New value: +"Place name or code, e.g. \"Hervanta\", \"Akaa\", \"00560\""
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description discloses important behavior: it auto-resolves name or code, returns candidates instead of guessing when ambiguous, defaults to a headline metric set, returns ratios[] for postal areas, and explains null values as suppressed/unpublished rather than zero. These details materially change how an agent should interpret and present results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and scope, and most sentences carry useful behavioral or interpretation guidance. It is somewhat long, and the illustrative questions could be trimmed, but the density of genuinely useful content keeps it from being bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description explains the headline set, the optional ratios[], percentile context, and how to interpret null values and null percentiles. Combined with annotations that confirm this is a safe read operation, an agent has enough context to invoke the tool and report its results responsibly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter well, including enum values and the meaning of `variables` and `includeAllVariables`. The description reinforces some of this (default headline set, variables from list_variables, postal-area-only composite scores) but adds little parameter meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact resource (current statistics for one Finnish postal area or municipality) and enumerates the metric families covered, from population to crime rates. It distinguishes the tool from siblings like get_place_history by specifying 'current' statistics and from compare_areas/rank_areas by focusing on a single place.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is clearly illustrated with example questions and the description explains that `variables` should be fetched from `list_variables` when the headline set is insufficient. It does not explicitly name alternatives such as get_area_report or when not to use this tool, but the single-place/current-statistics scope is clear enough for most selection decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources