Skip to main content
Glama

find_institutions

Find SNS hospitals and local health units by name or nearest coordinates, including emergency-data availability and the stats_entity needed to query official waiting-time statistics.

Instructions

Find SNS hospitals / local health units (ULS) by name, or the nearest ones to a coordinate.

Use this first when the user names a hospital or a place ("hospitals near Lisbon", "is there an emergency department near 38.72,-9.14?"), then pass stats_entity to emergency_stats / surgery_wait_stats / consultation_wait_stats.

Each result: name, its parent ULS, coordinates, distance_km (when lat/lon given), whether it reports emergency / consultation / surgery data on tempos.min-saude.pt, and stats_entity — the name under which the official statistics report it (statistics are per ULS / hospital group, not per building). This list does NOT contain live waiting times; for live emergency waits send the user to https://tempos.min-saude.pt.

Args: query: Part of the name, accent-insensitive, e.g. "Santa Maria", "Faro", "ULS Algarve". lat, lon: Sort by distance from this point (WGS84), e.g. Lisbon 38.7223, -9.1393. Without query, umbrella ULS entries are skipped (they duplicate a hospital's location). emergency_only: Only places that report emergency-department data. limit: Max results (default 10, max 50).

Input Schema

NameRequiredDescriptionDefault
latNo
lonNo
limitNo
queryNo
emergency_onlyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so: it discloses the exact result fields, the caveat that statistics are per ULS/group rather than per building, the non-obvious rule that umbrella ULS entries are skipped when only lat/lon is given, and that live wait times are out of scope.

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-loads the purpose and the when-to-use rule before the result shape and an Args block, so an agent can stop reading early. Slightly long, and the result-shape sentence overlaps with the existing output schema, but nothing is wasted filler.

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?

Covers purpose, ordering relative to siblings, all parameters, result contents, and the important domain caveat that stats attach to ULS/groups. An output schema exists, so the brief return summary is bonus rather than a gap.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does for all five parameters: query is accent-insensitive with examples, lat/lon are WGS84 with a worked example and a behavioral side effect, emergency_only is defined as 'only places that report emergency-department data', and limit gives default and max.

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 and resource ('Find SNS hospitals / local health units (ULS)') with both lookup modes — by name or by proximity to a coordinate. It is clearly distinguishable from the sibling *_stats tools, which it explicitly routes to rather than duplicating.

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

Usage Guidelines5/5

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

Gives explicit sequencing: 'Use this first when the user names a hospital or a place', with two concrete example queries, then instructs passing `stats_entity` into emergency_stats / surgery_wait_stats / consultation_wait_stats. It also states an exclusion — no live waiting times, send the user to the external URL instead.

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