Zovo Date Calculator MCP
An MCP server that calculates days between dates, business days excluding weekends and public holidays for 200+ countries, and finds dates N days before or after a given date. It supports custom weekends, holiday lists, and calendar views.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://date-calculator.zovo.one/mcpWhat you can do with it
- Count calendar days between two dates
- Calculate working days excluding weekends and holidays
- Find a date N business days after a start date
- Retrieve public holidays for specific countries or states
Source and maintenance
Protocol and capabilities
- Server
- date-calculator 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 3 advertised
- Resources
- 1 advertised
- Resource templates
- 1 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
3 advertised
count_days_between — Count days between dates
Use this when the user asks how many days are between two dates (days between dates, count days, date calculator), how many business days or working days are between two dates, or days between dates excluding weekends and public holidays for a country or US state. Returns calendar days, weeks and days, years/months/days, business days, and the holidays skipped by name. The start date is counted; set include_end_date=true to also count the end date (Excel NETWORKDAYS style). Does not handle times of day or time zones. Holidays that fall on a weekend are not double-counted, and their observed weekday off (for example US Independence Day 2026 on Saturday is observed Friday July 3) is skipped as a holiday. Results are informational: legal deadlines may have special rules such as court holidays. Do not use for writing SQL or spreadsheet formulas.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"maxLength": 40,
"description": "Second date, e.g. 2027-01-15. Also accepts \"January 15, 2027\" or \"today\"."
},
"start": {
"type": "string",
"maxLength": 40,
"description": "First date, preferably YYYY-MM-DD, e.g. 2026-03-03. Also accepts \"March 3, 2026\", \"3 March 2026\" or \"today\"."
},
"country": {
"type": "string",
"maxLength": 60,
"description": "Country for public holidays as an ISO 3166 two-letter code, e.g. US, GB, DE, PL, AU, CA, IN. Omit to skip holidays (weekends only)."
},
"subdivision": {
"type": "string",
"maxLength": 60,
"description": "Optional state/province/region code within the country for local holidays, e.g. TX or CA (US states), BY (Bavaria, DE), ENG or SCT (UK), NSW (AU), ON (CA)."
},
"weekend_days": {
"type": "array",
"items": {
"enum": [
"sunday",
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday"
],
"type": "string"
},
"maxItems": 6,
"description": "Non-working weekdays, e.g. [\"friday\",\"saturday\"]. Default saturday+sunday (friday+saturday for countries such as SA, IL, EG, QA, KW)."
},
"extra_holidays": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 100,
"description": "Extra non-working dates to skip, e.g. company shutdown days [\"2026-12-24\",\"2026-12-31\"]."
},
"include_end_date": {
"type": "boolean",
"description": "Count the end date too (adds one day), e.g. true for 'from Monday through Friday'. Default false."
},
"include_bank_holidays": {
"type": "boolean",
"description": "Also skip bank-only closing days where the data has them (e.g. Dec 24 and Dec 31 in Germany). Default false."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"summary",
"region",
"weekend_days",
"notes",
"start",
"end",
"reversed",
"include_end_date",
"calendar_days",
"weeks",
"months",
"business_days",
"weekend_days_count",
"holidays_skipped",
"holidays_on_weekends",
"holiday_source",
"inputs",
"calendar"
],
"properties": {
"end": {
"type": "object",
"required": [
"date",
"weekday",
"label"
],
"properties": {
"date": {
"type": "string"
},
"label": {
"type": "string"
},
"weekday": {
"type": "string"
}
},
"additionalProperties": false
},
"kind": {
"type": "string"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"start": {
"type": "object",
"required": [
"date",
"weekday",
"label"
],
"properties": {
"date": {
"type": "string"
},
"label": {
"type": "string"
},
"weekday": {
"type": "string"
}
},
"additionalProperties": false
},
"weeks": {
"type": "object",
"required": [
"weeks",
"days"
],
"properties": {
"days": {
"type": "number"
},
"weeks": {
"type": "number"
}
},
"additionalProperties": false
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"months": {
"type": "object",
"required": [
"years",
"months",
"days",
"total_months"
],
"properties": {
"days": {
"type": "number"
},
"years": {
"type": "number"
},
"months": {
"type": "number"
},
"total_months": {
"type": "number"
}
},
"additionalProperties": false
},
"region": {
"anyOf": [
{
"type": "object",
"required": [
"country",
"country_name",
"subdivision",
"subdivision_name",
"label"
],
"properties": {
"label": {
"type": "string"
},
"country": {
"type": "string"
},
"subdivision": {
"type": [
"string",
"null"
]
},
"country_name": {
"type": "string"
},
"subdivision_name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"summary": {
"type": "string"
},
"calendar": {
"type": "object",
"required": [
"range_start",
"range_end",
"months",
"hidden_months",
"weekend",
"week_starts_on",
"holidays"
],
"properties": {
"months": {
"type": "array",
"items": {
"type": "object",
"required": [
"year",
"month"
],
"properties": {
"year": {
"type": "number"
},
"month": {
"type": "number"
}
},
"additionalProperties": false
}
},
"weekend": {
"type": "array",
"items": {
"type": "number"
}
},
"holidays": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"name"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
},
"range_end": {
"type": "string"
},
"range_start": {
"type": "string"
},
"hidden_months": {
"type": "number"
},
"week_starts_on": {
"type": "number"
}
},
"additionalProperties": false
},
"reversed": {
"type": "boolean"
},
"weekend_days": {
"type": "array",
"items": {
"type": "string"
}
},
"business_days": {
"type": "number"
},
"calendar_days": {
"type": "number"
},
"holiday_source": {
"type": "string"
},
"holidays_skipped": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"weekday",
"name",
"on_weekend"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"weekday": {
"type": "string"
},
"on_weekend": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"include_end_date": {
"type": "boolean"
},
"weekend_days_count": {
"type": "number"
},
"holidays_on_weekends": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"weekday",
"name",
"on_weekend"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"weekday": {
"type": "string"
},
"on_weekend": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "Count days between dates",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_date_offset — Find a date N days before or after
Use this when the user wants the date that is N days or N business days (working days) before or after a date: 'what date is 90 days from today', '30 business days from Nov 3, 2026 in Germany', '10 working days before 2027-01-15', shipping or contract deadlines. Business days skip weekends and the public holidays of the given country and state, including observed weekdays for holidays that fall on a weekend (US July 4, 2027 is a Sunday, so Monday July 5 is skipped); the start date is not counted. For calendar days, roll=next_business_day moves a result that lands on a weekend or holiday to the next business day. Returns the date with its weekday, the holidays skipped, and a calendar (.ics) file. Results are informational: court and filing deadlines may have special rules (court holidays, service days). Does not handle times of day.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"start",
"days"
],
"properties": {
"days": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Number of days to add, e.g. 30; use a negative number such as -10 to go back."
},
"roll": {
"enum": [
"none",
"next_business_day",
"previous_business_day"
],
"type": "string",
"description": "For calendar days only: if the result is a weekend or holiday, move it, e.g. next_business_day for filing deadlines. Default none."
},
"unit": {
"enum": [
"calendar",
"business"
],
"type": "string",
"description": "\"calendar\" counts every day (default); \"business\" skips weekends and holidays, e.g. business for '10 working days'."
},
"start": {
"type": "string",
"maxLength": 40,
"description": "Starting date, e.g. 2026-10-02, \"Nov 3, 2026\" or \"today\"."
},
"country": {
"type": "string",
"maxLength": 60,
"description": "Country for public holidays as an ISO 3166 two-letter code, e.g. US, GB, DE, PL, AU, CA, IN. Omit to skip holidays (weekends only)."
},
"subdivision": {
"type": "string",
"maxLength": 60,
"description": "Optional state/province/region code within the country for local holidays, e.g. TX or CA (US states), BY (Bavaria, DE), ENG or SCT (UK), NSW (AU), ON (CA)."
},
"weekend_days": {
"type": "array",
"items": {
"enum": [
"sunday",
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday"
],
"type": "string"
},
"maxItems": 6,
"description": "Non-working weekdays, e.g. [\"friday\",\"saturday\"]. Default saturday+sunday (friday+saturday for countries such as SA, IL, EG, QA, KW)."
},
"extra_holidays": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 100,
"description": "Extra non-working dates to skip, e.g. company shutdown days [\"2026-12-24\",\"2026-12-31\"]."
},
"include_bank_holidays": {
"type": "boolean",
"description": "Also skip bank-only closing days where the data has them (e.g. Dec 24 and Dec 31 in Germany). Default false."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"summary",
"region",
"weekend_days",
"notes",
"start",
"result",
"days",
"unit",
"roll",
"rolled_from",
"calendar_days_spanned",
"weekend_days_skipped",
"holidays_skipped",
"holidays_in_range",
"result_is_business_day",
"holiday_source",
"inputs",
"calendar",
"downloads"
],
"properties": {
"days": {
"type": "number"
},
"kind": {
"type": "string"
},
"roll": {
"type": "string"
},
"unit": {
"type": "string"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"start": {
"type": "object",
"required": [
"date",
"weekday",
"label"
],
"properties": {
"date": {
"type": "string"
},
"label": {
"type": "string"
},
"weekday": {
"type": "string"
}
},
"additionalProperties": false
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"region": {
"anyOf": [
{
"type": "object",
"required": [
"country",
"country_name",
"subdivision",
"subdivision_name",
"label"
],
"properties": {
"label": {
"type": "string"
},
"country": {
"type": "string"
},
"subdivision": {
"type": [
"string",
"null"
]
},
"country_name": {
"type": "string"
},
"subdivision_name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"result": {
"type": "object",
"required": [
"date",
"weekday",
"label"
],
"properties": {
"date": {
"type": "string"
},
"label": {
"type": "string"
},
"weekday": {
"type": "string"
}
},
"additionalProperties": false
},
"summary": {
"type": "string"
},
"calendar": {
"type": "object",
"required": [
"range_start",
"range_end",
"months",
"hidden_months",
"weekend",
"week_starts_on",
"holidays"
],
"properties": {
"months": {
"type": "array",
"items": {
"type": "object",
"required": [
"year",
"month"
],
"properties": {
"year": {
"type": "number"
},
"month": {
"type": "number"
}
},
"additionalProperties": false
}
},
"weekend": {
"type": "array",
"items": {
"type": "number"
}
},
"holidays": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"name"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}
},
"range_end": {
"type": "string"
},
"range_start": {
"type": "string"
},
"hidden_months": {
"type": "number"
},
"week_starts_on": {
"type": "number"
}
},
"additionalProperties": false
},
"downloads": {
"type": "object",
"required": [
"ics"
],
"properties": {
"ics": {
"type": "string"
}
},
"additionalProperties": false
},
"rolled_from": {
"anyOf": [
{
"type": "object",
"required": [
"date",
"weekday",
"label"
],
"properties": {
"date": {
"type": "string"
},
"label": {
"type": "string"
},
"weekday": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"weekend_days": {
"type": "array",
"items": {
"type": "string"
}
},
"holiday_source": {
"type": "string"
},
"holidays_skipped": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"weekday",
"name",
"on_weekend"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"weekday": {
"type": "string"
},
"on_weekend": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"holidays_in_range": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"weekday",
"name",
"on_weekend"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"weekday": {
"type": "string"
},
"on_weekend": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"weekend_days_skipped": {
"type": "number"
},
"calendar_days_spanned": {
"type": "number"
},
"result_is_business_day": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"title": "Find a date N days before or after",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_holidays — List public holidays
Use this when the user asks which public holidays (bank holidays) a country or a state/region has in a year, e.g. 'Poland public holidays 2026' or 'Texas state holidays 2027', usually to plan working days. Returns each holiday with date, weekday, English name and whether it falls on a weekend, including the observed weekday off when a holiday falls on a weekend, plus a CSV file. Does not include school holidays, religious observances that are not days off, or company-specific closures. Do not use to check whether a stock exchange is open.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"country"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Year, e.g. 2026. Defaults to the current year."
},
"country": {
"type": "string",
"maxLength": 60,
"description": "Country as an ISO two-letter code, e.g. PL, US, GB, DE."
},
"subdivision": {
"type": "string",
"maxLength": 60,
"description": "Optional state/region code, e.g. TX (Texas), BY (Bavaria), SCT (Scotland)."
},
"weekend_days": {
"type": "array",
"items": {
"enum": [
"sunday",
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday"
],
"type": "string"
},
"maxItems": 6,
"description": "Weekend days used to flag holidays falling on a weekend, e.g. [\"friday\",\"saturday\"]. Default from the country."
},
"include_bank_holidays": {
"type": "boolean",
"description": "Also list bank-only closing days where available, e.g. Dec 24 in Germany. Default false."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"summary",
"region",
"weekend_days",
"notes",
"year",
"count",
"observed_days",
"on_weekdays",
"holidays",
"inputs",
"downloads"
],
"properties": {
"kind": {
"type": "string"
},
"year": {
"type": "number"
},
"count": {
"type": "number"
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"region": {
"anyOf": [
{
"type": "object",
"required": [
"country",
"country_name",
"subdivision",
"subdivision_name",
"label"
],
"properties": {
"label": {
"type": "string"
},
"country": {
"type": "string"
},
"subdivision": {
"type": [
"string",
"null"
]
},
"country_name": {
"type": "string"
},
"subdivision_name": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"summary": {
"type": "string"
},
"holidays": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"weekday",
"name",
"on_weekend"
],
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"weekday": {
"type": "string"
},
"on_weekend": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"downloads": {
"type": "object",
"required": [
"csv"
],
"properties": {
"csv": {
"type": "string"
}
},
"additionalProperties": false
},
"on_weekdays": {
"type": "number"
},
"weekend_days": {
"type": "array",
"items": {
"type": "string"
}
},
"observed_days": {
"type": "number"
}
},
"additionalProperties": false
}{
"title": "List public holidays",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
date-calculator-widget — Zovo Date Calculator view
Interactive view for Zovo Date Calculator.
ui://widget/date-calculator-v3-1.0.0-5919334d11de1fa4bd60863288ccb776c04724eedd113c5a5b79ab3beaf4b639.htmldate-calculator-widget-legacy — Zovo Date Calculator view (previous versions)
ui://widget/date-calculator-{version}.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 976 ms
- 95th percentile latency
- 976 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 976 ms · metadata changed · 3 tool(s), 1 resource(s), 1 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http zovo-date-calculator-mcp https://date-calculator.zovo.one/mcpCodex
codex mcp add zovo-date-calculator-mcp --url https://date-calculator.zovo.one/mcpCursor
{
"mcpServers": {
"zovo-date-calculator-mcp": {
"url": "https://date-calculator.zovo.one/mcp"
}
}
}Cline
{
"mcpServers": {
"zovo-date-calculator-mcp": {
"type": "streamableHttp",
"url": "https://date-calculator.zovo.one/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"zovo-date-calculator-mcp": {
"type": "http",
"url": "https://date-calculator.zovo.one/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http zovo-date-calculator-mcp https://date-calculator.zovo.one/mcpClaude Desktop
{
"mcpServers": {
"zovo-date-calculator-mcp": {
"url": "https://date-calculator.zovo.one/mcp"
}
}
}Windsurf
{
"mcpServers": {
"zovo-date-calculator-mcp": {
"serverUrl": "https://date-calculator.zovo.one/mcp"
}
}
}Let your agent find its tools
Find servers like Zovo Date Calculator MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.