Skip to main content
Glama
malkreide

swiss-efv-mcp

by malkreide

Fiscal List Dimensions

fiscal_list_dimensions
Read-onlyIdempotent

List valid dimension values for Swiss federal finance datasets, turning free-text guesses into exact filter values for subsequent queries.

Instructions

List the valid dimension values across all datasets (variables, households, models, budget topics, departments).

Use case: call this first to build correct parameters for the other tools — it turns free-text guesses into exact filter values. Loads all three dumps, so it may take a moment on a cold cache.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelsYes
sourceNoData: Eidgenoessische Finanzverwaltung EFV — opendata.swiss (OGD Schweiz, frei nutzbar). Private, non-affiliated project. Kein Anspruch auf Vollstaendigkeit.
householdsYes
provenanceYesdump = freshly fetched CSV, cached = in-memory
budget_topicsYes
headline_variablesYes
institution_variablesYes
institution_departmentsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructiveness. The description adds the useful behavioral caveat that it loads all three dumps and may be slow on a cold cache, which goes beyond the annotations without contradicting them.

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?

Two short, front-loaded sentences: the first states the core purpose and scope, the second gives the use case and a performance caveat. Every sentence adds value with no 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 zero-parameter discovery tool with an output schema, the description covers purpose, scope, use case, and a relevant performance cost. Nothing essential is missing for an agent to select and call it correctly.

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?

The tool takes zero parameters, so the schema has nothing to document and the description need not compensate. The description still reinforces its role by noting it produces exact filter values that feed parameters into other tools.

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 a specific action ('List') and a clear resource ('valid dimension values across all datasets'), enumerating the covered categories. It also distinguishes itself from sibling query tools by positioning this as the discovery step that builds correct parameters.

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 explicitly says when to call it first: to turn free-text guesses into exact filter values for other tools. It gives clear context for its use, though it does not explicitly name alternatives or state when not to use it.

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