Skip to main content
Glama
malkreide

i14y-mcp

by malkreide

List catalogues

list_catalogs
Read-onlyIdempotent

Retrieve a paginated list of catalogues from contributing organisations, with localized titles via language parameter.

Instructions

List the catalogues that feed into I14Y.

Each catalogue represents one contributing organisation's data collection.

Args: language: Language for titles. page: 1-based page number. page_size: Records per page (1-100).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
languageNode
page_sizeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYes
sourceNoAttribution string.Data: I14Y Interoperability Platform, Swiss Federal Statistical Office (BFS) — https://www.i14y.admin.ch. Licence terms are declared per distribution; check the `licence` field before reuse.
catalogsYes
returnedYes
page_sizeYes
provenanceNoWhere this payload came from.live_api
retrieved_atYesUTC timestamp of retrieval.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description doesn't need to restate those. It adds some domain context about catalogues, but no additional behavioral details such as pagination behavior, sorting, or open-world caveats beyond the annotation.

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 short, front-loaded with the main action, and clearly separates purpose, context, and arguments. Every sentence earns its place and there is no redundant fluff.

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

Completeness4/5

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

Given the presence of an output schema and strong annotations, the description covers the essential domain concept and all optional parameters. It is slightly incomplete because it offers no guidance on choosing among sibling list/search tools, but it is otherwise sufficient for a simple read-only listing endpoint.

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?

With 0% schema description coverage, the description compensates by documenting all three parameters: language controls titles, page is 1-based, and page_size is records per page. This adds meaning beyond the bare schema titles and constraints, though the explanations are minimal.

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 verb ('List') and resource ('catalogues that feed into I14Y'), then adds a defining sentence about what a catalogue represents. This makes it clearly distinguishable from siblings like list_datasets and search_catalog.

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

Usage Guidelines2/5

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

The description gives no guidance about when to use this tool versus alternatives such as search_catalog or list_datasets. It states what the tool does, but an agent is left to infer the appropriate selection context.

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