business-day-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| is_business_dayA | Check whether a date is a business day for a given country (optionally a subdivision). Use this when an agent needs to know if a specific calendar date is a working day — i.e. NOT a weekend and NOT a public holiday — under a country's official calendar. Args: date: ISO 8601 date string (YYYY-MM-DD), e.g. "2026-04-21". country: ISO 3166-1 alpha-2 country code. Case-insensitive (normalized to upper). subdiv: Optional country-specific subdivision code (state/province/region). Case-sensitive — pass it exactly as returned by get_supported_countries (e.g. "BY" for Bavaria, "CA" for California). When omitted, only nation-wide holidays are considered. Example: country="DE", subdiv="BY" treats Epiphany (Jan 6) as a holiday because it is observed only in Bavaria. Category filtering (e.g. catholic vs evangelical) is not currently supported. Returns: dict with keys: date, country, subdiv (only if provided), is_business_day, is_weekend, is_holiday, holiday_name (str or None). Raises:
ValueError: if |
| get_current_dateA | Return the current date in the given IANA timezone. Use this when an agent needs a stable, server-computed "today" — for example before calling other tools that require a concrete date. Does NOT consult any holiday calendar. Args: timezone: IANA timezone name (e.g. "UTC", "Europe/Berlin", "America/New_York", "Asia/Tokyo"). Defaults to "UTC". Returns: dict with keys: date (YYYY-MM-DD), timezone, day_of_week (full weekday name), iso_week (1-53). Raises:
ValueError: if |
| next_business_dayA | Return the next business day on/after (inclusive) or strictly after Use this to move forward to the soonest working day — skipping weekends and public holidays. Args:
date: ISO 8601 date string (YYYY-MM-DD) to start from.
country: ISO 3166-1 alpha-2 code (case-insensitive, normalized to upper).
inclusive: When True, Returns: dict with keys: input_date, next_business_day, country, subdiv (only if provided), skipped_days (number of non-business days traversed). Raises: ValueError: on invalid date, unknown country/subdiv, or if no business day is found within ~10 years. |
| previous_business_dayA | Return the previous business day on/before (inclusive) or strictly before Use this to move backward to the most recent working day — skipping weekends and public holidays. Args:
date: ISO 8601 date string (YYYY-MM-DD) to start from.
country: ISO 3166-1 alpha-2 code (case-insensitive, normalized to upper).
inclusive: When True, Returns: dict with keys: input_date, previous_business_day, country, subdiv (only if provided), skipped_days. Raises: ValueError: on invalid date, unknown country/subdiv, or if no business day is found within ~10 years. |
| last_business_day_of_monthA | Return the last business day of a given month for a country. Use this for end-of-month billing, reporting, or settlement dates that must land on a working day. Walks backward from the last calendar day, skipping weekends and holidays. Args: year: Four-digit year (e.g. 2026). month: Month 1-12. country: ISO 3166-1 alpha-2 code (case-insensitive, normalized to upper). subdiv: Optional country-specific subdivision code (case-sensitive; see get_supported_countries). When omitted, only nation-wide holidays are considered. Returns: dict with keys: year, month, country, subdiv (only if provided), last_business_day (YYYY-MM-DD), last_calendar_day (YYYY-MM-DD). Raises: ValueError: on invalid month, unknown country/subdiv. |
| business_days_betweenA | Count business days and list weekday holidays between two dates. Use this to measure working-day spans for SLAs, delivery windows, or payroll
periods. Weekend holidays are NOT listed in Args: start_date: ISO 8601 date string (YYYY-MM-DD). Must be <= end_date. end_date: ISO 8601 date string (YYYY-MM-DD). country: ISO 3166-1 alpha-2 code (case-insensitive, normalized to upper). inclusive: When True, both endpoints count toward the range. When False (default), end_date is excluded (half-open interval). subdiv: Optional country-specific subdivision code (case-sensitive; see get_supported_countries). When omitted, only nation-wide holidays are considered. Returns: dict with keys: start_date, end_date, country, subdiv (only if provided), inclusive, business_days (int), calendar_days (int), holidays_in_range (list of {date, name} for weekday holidays only). Raises:
ValueError: if |
| list_holidaysA | List all holidays for a given year and country, sorted by date. Use this to enumerate the full holiday calendar — for display, planning, or cross-referencing. Includes holidays that fall on weekends. Args: year: Four-digit year (e.g. 2026). country: ISO 3166-1 alpha-2 code (case-insensitive, normalized to upper). subdiv: Optional country-specific subdivision code (case-sensitive; see get_supported_countries). When omitted, only nation-wide holidays are returned. Example: country="DE", subdiv="BY" adds Bavarian regional holidays such as Epiphany (Jan 6) and All Saints' Day (Nov 1). Category filtering (e.g. catholic vs evangelical) is not currently supported; the union of applicable categories is returned. Returns: dict with keys: year, country, subdiv (only if provided), holidays (list of {date: YYYY-MM-DD, name: str}, sorted ascending by date). Raises: ValueError: on unknown country/subdiv. |
| get_supported_countriesA | List all countries supported by the holidays library, with subdivisions. Use this as the discovery tool before calling any country-aware tool. It tells
the agent which ISO country codes are valid AND which subdivision codes may be
passed as the optional IMPORTANT: Subdivision codes are case-sensitive — use them verbatim as returned here. Country codes are case-insensitive. Returns:
dict with keys:
- countries: list of {code: 2-letter ISO code, name: str,
subdivisions: list[str]}, sorted by code. |
| get_supported_subdivisionsA | List subdivision codes and aliases for a country's holiday calendar. Use this to discover valid IMPORTANT: Subdivision codes are case-sensitive and must be passed through
Example: Args: country: ISO 3166-1 alpha-2 code (case-insensitive, normalized to upper). Returns: dict with keys: - country: normalized uppercase code. - subdivisions: list of canonical subdivision codes (empty if the country has no regional variants, e.g. JP). - aliases: dict mapping alias (mixed-case, verbatim) → canonical code (empty dict if the country exposes no aliases). Raises:
ValueError: if |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fbdo/business-day-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server