Skip to main content
Glama

Check a Schengen 90/180-day visa itinerary

check_schengen
Read-onlyIdempotent

Validate a set of trips against the Schengen Area rule: a non-EU visitor may be present at most 90 days within any rolling 180-day window. Entry and exit days both count as days of presence; overlapping trips are de-duplicated. Returns days used in the current window, days remaining, an overall compliance flag, and the exact first overstay date (if any).

Input Schema

NameRequiredDescriptionDefault
tripsYesList of Schengen stays.
plannedEntryNoOptional planned entry date. When set, the response adds plan: { maxStay, latestExit, fullResetDate } — the longest compliant stay starting on that date.
referenceDateNoOptional 'as of' date (ISO YYYY-MM-DD). Defaults to today (UTC).

Output Schema

NameRequiredDescriptionDefault
okNo
daysUsedNo
compliantNo
windowStartNo
daysRemainingNo
referenceDateNo
maxDaysInWindowNo
firstOverstayDateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "trips": [
      +      {
      +        "entry": "2025-01-01",
      +        "exit": "2025-03-01"
      +      }
      +    ]
      +  }
      +]
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the bar is lower. The description adds valuable behavioral detail beyond that: entry and exit days both count as presence, overlapping trips are de-duplicated, and the response includes specific compliance outputs. It does not cover edge cases like timezone handling or the default reference date, but the core semantics are well disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three tightly written sentences with zero waste: the first states the rule, the second clarifies counting and de-duplication, and the third summarizes the outputs. It is front-loaded with the purpose and appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full input schema, an output schema, and complete annotations, the description is largely complete for correct invocation. It does not mention the optional plannedEntry plan computation or referenceDate behavior, but those are fully covered by the schema, so the definition as a whole is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the trips, plannedEntry, and referenceDate parameters. The description adds no parameter-specific meaning beyond what the schema provides, which matches the baseline of 3 when structured data does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Validate) and a precise resource (a set of trips against the Schengen 90/180-day rule), making the tool's purpose immediately clear. It does not explicitly differentiate itself from the overlapping sibling check_travel_residency, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the domain statement—the agent can infer this is for Schengen day-count validation—but there is no explicit when-to-use guidance, no conditions for choosing it over sibling tools like check_travel_residency, and no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources