Skip to main content
Glama

Server Details

Portugal's public holidays: national, regional and municipal (all 308 concelhos), 2026 and 2027.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation5/5

list_holidays returns a full year's set of holidays, while next_holiday returns a single upcoming holiday from a date. The two purposes are clearly distinct with no overlap in intent.

Naming Consistency5/5

Both names follow a clean verb_noun snake_case pattern (list_holidays, next_holiday). The convention is predictable and readable.

Tool Count4/5

Two tools is on the thin side, but the domain (Portuguese public holiday lookup) is genuinely narrow and both tools earn their place covering the list and next-holiday cases.

Completeness4/5

The surface covers the two core queries well, but lacks checks like 'is a given date a holiday' or date-range/type filtering. These are minor gaps an agent can work around by combining the existing tools.

Available Tools

2 tools
list_holidaysAInspect

List Portugal's public holidays for a year (2026 or 2027): national, plus municipal and regional ones when a municipality is given.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes
municipalityNoOptional municipality (concelho), e.g. "Lisboa" or "Evora"; accents optional. Adds its municipal holiday and, in the Azores or Madeira, the regional ones. Without it, only national holidays.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full disclosure burden. It usefully reveals a constraint absent from the schema (year is limited to 2026 or 2027) and the conditional content of results (national only vs. plus municipal/regional). It omits return format, ordering, and error behavior for invalid years.

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?

A single sentence that front-loads the verb and resource, then layers the year constraint and the conditional scope of results. No filler, no restatement of the name or title.

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

Completeness3/5

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

For a two-parameter read tool with no annotations and no output schema, the description covers purpose, the year value range, and conditional output content. It leaves the return shape and the relationship to next_holiday unexplained, which is a real gap given there is no output schema to fall back on.

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 coverage is only 50%, with 'year' carrying no schema description; the description fills that gap by pinning year to 2026 or 2027. Municipality semantics live almost entirely in the schema field description, so the description adds marginal value there but adequately compensates for the undocumented required parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'List Portugal's public holidays for a year'. It contrasts implicitly with the sibling next_holiday via the plural 'holidays for a year' framing, but never names the sibling or explicitly rules it out, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage is implied through the '(2026 or 2027)' constraint and the conditional 'when a municipality is given', which tells the agent how to broaden the result set. However, there is no explicit guidance on when to pick this over next_holiday or what happens outside the supported year range.

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

next_holidayAInspect

Return the first Portuguese public holiday on or after a date (YYYY-MM-DD, default today in Lisbon), for the whole country or for one municipality.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNo
municipalityNoOptional municipality (concelho), e.g. "Lisboa" or "Evora"; accents optional. Adds its municipal holiday and, in the Azores or Madeira, the regional ones. Without it, only national holidays.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose meaningful behavior: the default date is today in Lisbon, the default scope is national-only when municipality is omitted, and supplying a municipality adds its municipal (and regional, in Azores/Madeira) holidays. It does not cover invalid-input or error behavior, but the defaults are the key traits an agent needs.

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?

A single sentence that front-loads the core action and packs format, default, and scope into compact parentheticals with zero waste.

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?

For a two-param, zero-required tool with no output schema or annotations, the description covers defaults, formats, and scope behavior well. It could say a bit more about error handling for malformed dates, but nothing essential to selecting or invoking it is missing.

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 coverage is only 50% — 'after' has no schema description — but the description supplies its format (YYYY-MM-DD), its default (today in Lisbon), and its semantics (on or after). The municipality semantics live in the schema itself, so both parameters end up fully understood.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Return) and resource (the first Portuguese public holiday on or after a date), and the 'first ... on or after' framing implicitly distinguishes it from the sibling list_holidays. It stops short of naming that sibling, so an agent must infer the division of labor.

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

Usage Guidelines3/5

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

Conveys scope choices (whole country vs. one municipality) and the default date, which implies when the tool applies, but never explicitly states when to prefer it over list_holidays or what conditions select the municipality path beyond the field itself.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedlist_holidays
    • First observednext_holiday

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to calculate Portuguese property purchase costs (IMT and stamp duty) and look up annual IMI property tax rates and costs for all 308 municipalities, with sources and year.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to look up public and school holidays across roughly 30 European countries for any date range, including localized holiday names, nationwide status, and regional subdivision coverage. Also lists covered countries and their subdivisions so school-term queries can be scoped to a specific region.
    19 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to calculate Portuguese property purchase costs (IMT, stamp duty, deed/registration) and query annual IMI rates and costs for all 308 municipalities, with sourced figures.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources