Stayspan Schengen Days

Plan Schengen short stays with a rolling 90/180 rule calculator and a daily CSV download.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
100%
Calidad de los nombres
93%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,169Tokens (definiciones de herramientas)
~6.5 KBTamaño de respuesta típico
Impacto moderado en la atención (1.69% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "schengen-days": {
      "url": "https://schengen-days.zovo.one/mcp"
    }
  }
}

Puntos de conexión remotos

https://schengen-days.zovo.one/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (3)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢calculate_schengen_days(stays, check_date)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "stays": {
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "entry_date": {
            "type": "string",
            "maxLength": 80,
            "description": "First day in Schengen, inclusive. Example: 2026-03-05 or March 5, 2026."
          },
          "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"
              }
            ]
          }
        },
        "required": [
          "entry_date"
        ],
        "additionalProperties": false
      },
      "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."
    }
  },
  "required": [
    "stays",
    "check_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "downloads": {
      "type": "object",
      "properties": {
        "csv": {
          "type": "string"
        }
      },
      "required": [
        "csv"
      ],
      "additionalProperties": false
    },
    "note": {
      "type": "string"
    },
    "check_date": {
      "type": "string"
    },
    "window_start": {
      "type": "string"
    },
    "window_end": {
      "type": "string"
    },
    "days_used": {
      "type": "number"
    },
    "days_left": {
      "type": "number"
    },
    "overstay_day_count": {
      "type": "number"
    },
    "first_overstay_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "stay_results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stay": {
            "type": "number"
          },
          "entry_date": {
            "type": "string"
          },
          "exit_date": {
            "type": "string"
          },
          "days": {
            "type": "number"
          },
          "legal": {
            "type": "boolean"
          },
          "first_overstay_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "overstay_days": {
            "type": "number"
          }
        },
        "required": [
          "stay",
          "entry_date",
          "exit_date",
          "days",
          "legal",
          "first_overstay_date",
          "overstay_days"
        ],
        "additionalProperties": false
      }
    },
    "stay_result_count": {
      "type": "number"
    },
    "overstay_ranges": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string"
          },
          "through": {
            "type": "string"
          },
          "days": {
            "type": "number"
          }
        },
        "required": [
          "from",
          "through",
          "days"
        ],
        "additionalProperties": false
      }
    },
    "next_legal_entry": {
      "type": "string"
    },
    "next_entry_max_days": {
      "type": "number"
    }
  },
  "required": [
    "kind",
    "notes",
    "downloads",
    "note",
    "check_date",
    "window_start",
    "window_end",
    "days_used",
    "days_left",
    "overstay_day_count",
    "first_overstay_date",
    "stay_results",
    "stay_result_count",
    "overstay_ranges",
    "next_legal_entry",
    "next_entry_max_days"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢plan_schengen_trip(past_stays, entry_date, planned_length)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "past_stays": {
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "entry_date": {
            "type": "string",
            "maxLength": 80,
            "description": "First day in Schengen, inclusive. Example: 2026-03-05 or March 5, 2026."
          },
          "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"
              }
            ]
          }
        },
        "required": [
          "entry_date"
        ],
        "additionalProperties": false
      },
      "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."
    },
    "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."
    },
    "planned_length": {
      "description": "Optional consecutive trip length, including entry and exit, from 1 to 90 days. Example: 30.",
      "type": "integer",
      "minimum": 1,
      "maximum": 90
    }
  },
  "required": [
    "past_stays",
    "entry_date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "downloads": {
      "type": "object",
      "properties": {
        "csv": {
          "type": "string"
        }
      },
      "required": [
        "csv"
      ],
      "additionalProperties": false
    },
    "note": {
      "type": "string"
    },
    "entry_date": {
      "type": "string"
    },
    "max_legal_days": {
      "type": "number"
    },
    "last_legal_exit": {
      "type": [
        "string",
        "null"
      ]
    },
    "planned_length": {
      "type": [
        "number",
        "null"
      ]
    },
    "planned_length_possible": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "first_entry_for_full_length": {
      "type": [
        "string",
        "null"
      ]
    },
    "days_used_before_trip": {
      "type": "number"
    },
    "history_overstay_days": {
      "type": "number"
    }
  },
  "required": [
    "kind",
    "notes",
    "downloads",
    "note",
    "entry_date",
    "max_legal_days",
    "last_legal_exit",
    "planned_length",
    "planned_length_possible",
    "first_entry_for_full_length",
    "days_used_before_trip",
    "history_overstay_days"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢find_schengen_reset_dates(past_stays, reference_date)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "past_stays": {
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "entry_date": {
            "type": "string",
            "maxLength": 80,
            "description": "First day in Schengen, inclusive. Example: 2026-03-05 or March 5, 2026."
          },
          "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"
              }
            ]
          }
        },
        "required": [
          "entry_date"
        ],
        "additionalProperties": false
      },
      "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."
    }
  },
  "required": [
    "past_stays"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "downloads": {
      "type": "object",
      "properties": {
        "csv": {
          "type": "string"
        }
      },
      "required": [
        "csv"
      ],
      "additionalProperties": false
    },
    "note": {
      "type": "string"
    },
    "reference_date": {
      "type": "string"
    },
    "days_used": {
      "type": "number"
    },
    "days_left": {
      "type": "number"
    },
    "first_available_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "full_90_available_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "reset_event_count": {
      "type": "number"
    },
    "reset_dates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "days_used": {
            "type": "number"
          },
          "days_available": {
            "type": "number"
          },
          "days_returned": {
            "type": "number"
          }
        },
        "required": [
          "date",
          "days_used",
          "days_available",
          "days_returned"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "kind",
    "notes",
    "downloads",
    "note",
    "reference_date",
    "days_used",
    "days_left",
    "first_available_date",
    "full_90_available_date",
    "reset_event_count",
    "reset_dates"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada3 herramientas