Local agent capability

Put SCHNGN behind your agent

Install the local runtime, connect it through MCP, and add the skill for reliable Schengen 90/180-day planning.

  • Calculates in a local process
  • No SCHNGN telemetry
  • Strict, versioned JSON
  • Ordinary 90/180-day rule

SCHNGN makes no outbound requests. Your agent host may still send tool inputs and results to its model provider.

02

Agent skill

The skill teaches an agent when to call SCHNGN, how to shape explicit stay ranges, and when to refuse legal-status questions.

What the skill adds

  • Prefers the MCP tools instead of reimplementing the date math.
  • Keeps inputs to entry and exit dates for continuous Schengen stays.
  • Stays within ordinary short-stay planning and points exceptional cases to official authorities.
03

Interface

CLI

Use the JSON CLI in scripts and agent shells. It reads strict JSON from stdin or a file and returns one JSON result.

Commands: schngn usage, schngn check-stay, and schngn latest-exit.

schngn usage --input request.json
04

Interface

REST + OpenAPI

Start a loopback-only HTTP service for tools that speak REST. It serves a live OpenAPI document and refuses non-local bind addresses.

OpenAPI: http://127.0.0.1:37491/openapi.json

schngn-api
05

Interface

TypeScript

Import the pure engine for low-level date math or the capability package for the strict agent contract.

Packages: @schngn/engine and @schngn/capability

npm install @schngn/capability
import { calculateUsage } from '@schngn/capability';

const result = calculateUsage({
  stays: [{ entryDate: '2026-01-01', exitDate: '2026-01-12' }],
  referenceDate: '2026-02-01'
});
06

Tool reference

Every interface exposes the same versioned calculation contract. Dates use YYYY-MM-DD and stay ranges include both entry and exit days.

01

calculate_schengen_usage

Input
{ stays, referenceDate, includeCountedDays? }
Purpose
Calculate days used and remaining on an explicit reference date.
02

check_schengen_stay

Input
{ existingStays, candidateStay }
Purpose
Check a proposed continuous stay on every day.
03

latest_safe_schengen_exit

Input
{ existingStays, entryDate }
Purpose
Find the latest safe exit for a stay with a known entry date.
07

Privacy boundary

The calculation boundary is local, but the full agent path may include cloud services.

LOCAL

SCHNGN runtime

The runtime performs no persistence, telemetry, logging of submitted dates, or outbound network requests.

HOST

Agent host and model provider

Your MCP client or agent host can send prompts, tool arguments, and results to its model provider. Review that provider's privacy and retention policies before using real travel dates.

Requirements

Node.js 24+. No SCHNGN account or API key is required. No hosted SCHNGN endpoint or network connection is required for calculation.

Scope and limitations

This capability models explicit continuous stays under the ordinary Schengen 90/180-day rule. It does not classify countries, decide visa or residence rights, or apply bilateral agreements. It is not legal advice.

Planning aid only. Competent authorities decide the authorized stay.