WorkdayAPI
Business-day and public-holiday math for 29 countries: add business days, days between, holidays.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"workdayapi": {
"url": "https://workdayapi.mike-tusa.workers.dev/mcp"
}
}
}Remote endpoints
https://workdayapi.mike-tusa.workers.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢get_holidays(country, year, region, types)
List the public (and optionally bank/observance) holidays for one country (and region) in one year, 2020-2035, with local names, types and official source links. Read-only. Same data, cache and limits as GET /v1/holidays.
Input Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, GB. See list_countries.",
"pattern": "^[A-Za-z]{2}$",
"minLength": 2,
"maxLength": 2
},
"year": {
"type": "integer",
"minimum": 2020,
"maximum": 2035,
"description": "Year, 2020-2035."
},
"region": {
"type": "string",
"description": "Optional region/state code for countries with regional holidays, e.g. DE-BY, US-CA (or just BY).",
"maxLength": 10
},
"types": {
"type": "string",
"description": "Optional comma list of public, bank, observance, or \"all\" (default: all).",
"maxLength": 40
}
},
"required": [
"country",
"year"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"region": {
"type": "string"
},
"region_name": {
"type": "string"
},
"year": {
"type": "integer"
},
"scope": {
"type": "string"
},
"count": {
"type": "integer"
},
"holidays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"local_name": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
},
"notes": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
},
"data_version": {
"type": "string"
}
},
"required": [
"country",
"year",
"count",
"holidays"
]
}🟢is_business_day(country, date, region, weekend, types)
Check whether a date is a business day in a country (and region), considering weekends and public holidays. Returns the reason (weekend or holiday name) plus the previous and next business days. Read-only. Same engine, cache and limits as GET /v1/is-business-day.
Input Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, GB. See list_countries.",
"pattern": "^[A-Za-z]{2}$",
"minLength": 2,
"maxLength": 2
},
"date": {
"type": "string",
"description": "Date to check, YYYY-MM-DD (2020-2035).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10
},
"region": {
"type": "string",
"description": "Optional region/state code for countries with regional holidays, e.g. DE-BY, US-CA (or just BY).",
"maxLength": 10
},
"weekend": {
"type": "string",
"description": "Optional weekend days, comma list of day names like \"sat,sun\" (default) or \"fri,sat\", or \"none\".",
"maxLength": 40
},
"types": {
"type": "string",
"description": "Optional holiday types that close business days: comma list of public, bank (default: public; \"all\" = public,bank).",
"maxLength": 40
}
},
"required": [
"country",
"date"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"date": {
"type": "string"
},
"weekday": {
"type": "string"
},
"country": {
"type": "string"
},
"region": {
"type": "string"
},
"weekend": {
"type": "string"
},
"holiday_types": {
"type": "array",
"items": {
"type": "string"
}
},
"business_day": {
"type": "boolean"
},
"reason": {
"type": "string"
},
"holiday": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"actual_date": {
"type": "string"
},
"predicted": {
"type": "boolean"
}
}
},
"previous_business_day": {
"type": "string"
},
"next_business_day": {
"type": "string"
}
},
"required": [
"date",
"business_day",
"reason"
]
}🟢add_business_days(country, date, days, region, weekend, ...)
Add (or, with a negative number, subtract) business days to a date, skipping weekends and public holidays of the country (and region). Returns the result date and the holidays skipped. Read-only. Same engine, cache and limits as GET /v1/add.
Input Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, GB. See list_countries.",
"pattern": "^[A-Za-z]{2}$",
"minLength": 2,
"maxLength": 2
},
"date": {
"type": "string",
"description": "Start date, YYYY-MM-DD (2020-2035).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10
},
"days": {
"type": "integer",
"minimum": -2500,
"maximum": 2500,
"description": "Business days to add; negative counts backwards."
},
"region": {
"type": "string",
"description": "Optional region/state code for countries with regional holidays, e.g. DE-BY, US-CA (or just BY).",
"maxLength": 10
},
"weekend": {
"type": "string",
"description": "Optional weekend days, comma list of day names like \"sat,sun\" (default) or \"fri,sat\", or \"none\".",
"maxLength": 40
},
"types": {
"type": "string",
"description": "Optional holiday types that close business days: comma list of public, bank (default: public; \"all\" = public,bank).",
"maxLength": 40
}
},
"required": [
"country",
"date",
"days"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"date": {
"type": "string"
},
"days": {
"type": "integer"
},
"country": {
"type": "string"
},
"region": {
"type": "string"
},
"weekend": {
"type": "string"
},
"holiday_types": {
"type": "array",
"items": {
"type": "string"
}
},
"result": {
"type": "string"
},
"result_weekday": {
"type": "string"
},
"calendar_days": {
"type": "integer"
},
"skipped_holidays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"local_name": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
},
"skipped_holidays_truncated": {
"type": "boolean"
}
},
"required": [
"date",
"days",
"result"
]
}🟢business_days_between(country, from, to, inclusive, region, ...)
Count business days between two dates in a country (and region), excluding weekends and public holidays. The end date is excluded unless inclusive is true. Returns business, weekend and holiday day counts and the holidays in the range. Read-only. Same engine, cache and limits as GET /v1/between.
Input Schema
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code, e.g. US, DE, GB. See list_countries.",
"pattern": "^[A-Za-z]{2}$",
"minLength": 2,
"maxLength": 2
},
"from": {
"type": "string",
"description": "Start date, YYYY-MM-DD (2020-2035).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10
},
"to": {
"type": "string",
"description": "End date, YYYY-MM-DD (2020-2035).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10
},
"inclusive": {
"type": "boolean",
"default": false,
"description": "Count the end date too (default false)."
},
"region": {
"type": "string",
"description": "Optional region/state code for countries with regional holidays, e.g. DE-BY, US-CA (or just BY).",
"maxLength": 10
},
"weekend": {
"type": "string",
"description": "Optional weekend days, comma list of day names like \"sat,sun\" (default) or \"fri,sat\", or \"none\".",
"maxLength": 40
},
"types": {
"type": "string",
"description": "Optional holiday types that close business days: comma list of public, bank (default: public; \"all\" = public,bank).",
"maxLength": 40
}
},
"required": [
"country",
"from",
"to"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"inclusive": {
"type": "boolean"
},
"country": {
"type": "string"
},
"region": {
"type": "string"
},
"weekend": {
"type": "string"
},
"holiday_types": {
"type": "array",
"items": {
"type": "string"
}
},
"business_days": {
"type": "integer"
},
"calendar_days": {
"type": "integer"
},
"weekend_days": {
"type": "integer"
},
"holiday_days": {
"type": "integer"
},
"holidays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"local_name": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
},
"holidays_truncated": {
"type": "boolean"
}
},
"required": [
"from",
"to",
"business_days"
]
}🟢list_countries
List the supported countries (ISO codes), their regions and the supported year range. Read-only. Same data and limits as GET /v1/countries.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"years": {
"type": "object",
"properties": {
"from": {
"type": "integer"
},
"to": {
"type": "integer"
}
}
},
"data_version": {
"type": "string"
},
"countries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"regions": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"required": [
"count",
"countries"
]
}Community
Evidence