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). Anything in the locked field is withheld pending a Pro subscription, not missing: say so rather than reporting it as absent. Outside locked, 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

TableJSON 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 (postal areas only). Component detail needs Pro.

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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\""
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond readOnlyHint/openWorldHint, the description discloses a rich behavioral contract that annotations cannot: ambiguous names return candidates instead of guessing, `locked` means Pro-gated not missing, nulls mean suppression or non-publication (never zero), a null percentile means it couldn't be computed, and ratios[].areaValue is null when the denominator is under 30. This is exactly the disclosure that prevents an agent from misreporting absent data.

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?

Front-loaded with purpose and metrics, then resolution behavior, then return-shape and null-handling semantics. Appropriate for a data-dense statistical tool. The final sentence on nulls/percentiles/ratios is long but each clause earns its place by preventing a specific misreporting error.

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?

For a single-place statistics tool with no output schema, the description adequately covers what is returned (headline set, ratios[], percentiles, locked/Pro fields), how ambiguity is handled, and how to read nulls. Given no output schema exists, this description does the heavy lifting and nothing an agent needs to interpret results correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics: name-or-code resolution behavior, the ambiguity-candidate return, the default-headline-set behavior that explains the `variables` parameter, and the Pro caveat on composite scores. It doesn't restate enum or year semantics, but supplements meaningfully.

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?

States a specific verb+resource ('current statistics for one Finnish postal area or municipality') and enumerates the exact metric domains returned. An agent can distinguish it from siblings like compare_areas, rank_areas, or get_area_report without opening any schema.

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?

Gives example questions that select this tool, explains name-vs-code resolution, and points to list_variables for variable codes and variables/includeAllVariables for fetching specific data. It doesn't explicitly contrast against sibling tools like get_area_report or get_place_history, so exclusions are implied rather than stated.

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