Schengen Counter
Server Details
Schengen 90/180-day calculator, earliest re-entry date and ETIAS check. Stateless, no data stored.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool answers a clearly distinct question: country classification (etias_check), day usage/remaining balance (schengen_check_days), and earliest legal re-entry date (schengen_earliest_reentry). While the two schengen_ tools both involve day counting, their outputs and use cases do not overlap.
All names use snake_case with a domain prefix and an action/noun phrase, which is largely predictable. Minor inconsistency in style: etias_check is a short noun_verb while the others use longer descriptive phrases.
Three tools is on the lean side but well-matched to a narrow, stateless Schengen/ETIAS planning domain, with no redundant tools. A slightly richer surface (e.g. a country lookup or trip reference) could be added without bloat.
The surface covers the three core questions travelers ask: classification, day balance, and re-entry timing. Coverage could be deepened with country/visa-type reference data or per-trip validation, but core workflows are complete for the stated purpose.
Available Tools
3 toolsetias_checkARead-onlyInspect
Check the project’s current country classification: ETIAS-required, EU/EEA/Swiss free movement, or Schengen short-stay visa required. This country classification is informational and may change; verify current entry rules with official authorities.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | Passport nationality as a two-letter ISO code or listed country name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful context beyond that: the classification is informational and may change, so results should not be treated as authoritative. It stops short of noting that the answer is a point-in-time snapshot without dates or that it doesn't cover permitted stay length.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, with the classification enumeration front-loaded so the agent knows the return categories before reading the caveat. Nothing is padded or repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with full schema coverage and annotations, the description supplies the missing pieces: what the output categories mean and a reliability caveat. It is close to complete, with only the absence of guidance relative to the day-counting siblings as a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is fully documented in the schema (100% coverage), including accepted two-letter ISO codes and country names. The description adds nothing beyond that about the parameter, so the baseline 3 for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (check) and resource (project's country classification) and enumerates the three possible classifications, which tells the agent exactly what answer shape to expect. It is clearly distinguishable from the sibling tools schengen_check_days and schengen_earliest_reentry, which deal with stay duration and reentry, not classification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the reader infers this is a per-nationality informational lookup, but no when-to-use condition, prerequisite, or comparison against the schengen_* siblings is given. The closing 'verify current entry rules with official authorities' hints at its role but doesn't route the agent to an alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schengen_check_daysARead-onlyInspect
Calculate used and remaining Schengen short-stay days under the rolling 90/180-day rule from trips explicitly provided in this request. Trip dates are processed in memory and not stored. For planning only, not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| trips | Yes | Schengen trips. Entry and exit are YYYY-MM-DD; exit is inclusive. Omit exit for a single day. | |
| referenceDate | No | Date to evaluate, YYYY-MM-DD. Defaults to today. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful context beyond them: dates are processed in memory and not stored, and results are for planning rather than legal advice. That is meaningful disclosure the structured fields do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, zero filler. The core computation is front-loaded, followed by the data-handling note and the disclaimer, each earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter calculation tool with no output schema, the description conveys what is computed (used and remaining days), the governing rule, the input source, and the planning-only caveat. Return structure is only loosely implied, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the trips array and referenceDate fully documented (YYYY-MM-DD formats, exit inclusive, omit exit for single day, defaults to today). The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (calculate) and resource (Schengen short-stay days under the rolling 90/180-day rule), which is concrete enough to distinguish it from the sibling schengen_earliest_reentry by what it computes (used/remaining vs. a reentry date). It never names a sibling, so it falls short of full explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"From trips explicitly provided in this request" implies the tool works only on caller-supplied data rather than stored history, and the planning-only disclaimer signals intent. But there is no explicit statement of when to use this versus etias_check or schengen_earliest_reentry, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schengen_earliest_reentryARead-onlyInspect
Find the earliest date a traveler can legally re-enter Schengen and the longest consecutive stay possible, from trips explicitly provided in this request. Trip dates are processed in memory and not stored. For planning only, not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| trips | Yes | Schengen trips. Entry and exit are YYYY-MM-DD; exit is inclusive. Omit exit for a single day. | |
| referenceDate | No | Date to evaluate, YYYY-MM-DD. Defaults to today. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description still adds genuinely non-obvious behavior: trips are 'processed in memory and not stored', which is a privacy guarantee an agent cannot infer from the schema or annotations, plus the not-legal-advice boundary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the primary output is front-loaded and the two secondary clauses (in-memory processing, non-legal-advice) each carry distinct value. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by naming both return values (earliest re-entry date, longest stay), and annotations cover the safety profile. Minor gap: it doesn't characterize inputs (max 100 trips, minimum one, the 90/180-day rule basis) or behavior on malformed/overlapping trips, though the schema covers most of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (trips, referenceDate) are already documented with format and inclusivity rules in the schema. The description adds only that trips must be 'explicitly provided in this request' — a scoping note, not new parameter semantics. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and two concrete outputs: the earliest legal re-entry date and the longest consecutive stay. It is immediately distinguishable from etias_check and schengen_check_days by its forward-looking planning intent, though it never names either sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by 'from trips explicitly provided in this request' and the 'planning only' framing, which tells the agent this is a planning aid rather than a compliance check. However, it never states when to prefer it over schengen_check_days or etias_check, which are the obvious alternatives an agent would weigh.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
etias_check - First observed
schengen_check_days - First observed
schengen_earliest_reentry
Related MCP Connectors
Schengen 90/180 rolling-window calculator MCP server: stay math, trip checks, rule explainer.
Travel ledger for AI: journeys, stays, expenses, tax-residency day counts and Schengen 90/180.
Plan trips and track visa days per traveller across 39,601 entry rules
Free EU passenger rights calculators (flight, rail, bus, ferry), deadlines, legal glossary.
Related MCP Servers
AlicenseAqualityBmaintenanceTravel compliance and trip planning for digital nomads — visa requirements, tax residency analysis, Schengen 90/180-day tracking, and curated accommodation, transport, and experience search across 189 European destinations.7MIT- AlicenseAqualityCmaintenanceCheck visa requirements for 39,585 passport-destination pairs in 15 languages. Returns visa type, required documents, application process, and travel tips from 136 official government sources. Free quick checks without API key.567 npm1MIT

EasyOnward MCP Serverofficial
AlicenseAqualityBmaintenanceEnables AI assistants to check passport visa, entry, and transit requirements for a country pair using official government sources and a deep link to EasyOnward.249 npmMIT- AlicenseAqualityAmaintenanceThe standard VAT rate in any of the 27 EU member states on any date since 2016, including temporary cuts. Runs offline with no API key.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.