Skip to main content
Glama
malkreide

i14y-mcp

by malkreide

Get one data service

get_data_service
Read-onlyIdempotent

Retrieve a data service's full record, including endpoints, from Switzerland's national metadata catalogue by ID. Optionally specify language for titles and descriptions.

Instructions

Retrieve the full record for one registered API, including endpoints.

Args: data_service_id: UUID from list_data_services. language: Language for titles and descriptions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
languageNode
data_service_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
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.
provenanceNoWhere this payload came from.live_api
data_serviceYes
retrieved_atYesUTC timestamp of retrieval.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.2

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 destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by stating that the returned record is 'full' and 'including endpoints,' plus the language-dependent behavior of titles and descriptions.

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 compact and front-loaded with the main purpose in the first sentence. The Args section is minimal and every line contributes either parameter meaning or workflow context. There is no filler or repetition.

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 simple single-record retrieval tool, the description provides the necessary workflow source for the ID, the language behavior, and the scope of the returned record. An output schema exists, so detailed return structure is not needed in the description. The annotations cover safety and idempotency.

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 description coverage is 0%, so the description carries the burden of explaining parameters. It does so well: data_service_id is identified as a UUID from `list_data_services`, and language is defined as affecting titles and descriptions. The schema only supplies types/enums, so this adds meaningful semantics.

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 states a specific verb ('Retrieve'), a resource ('the full record for one registered API'), and a distinctive detail ('including endpoints'). It clearly differentiates from list_data_services and other sibling get_* tools by targeting a single record rather than a collection.

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 tells the agent to source data_service_id from `list_data_services`, which establishes a clear workflow and prerequisite. It does not explicitly enumerate when not to use the tool, but the singular-record framing and sibling list make the selection context clear.

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