Skip to main content
Glama
markusl

Tilastokeskus StatFin MCP Server

by markusl

Search Finnish Statistics

search_statistics
Read-onlyIdempotent

Search Statistics Finland's StatFin database by keyword to find relevant statistical tables, returning ranked results with relevance scores and table IDs for further querying.

Instructions

Search Statistics Finland's StatFin database for statistical tables by keyword.

USE THIS FIRST when looking for data. Returns ranked results with relevance scores.

Examples:

  • "väestö Helsinki" → population tables for Helsinki

  • "unemployment" → employment/labor market tables

  • "housing prices" → real estate statistics

Returns: tableId (needed for query_table), title, relevance score, publication date.

After finding a table, use get_table_metadata to see its structure before querying.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (1-50). Default 10. Increase if first results are not relevant.
queryYesSearch term. Examples: "väestö Helsinki", "unemployment rate", "asuntojen hinnat". Finnish terms often work better.
languageNoResponse language. Default "fi" (Finnish). Use "en" for English labels.fi

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query that was executed
totalYesNumber of results returned
hasMoreYesTrue if more results available (increase limit)
resultsYesRanked search results

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful behavior beyond that: results are ranked by relevance, return fields are enumerated, and Finnish terms often work better. This gives the agent realistic expectations about search behavior without contradicting annotations.

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

Conciseness5/5

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

The description is well-structured and front-loaded with the most important instruction: 'USE THIS FIRST.' Every section earns its place: the one-line purpose, usage priority, examples, return fields, and next-step workflow. No filler or redundancy.

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 read-only search tool, the description covers the essential agent workflow: search, interpret results, and proceed to metadata before querying. The output schema exists to document return structure, and the description still enumerates key return fields. Nothing critical is missing for correct invocation.

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 all three parameters. The description adds examples and notes about Finnish terms, but those complement rather than substantially extend the schema. Baseline 3 is appropriate.

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 clearly states a specific verb and resource: 'Search Statistics Finland's StatFin database for statistical tables by keyword.' It also differentiates the tool from siblings by emphasizing keyword search and ranked results, which is distinct from list_tables, list_subject_areas, or query_table.

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?

The description gives explicit contextual guidance: 'USE THIS FIRST when looking for data.' It also provides a follow-up workflow: use get_table_metadata before querying. However, it does not explicitly state when not to use this tool or compare it against list_tables and list_subject_areas, so it stops short of full when/when-not coverage.

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