Which days of annual leave to book around bank holidays for the most days off, and cheap flights.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Find the days of annual leave to book around each public holiday (or cluster, such as Christmas and New Year) to get the most days off in a row: "book 4 days, get 10 off" options, cheapest first, with the exact dates. Use for "Which days should I book around Easter 2027 in Scotland?". Filter by holiday name (Easter, Christmas, Early May, Spring, Summer, St Patrick...). Past days are skipped.
End of the date range, inclusive (yyyy-MM-dd).
Start of a date range, instead of year (yyyy-MM-dd).
Calendar year, e.g. 2027. Defaults to this year.
Where the person works: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date). Defaults to england-and-wales.
Only holidays whose name contains this, e.g. "Easter", "Christmas", "May".
Days the person works, e.g. ["mon","tue","wed","thu"] for a four-day week. Defaults to Monday to Friday.
Most days of leave for one break. Default 9.
Find the days of annual leave to book around each public holiday (or cluster, such as Christmas and New Year) to get the most days off in a row: "book 4 days, get 10 off" options, cheapest first, with the exact dates. Use for "Which days should I book around Easter 2027 in Scotland?". Filter by holiday name (Easter, Christmas, Early May, Spring, Summer, St Patrick...). Past days are skipped.
| Argument | Type | Description |
|---|---|---|
| to | string | End of the date range, inclusive (yyyy-MM-dd). |
| from | string | Start of a date range, instead of year (yyyy-MM-dd). |
| year | integer | Calendar year, e.g. 2027. Defaults to this year. |
| region | string | Where the person works: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date). Defaults to england-and-wales. |
| holiday | string | Only holidays whose name contains this, e.g. "Easter", "Christmas", "May". |
| workdays | array | Days the person works, e.g. ["mon","tue","wed","thu"] for a four-day week. Defaults to Monday to Friday. |
| max_leave_days | integer | Most days of leave for one break. Default 9. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End of the date range, inclusive (yyyy-MM-dd)."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start of a date range, instead of year (yyyy-MM-dd)."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2019,
"description": "Calendar year, e.g. 2027. Defaults to this year."
},
"region": {
"type": "string",
"default": "england-and-wales",
"maxLength": 40,
"minLength": 2,
"description": "Where the person works: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date). Defaults to england-and-wales."
},
"holiday": {
"type": "string",
"maxLength": 60,
"description": "Only holidays whose name contains this, e.g. \"Easter\", \"Christmas\", \"May\"."
},
"workdays": {
"type": "array",
"items": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"type": "string"
},
"maxItems": 7,
"minItems": 1,
"description": "Days the person works, e.g. [\"mon\",\"tue\",\"wed\",\"thu\"] for a four-day week. Defaults to Monday to Friday."
},
"max_leave_days": {
"type": "integer",
"default": 9,
"maximum": 15,
"minimum": 1,
"description": "Most days of leave for one break. Default 9."
}
}
}Find the cheapest return flights from a departure airport that fit a break, one per destination, cheapest first, with booking links. Prices are cached airline fares in GBP and can change; if the result says sample, they are example prices only. Links go through leavehacker.app/go and are affiliate links: Leave Hacker may earn a commission if you book, at no extra cost to you. Say so when you share them. Use for "Find cheap flights from Manchester that fit the May bank holiday weekend" (work out the break's dates with best_days_to_book first).
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many destinations to return, up to 20. Default 10. |
| depart* | string | Outbound date, the first day of the break (yyyy-MM-dd). |
| origin* | string | Departure airport or city IATA code, e.g. MAN (Manchester), LGW (Gatwick), EDI (Edinburgh), BHX, LON (all London airports). |
| return* | string | Return date, the last day of the break (yyyy-MM-dd). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"origin",
"depart",
"return"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "How many destinations to return, up to 20. Default 10."
},
"depart": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Outbound date, the first day of the break (yyyy-MM-dd)."
},
"origin": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "Departure airport or city IATA code, e.g. MAN (Manchester), LGW (Gatwick), EDI (Edinburgh), BHX, LON (all London airports)."
},
"return": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Return date, the last day of the break (yyyy-MM-dd)."
}
}
}List the bank holidays (UK, from gov.uk) or public holidays (other countries, from Nager.Date) for a region in a year or between two dates, with weekdays and substitute days. Use it for questions like "When are the bank holidays in Scotland in 2027?". Ranges can be up to three years.
| Argument | Type | Description |
|---|---|---|
| to | string | End of the date range, inclusive (yyyy-MM-dd). |
| from | string | Start of a date range, instead of year (yyyy-MM-dd). |
| year | integer | Calendar year, e.g. 2027. Defaults to this year. |
| region | string | Where the person works: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date). Defaults to england-and-wales. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End of the date range, inclusive (yyyy-MM-dd)."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start of a date range, instead of year (yyyy-MM-dd)."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2019,
"description": "Calendar year, e.g. 2027. Defaults to this year."
},
"region": {
"type": "string",
"default": "england-and-wales",
"maxLength": 40,
"minLength": 2,
"description": "Where the person works: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date). Defaults to england-and-wales."
}
}
}Typical state-school holiday dates for a UK nation in a year (half terms, Easter, summer, Christmas). These are the usual pattern, NOT official dates: councils and schools set their own, so always tell the person to check their school's term dates.
| Argument | Type | Description |
|---|---|---|
| year | integer | Calendar year, e.g. 2027. Defaults to this year. |
| region | string | UK nation: england-and-wales, scotland or northern-ireland. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2019,
"description": "Calendar year, e.g. 2027. Defaults to this year."
},
"region": {
"enum": [
"england-and-wales",
"scotland",
"northern-ireland"
],
"type": "string",
"default": "england-and-wales",
"description": "UK nation: england-and-wales, scotland or northern-ireland."
}
}
}Write the short, polite message asking a manager for the leave days of a break, in the same words as the Leave Hacker app. Pass the dates to book; the break's first and last day are worked out from the weekends (and bank holidays, if you pass region) either side unless you pass them.
| Argument | Type | Description |
|---|---|---|
| region | string | Optional, to count bank holidays next to the dates: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date). |
| break_end | string | Last day off, if known (yyyy-MM-dd). |
| break_start | string | First day off, if known (yyyy-MM-dd). |
| dates_to_book* | array | The working days to book as leave (yyyy-MM-dd). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"dates_to_book"
],
"properties": {
"region": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Optional, to count bank holidays next to the dates: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date)."
},
"break_end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day off, if known (yyyy-MM-dd)."
},
"break_start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First day off, if known (yyyy-MM-dd)."
},
"dates_to_book": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A day of leave (yyyy-MM-dd)."
},
"maxItems": 60,
"minItems": 1,
"description": "The working days to book as leave (yyyy-MM-dd)."
}
}
}Plan a whole leave year: the set of breaks that turns the person's annual leave allowance into the most days off, using every bank holiday, with the dates to book for each break and the totals. Handles any leave year start date, part-time working days, three plan styles and school holidays (parents: breaks only in school holidays; school staff: the holidays themselves). Use for "Plan my 28 days of leave for 2027, I have kids at school".
| Argument | Type | Description |
|---|---|---|
| year | string | Which leave year: current or next. Defaults to current, or next when under 90 days are left. |
| style | string | mix: two proper holidays of 9+ days, the rest long weekends (default). longWeekends: as many 3–5 day weekends as possible. bigTrips: fewer trips of 9+ days. |
| region | string | Where the person works: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date). Defaults to england-and-wales. |
| school | string | none (default); parent: children at school, so breaks only in typical school holidays; staff: works in a school, so the school holidays are the breaks. UK only. |
| workdays | array | Days the person works, e.g. ["mon","tue","wed","thu"] for a four-day week. Defaults to Monday to Friday. |
| allowance |
| integer |
| Days of annual leave a year, not counting public holidays. Default 25. |
| days_used | integer | Days of this leave year's allowance already taken or booked. Default 0. |
| leave_year_starting | integer | Instead of year: the calendar year the leave year starts in, e.g. 2027 for January–December 2027 or April 2027–March 2028. |
| leave_year_start_day | integer | Day of the month the leave year starts. Default 1. |
| leave_year_start_month | integer | Month the leave year starts, 1–12 (1 = January, 4 = April). Default 1. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"year": {
"enum": [
"current",
"next"
],
"type": "string",
"description": "Which leave year: current or next. Defaults to current, or next when under 90 days are left."
},
"style": {
"enum": [
"mix",
"longWeekends",
"bigTrips"
],
"type": "string",
"default": "mix",
"description": "mix: two proper holidays of 9+ days, the rest long weekends (default). longWeekends: as many 3–5 day weekends as possible. bigTrips: fewer trips of 9+ days."
},
"region": {
"type": "string",
"default": "england-and-wales",
"maxLength": 40,
"minLength": 2,
"description": "Where the person works: england-and-wales, scotland or northern-ireland for UK bank holidays (from gov.uk), or a two-letter ISO 3166-1 country code such as IE, US, DE for other countries' public holidays (from Nager.Date). Defaults to england-and-wales."
},
"school": {
"enum": [
"none",
"parent",
"staff"
],
"type": "string",
"default": "none",
"description": "none (default); parent: children at school, so breaks only in typical school holidays; staff: works in a school, so the school holidays are the breaks. UK only."
},
"workdays": {
"type": "array",
"items": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"type": "string"
},
"maxItems": 7,
"minItems": 1,
"description": "Days the person works, e.g. [\"mon\",\"tue\",\"wed\",\"thu\"] for a four-day week. Defaults to Monday to Friday."
},
"allowance": {
"type": "integer",
"default": 25,
"maximum": 60,
"minimum": 0,
"description": "Days of annual leave a year, not counting public holidays. Default 25."
},
"days_used": {
"type": "integer",
"default": 0,
"maximum": 60,
"minimum": 0,
"description": "Days of this leave year's allowance already taken or booked. Default 0."
},
"leave_year_starting": {
"type": "integer",
"maximum": 2100,
"minimum": 2019,
"description": "Instead of year: the calendar year the leave year starts in, e.g. 2027 for January–December 2027 or April 2027–March 2028."
},
"leave_year_start_day": {
"type": "integer",
"default": 1,
"maximum": 31,
"minimum": 1,
"description": "Day of the month the leave year starts. Default 1."
},
"leave_year_start_month": {
"type": "integer",
"default": 1,
"maximum": 12,
"minimum": 1,
"description": "Month the leave year starts, 1–12 (1 = January, 4 = April). Default 1."
}
}
}