About visaroute
visaroute is a read-only visa and travel-requirements lookup tool for travelers and travel planners. It checks passport and destination country pairs against official government sources, and includes a local country-code resolver.
Key features
- 01Check visa requirements for country pairs
- 02Review entry and transit requirements
- 03See official government source links
- 04Resolve country names to ISO codes
Use cases
- 01Check visa needs before planning a trip
- 02Review transit requirements for a route
- 03Resolve a country name before a visa check
MCP support
It provides `check_visa` by forwarding calls to EasyOnward’s remote MCP endpoint, and exposes `country_code` as a local tool that does not use the network.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
2Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| passport_country | string | Yes | The traveler's passport country. ISO 3166-1 alpha-2 code (US) or name (United States). |
| destination_country | string | Yes | The destination country. ISO 3166-1 alpha-2 code (KE) or name (Kenya). |
Details
From the project READMEvisaroute
Visa answers for any passport and destination pair, backed by official government sources. visaroute tells you whether a traveler holding a given passport needs a visa for a destination country, what entry and transit requirements apply along the way, and where the official word on each requirement lives — plus a deep link to the full analysis.
It is read-only, sends no personal data (just the two country names or codes), and needs no API key.
Not legal or immigration advice. Results are a generic analysis for any citizen of the passport country. Always verify with your airline and the destination's authorities before travel.
How it works
check_visais a forwarding client: it calls the published EasyOnward remote MCP endpoint (https://mcp.easyonward.com/mcp) over streamable HTTP as a JSON-RPC client —initialize, thennotifications/initialized, thentools/call, honouring the session header the remote returns — and passes the answer through. The remote URL can be overridden withEASYONWARD_MCP_URL. This wire choice is a reconstruction: the upstream project documents the tool's inputs, outputs and text shape but not its wire protocol, and the rebuild labels it as such.country_codeis fully local: it resolves against an embedded ISO 3166-1 alpha-2 list and never touches the network.
Tools
check_visa— check whether a traveler holding a given passport needs a visa, and what entry & transit requirements apply, for a destination country — with official government sources. Inputs:passport_countryanddestination_country, each an ISO 3166-1 alpha-2 code (US) or a country name (United States). The answer comes back as human-readable text (also carried asstructuredContentover MCP) with:verdict— a one-line plain-language summary (restricted / conditional / straightforward).worst_severity—BLOCK|WARN|INFO|NONE.requirements[]— each flagged requirement asseverity,title,detail.official_sources[]— deduped official government source URLs.deep_link—https://easyonward.com/visa/{ORIGIN}-{DEST}for the full analysis.prepare_link— the same page tagged?ref=mcp.disclaimer.
country_code— resolve a country name (or an existing ISO-2 code) to its uppercase ISO 3166-1 alpha-2 code — e.g.Kenya→KE. Handy before callingcheck_visa. An unknown name fails withvisaroute error: unknown country: <input>rather than guessing.
Calling check_visa with
{ "passport_country": "US", "destination_country": "KE" }
produces text of this shape:
Travel from United States to Kenya is conditional — see requirements.
Requirements:
[INFO] US travel advisory: Kenya — Level 2 (Exercise Increased Caution) — …
[INFO] Be ready to show proof of funds for Kenya (KE) — …
[WARN] An electronic travel authorization (eta) for Kenya on your United States (US) passport — …
Official government sources:
- https://www.etakenya.go.ke
- https://immigration.go.ke
- https://travel.state.gov/…/kenya-travel-advisory.html
…
Full details: https://easyonward.com/visa/US-KE
Generic analysis for any United States citizen. Not legal or immigration advice — verify with
your airline and the destination's authorities before travel.
Failures use this rebuild's own error strings, all in
the visaroute error: family: visaroute error: HTTP <status> for a non-2xx remote reply,
visaroute error: upstream unreachable when the
remote cannot be reached, and
visaroute error: <message> for a remote JSON-RPC or
tool error.
Configuration
EASYONWARD_MCP_URL(optional) — remote MCP endpoint forcheck_visa. Defaults tohttps://mcp.easyonward.com/mcp.
No API key or other configuration is required.
CLI
Each tool is a subcommand taking one JSON argument string:
npx @reneturcios/visaroute check_visa '{"passport_country":"US","destination_country":"KE"}'
npx @reneturcios/visaroute country_code '{"country":"Kenya"}'
npx @reneturcios/visaroute --version
check_visa prints the human-readable text;
country_code prints the resolved code. Exit codes:
0 on success, 1 on a runtime error, 2 on a
usage error.
MCP server
npx -y @reneturcios/visaroute mcp
MCP client config:
{
"mcpServers": {
"visaroute": {
"command": "npx",
"args": ["-y", "@reneturcios/visaroute", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/visaroute
docker run --rm ghcr.io/cloudcorprecords/visaroute country_code '{"country":"Kenya"}'
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.