Koskamo

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.

Zovo Date Calculator MCP logo, by ZovoCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Zovo
MCP endpoint (Streamable HTTP)
https://date-calculator.zovo.one/mcp
Vendor documentation

What 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

Community listingRegistry 1.0.0

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
Server-advertised capabilities
{
  "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.

Zovo Date Calculator does exact date arithmetic: days between dates, business days (working days) excluding weekends and public holidays (including observed weekdays for holidays on a weekend) for 200+ countries and their states/regions, and the date N calendar or business days before or after a date. Pass dates as YYYY-MM-DD. Results are informational; legal deadlines may have special rules.

Tools

3 advertised

count_days_between — Count days between dates
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

count_days_between input schema
{
  "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."
    }
  }
}
count_days_between output schema
{
  "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
}
count_days_between annotations
{
  "title": "Count days between dates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_date_offset — Find a date N days before or after
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

calculate_date_offset input schema
{
  "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."
    }
  }
}
calculate_date_offset output schema
{
  "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
}
calculate_date_offset annotations
{
  "title": "Find a date N days before or after",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_holidays — List public holidays
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_holidays input schema
{
  "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."
    }
  }
}
list_holidays output schema
{
  "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
}
list_holidays annotations
{
  "title": "List public holidays",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

date-calculator-widget — Zovo Date Calculator view

Advertised by the server during the last successful anonymous check.

Interactive view for Zovo Date Calculator.

date-calculator-widget URI
ui://widget/date-calculator-v3-1.0.0-5919334d11de1fa4bd60863288ccb776c04724eedd113c5a5b79ab3beaf4b639.html

MIME type: text/html;profile=mcp-app

date-calculator-widget-legacy — Zovo Date Calculator view (previous versions)

Advertised by the server during the last successful anonymous check.

date-calculator-widget-legacy URI template
ui://widget/date-calculator-{version}.html

MIME type: text/html;profile=mcp-app

30-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.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http zovo-date-calculator-mcp https://date-calculator.zovo.one/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add zovo-date-calculator-mcp --url https://date-calculator.zovo.one/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable zovo-date-calculator-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "zovo-date-calculator-mcp": {
      "url": "https://date-calculator.zovo.one/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "zovo-date-calculator-mcp": {
      "type": "streamableHttp",
      "url": "https://date-calculator.zovo.one/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start zovo-date-calculator-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "zovo-date-calculator-mcp": {
      "type": "http",
      "url": "https://date-calculator.zovo.one/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http zovo-date-calculator-mcp https://date-calculator.zovo.one/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "zovo-date-calculator-mcp": {
      "url": "https://date-calculator.zovo.one/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "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.