Skip to main content
Glama

Time of Meeting

Working days between two dates

working_days_between
Read-onlyIdempotent

Business days / working days calculator: count business days between two dates for one country, skipping weekends and public holidays, bank closures, or both (calendar: business, bank, combined). Returns the skipped dates with reasons.

Input Schema

NameRequiredDescriptionDefault
endYesSecond date, YYYY-MM-DD.
startYesFirst date, YYYY-MM-DD.
countryYesISO 3166-1 alpha-2 code or English country name. UK is accepted for the United Kingdom.
calendarNobusiness (default) skips national public holidays. bank skips bank closures: US Federal Reserve holidays, Danmarks Nationalbank closing days (DK), UK bank holidays (GB, or one nation GB-ENG, GB-WLS, GB-SCT, GB-NIR), and TARGET2 euro closing days. combined skips both. Other countries have no bank data, so bank and combined return an error for them.business
include_endNoCount end when it is a working day. Default false.
include_startNoCount start when it is a working day. Default false.

Output Schema

NameRequiredDescriptionDefault
endYes
daysYes
errorNo
startYes
sourceYes
countryYes
skippedYes
calendarYes
holidaysYes
candidatesNo
include_endYes
alternativesNoOther cities that matched the same name, after the best-ranked city was chosen. The order is the site search order: match, then priority, then population.
country_nameYes
include_startYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / calendar
      Added value: +{
      +  "default": "business",
      +  "description": "business (default) skips national public holidays. bank skips bank closures: US Federal Reserve holidays, Danmarks Nationalbank closing days (DK), UK bank holidays (GB, or one nation GB-ENG, GB-WLS, GB-SCT, GB-NIR), and TARGET2 euro closing days. combined skips both. Other countries have no bank data, so bank and combined return an error for them.",
      +  "enum": [
      +    "business",
      +    "bank",
      +    "combined"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / calendar
      Added value: +{
      +  "enum": [
      +    "business",
      +    "bank",
      +    "combined"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / skipped
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "date": {
      +        "type": "string"
      +      },
      +      "reason": {
      +        "type": "string"
      +      },
      +      "reasons": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "date",
      +      "reason",
      +      "reasons"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "start",
      -  "end",
      -  "country",
      -  "country_name",
      -  "days",
      -  "include_start",
      -  "include_end",
      -  "holidays",
      -  "source"
      -]New value: +[
      +  "start",
      +  "end",
      +  "country",
      +  "country_name",
      +  "days",
      +  "include_start",
      +  "include_end",
      +  "holidays",
      +  "source",
      +  "calendar",
      +  "skipped"
      +]
  2. Added

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, and the description does not contradict them. It adds that skipped dates are returned with reasons, but since an output schema exists that fact is largely redundant, and no rate limits, error behavior, or range limits appear beyond what the schema already says about unsupported bank calendars.

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?

A single front-loaded sentence that puts the core action first and tucks clarifications into a trailing parenthetical. It is dense but every clause carries content; the parenthetical enum restatement is the one mildly redundant piece.

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?

The tool is simple (6 params, 3 required, fully documented schema, output schema present, safe read annotations), so the description only needs to establish purpose. That it does well; the remaining gap is routing guidance among several date-arithmetic siblings, which the description never addresses.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter including defaults, patterns, and enum semantics, so the baseline is 3. The description only restates the calendar enum values ('business, bank, combined') without adding format, boundary, or inclusivity detail beyond what the schema documents.

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: count business/working days between two dates for one country, with weekend and holiday skipping. The 'business days' framing implicitly separates it from the calendar-day sibling days_between, but it never names that sibling or add_business_days, so differentiation is left to inference.

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 by 'for one country' plus the calendar modes, and the schema notes that bank/combined error for unsupported countries. There is no explicit when-to-use versus days_between, add_business_days, or get_holidays, and no stated prerequisites such as needing a country code.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources