Plan Schengen short stays with a rolling 90/180 rule calculator and a daily CSV download.
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.
Use this when the user needs a schengen calculator, schengen days left, schengen overstay dates or a 90/180 rule calculator for past and planned short stays. Returns days used and left on the check date, stay compliance, overstay dates and daily CSV. Accepts ISO or English US text dates, up to 60 stays over 1,100 days, years 1900–2100. Open stays end at the check date; touching stays merge. Does not model bilateral agreements, residence permits, long-stay visas or visa-sticker limits; calculation aid, not legal advice.
Up to 60 short stays spanning at most 1,100 days. Example: [{"entry_date":"2026-03-05","exit_date":"2026-03-20"}]. Use [] for none. Exclude residence-permit and type D visa days.
Window ends on this day, inclusive. Example: 2026-03-20 or March 20, 2026. Required for an ongoing stay.
Use this when the user needs a schengen calculator, schengen days left, schengen overstay dates or a 90/180 rule calculator for past and planned short stays. Returns days used and left on the check date, stay compliance, overstay dates and daily CSV. Accepts ISO or English US text dates, up to 60 stays over 1,100 days, years 1900–2100. Open stays end at the check date; touching stays merge. Does not model bilateral agreements, residence permits, long-stay visas or visa-sticker limits; calculation aid, not legal advice.
| Argument | Type | Description |
|---|---|---|
| stays* | array | Up to 60 short stays spanning at most 1,100 days. Example: [{"entry_date":"2026-03-05","exit_date":"2026-03-20"}]. Use [] for none. Exclude residence-permit and type D visa days. |
| check_date* | string | Window ends on this day, inclusive. Example: 2026-03-20 or March 20, 2026. Required for an ongoing stay. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"stays",
"check_date"
],
"properties": {
"stays": {
"type": "array",
"items": {
"type": "object",
"required": [
"entry_date"
],
"properties": {
"exit_date": {
"anyOf": [
{
"type": "string",
"maxLength": 80,
"description": "Last day in Schengen, inclusive. Example: 2026-03-20. Omit only for an ongoing stay in calculation or reset mode."
},
{
"type": "null"
}
]
},
"entry_date": {
"type": "string",
"maxLength": 80,
"description": "First day in Schengen, inclusive. Example: 2026-03-05 or March 5, 2026."
}
},
"additionalProperties": false
},
"maxItems": 60,
"description": "Up to 60 short stays spanning at most 1,100 days. Example: [{\"entry_date\":\"2026-03-05\",\"exit_date\":\"2026-03-20\"}]. Use [] for none. Exclude residence-permit and type D visa days."
},
"check_date": {
"type": "string",
"maxLength": 80,
"description": "Window ends on this day, inclusive. Example: 2026-03-20 or March 20, 2026. Required for an ongoing stay."
}
}
}Use this when the user wants schengen days left to return, a schengen 90 day rule projection or a days in Europe calculator for future availability. Projects window headroom on the next 180 dates with a daily CSV, assuming no further stays and departure by the reference date. Up to 60 stays over 1,100 days, years 1900–2100. Reference date defaults to America/New_York today. Headroom is not maximum consecutive trip length. Does not model bilateral agreements, residence permits, long-stay visas or visa-sticker limits; not legal advice.
| Argument | Type | Description |
|---|---|---|
| past_stays* | array | Up to 60 short stays spanning at most 1,100 days. Example: [{"entry_date":"2026-03-05","exit_date":"2026-03-20"}]. Use [] for none. Exclude residence-permit and type D visa days. |
| reference_date | string | Projection starts the day after this date. Example: 2026-03-31 or March 31, 2026. If omitted, uses today's date in America/New_York and says so. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"past_stays"
],
"properties": {
"past_stays": {
"type": "array",
"items": {
"type": "object",
"required": [
"entry_date"
],
"properties": {
"exit_date": {
"anyOf": [
{
"type": "string",
"maxLength": 80,
"description": "Last day in Schengen, inclusive. Example: 2026-03-20. Omit only for an ongoing stay in calculation or reset mode."
},
{
"type": "null"
}
]
},
"entry_date": {
"type": "string",
"maxLength": 80,
"description": "First day in Schengen, inclusive. Example: 2026-03-05 or March 5, 2026."
}
},
"additionalProperties": false
},
"maxItems": 60,
"description": "Up to 60 short stays spanning at most 1,100 days. Example: [{\"entry_date\":\"2026-03-05\",\"exit_date\":\"2026-03-20\"}]. Use [] for none. Exclude residence-permit and type D visa days."
},
"reference_date": {
"type": "string",
"maxLength": 80,
"description": "Projection starts the day after this date. Example: 2026-03-31 or March 31, 2026. If omitted, uses today's date in America/New_York and says so."
}
}
}Use this when the user asks how many days can I stay in Europe, wants a schengen visa calculator or needs to plan 90 days in 180 days. Finds the maximum consecutive short stay from an entry date and the first entry that supports a requested length. Past stays must be closed and end by entry; up to 60 stays over 1,100 days, years 1900–2100, requested lengths 1–90 days. Does not authorize entry or model bilateral agreements, residence permits, long-stay visas or visa-sticker limits; not legal advice.
| Argument | Type | Description |
|---|---|---|
| entry_date* | string | Planned first day in Schengen. Example: 2026-07-01 or July 1, 2026. Past stays must end on or before this day. |
| past_stays* | array | Up to 60 short stays spanning at most 1,100 days. Example: [{"entry_date":"2026-03-05","exit_date":"2026-03-20"}]. Use [] for none. Exclude residence-permit and type D visa days. |
| planned_length | integer | Optional consecutive trip length, including entry and exit, from 1 to 90 days. Example: 30. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"past_stays",
"entry_date"
],
"properties": {
"entry_date": {
"type": "string",
"maxLength": 80,
"description": "Planned first day in Schengen. Example: 2026-07-01 or July 1, 2026. Past stays must end on or before this day."
},
"past_stays": {
"type": "array",
"items": {
"type": "object",
"required": [
"entry_date"
],
"properties": {
"exit_date": {
"anyOf": [
{
"type": "string",
"maxLength": 80,
"description": "Last day in Schengen, inclusive. Example: 2026-03-20. Omit only for an ongoing stay in calculation or reset mode."
},
{
"type": "null"
}
]
},
"entry_date": {
"type": "string",
"maxLength": 80,
"description": "First day in Schengen, inclusive. Example: 2026-03-05 or March 5, 2026."
}
},
"additionalProperties": false
},
"maxItems": 60,
"description": "Up to 60 short stays spanning at most 1,100 days. Example: [{\"entry_date\":\"2026-03-05\",\"exit_date\":\"2026-03-20\"}]. Use [] for none. Exclude residence-permit and type D visa days."
},
"planned_length": {
"type": "integer",
"maximum": 90,
"minimum": 1,
"description": "Optional consecutive trip length, including entry and exit, from 1 to 90 days. Example: 30."
}
}
}