Directory / Commerce, travel & logistics
Orizn Visa
Visa and entry requirements for 49,750 passport-destination pairs (199 passports, 250 destinations) in 15 languages. Two tools work without a key; a free API key adds transit rules, comparisons and source URLs. Endpoint: https://visa.orizn.app/mcp · Docs
Live Answered an MCP handshake without credentials and listed 6 tools.
- Category
- Commerce, travel & logistics
- Transport
http- Source
- https://github.com/MattJeff/orizn-mcp-server
- Endpoint
https://visa.orizn.app/mcp- MCP Registry
io.github.MattJeff/orizn-visa-mcp- Reports itself as
- orizn-visa 1.1.0
- Protocol
- 2025-06-18
- Tools
- 6
- Context cost
- about 2,054 tokens for the tool definitions (estimated at four characters per token)
- Tool definitions last changed
- 2026-11-03
- Handshake time
- 490 ms
- Repository
- 1 stars · last push 2026-10-29 · MIT
- Last checked
- 2026-11-03 10:54:46 UTC
- Listed since
- 2026-10-28
Health and compatibility
| Endpoint reachable | Verified | Responded in 490 ms |
|---|---|---|
| MCP handshake (initialize) | Verified | Completed without credentials |
| Tool discovery (tools/list) | Verified | 6 tools listed |
| Authentication | Verified | None needed to connect |
| Protocol version | Verified | 2025-06-18 |
| Transport | Verified | Streamable HTTP |
| Capabilities declared | Verified | tools |
Last checked . Verified means the check saw it happen; it says nothing about whether the server is safe.
Recent history
2 daily checks so far. Green answered, violet asked for auth, red did not answer.
Set up in your client
Claude Code
Run this in a terminal:
claude mcp add --transport http orizn-visa https://visa.orizn.app/mcpClaude Desktop
Open Settings → Connectors → Add custom connector and paste this URL:
https://visa.orizn.app/mcpOr bridge it through mcp-remote in claude_desktop_config.json (needs Node.js):
{
"mcpServers": {
"orizn-visa": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://visa.orizn.app/mcp"
]
}
}
}Cursor
Or add it to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"orizn-visa": {
"url": "https://visa.orizn.app/mcp"
}
}
}VS Code
Or add it to .vscode/mcp.json:
{
"servers": {
"orizn-visa": {
"type": "http",
"url": "https://visa.orizn.app/mcp"
}
}
}Or from a terminal:
code --add-mcp '{"name": "orizn-visa", "type": "http", "url": "https://visa.orizn.app/mcp"}'Windsurf
Add it to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"orizn-visa": {
"serverUrl": "https://visa.orizn.app/mcp"
}
}
}Other clients
Most clients accept this shape. The endpoint is:
https://visa.orizn.app/mcp{
"mcpServers": {
"orizn-visa": {
"type": "http",
"url": "https://visa.orizn.app/mcp"
}
}
}If it does not connect
- Restart the client after editing a config file, and keep keys out of files you commit.
- If the tools do not appear, open the client's MCP log: a 401 means the credentials were not accepted, and a timeout means the server did not answer.
Tools 6
Names, descriptions and input schemas exactly as the server returned them on 2026-11-03. This is the server author's own text. Nothing is run from this page. Labels such as read-only are declared by the server and are not verified. Raw JSON
check_transit_visaread-onlyexternal access[needs a free API key — this call will fail without one: …
[needs a free API key — this call will fail without one: https://visa.orizn.app/visa-api/register?source=mcp-remote, then reconnect with ?key=<key>] Transit and layover rules for a country being connected through: airside/landside rules and how many free transit hours its main hubs grant. Call it for layovers, stopovers and connecting flights — not for entering a country as a destination, which is check_visa_requirement. IMPORTANT: this data is modelled PER TRANSIT COUNTRY, not per passport nationality. The answer is the same for every passport, the `passport` argument is recorded but does not narrow the result, and only 44 transit countries are covered. Present the reply as general hub rules to confirm with the airline or the transit country's authority, never as a per-nationality ruling. When the country is not covered the tool answers {status: "unavailable"} instead of guessing. Needs the Starter plan ($49/month, 30,000 requests) or above and costs 1 request. On a free key this call is refused before anything is charged, with the upgrade link.
| Parameter | Type | Description | |
|---|---|---|---|
passport | string | required | Traveller's passport, ISO 3166-1 alpha-3 (e.g. IND). Recorded, but does not narrow the answer. |
transit_country | string | required | Country being transited, ISO 3166-1 alpha-3 (e.g. ARE for a Dubai layover, TUR for Istanbul). |
lang | string | optional | Language code. One of: fr, en, es, pt, de, ja, ko, zh, ru, it, ar, hi, th, vi, tl. Defaults to en. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "check_transit_visa",
"arguments": {
"passport": "...",
"transit_country": "..."
}
}
}check_visa_requirementread-onlyexternal access[needs a free API key — this call will fail without one: …
[needs a free API key — this call will fail without one: https://visa.orizn.app/visa-api/register?source=mcp-remote, then reconnect with ?key=<key>] THE default visa tool: the full entry record for ONE passport travelling to ONE destination. Returns the requirement (visa_free / visa_required / e_visa / visa_on_arrival / eta / no_admission), days allowed, a written description, required documents, application steps, visa types, cost, validity, max stay, processing time, passport validity months, visa fees, photo specs, vaccinations, insurance, safety advisory, health requirements, overstay penalties, entry by mode (air/land/sea), transit rules, remote-work visa, extension rules, minor rules, dual-nationality and passport-stamp warnings, and embassies — in any of 15 languages, on every plan including free (fr, en, es, pt, de, ja, ko, zh, ru, it, ar, hi, th, vi, tl). Call it whenever the user asks whether they need a visa, what documents or vaccinations are needed, what a visa costs, how long it takes, how long they can stay, or what happens if they overstay. Needs an Orizn API key on this MCP connection and costs 1 request against that key's monthly quota. On the free plan the deep fields come back as {upgrade: "Available on Starter plan or above"} instead of data — report that as a plan limit, never as missing data. Reading the reply: every deep field carries a `granularity`. "destination" means the value describes the destination country for all nationalities (fees, …
| Parameter | Type | Description | |
|---|---|---|---|
passport | string | required | Passport country, ISO 3166-1 alpha-3 (e.g. FRA for France). |
destination | string | required | Country being entered, ISO 3166-1 alpha-3 (e.g. JPN for Japan). |
lang | string | optional | Language of the written fields. One of: fr, en, es, pt, de, ja, ko, zh, ru, it, ar, hi, th, vi, tl. Defaults to en. Available on every plan, free included. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "check_visa_requirement",
"arguments": {
"passport": "...",
"destination": "..."
}
}
}compare_destinationsread-onlyexternal access[needs a free API key — this call will fail without one: …
[needs a free API key — this call will fail without one: https://visa.orizn.app/visa-api/register?source=mcp-remote, then reconnect with ?key=<key>] Compare up to 2525 destinations costs 25 requests. Ask for the destinations the user actually named, not a whole region. Needs the Starter plan ($49/month, 30,000 requests) or above; on a free key this call is refused before anything is charged, with the upgrade link.
| Parameter | Type | Description | |
|---|---|---|---|
passport | string | required | Traveller's passport, ISO 3166-1 alpha-3 (e.g. FRA). |
destinations | string[] | required | 1 to 25 ISO 3166-1 alpha-3 destination codes, e.g. ["JPN","THA","VNM"]. Duplicates are removed before billing. |
lang | string | optional | Language of the description field. One of: fr, en, es, pt, de, ja, ko, zh, ru, it, ar, hi, th, vi, tl. Defaults to en. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "compare_destinations",
"arguments": {
"passport": "...",
"destinations": []
}
}
}get_coverage_statsread-onlyexternal accessHow big the Orizn visa database is: pairs, passports, destinations, enriched records, translations and …
How big the Orizn visa database is: pairs, passports, destinations, enriched records, translations and languages. Says nothing about any specific country pair — use quick_visa_check or check_visa_requirement for that. Keyless, free, and costs nothing against any quota. Call it when the user asks how complete the data is, or to confirm this server is reachable before a longer session.
Takes no parameters.
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "get_coverage_stats",
"arguments": {}
}
}get_recent_changesread-onlyexternal accessRecently changed visa rules — what changed, for which passport/destination pair, on what date, and from which …
Recently changed visa rules — what changed, for which passport/destination pair, on what date, and from which official source. STATUS: Orizn's change feed is currently OFF and this tool returns {status:"unavailable", changes: []}. It was shut down because it was publishing internal data edits as if they were official policy changes. An empty answer here therefore means "Orizn has no verified change data", NEVER "nothing changed" — do not tell the user rules are stable, tell them to check the destination's official immigration source, and use check_visa_requirement for the current rule with its verification date. Keyless, costs nothing.
| Parameter | Type | Description | |
|---|---|---|---|
passport | string | optional | Optional ISO 3166-1 alpha-3 passport code to filter on (e.g. 'FRA'). |
destination | string | optional | Optional ISO 3166-1 alpha-3 destination code to filter on (e.g. 'JPN'). |
since | string | optional | Optional ISO date (YYYY-MM-DD) — only changes detected on or after this date. |
limit | number | optional | Maximum number of changes to return (1-200, default 50). |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "get_recent_changes",
"arguments": {}
}
}quick_visa_checkread-onlyexternal accessDoes this passport need a visa for this destination? Returns the requirement, the number of visa-free days, …
Does this passport need a visa for this destination? Returns the requirement, the number of visa-free days, and — when that exact pair has been individually re-verified — the date it was. One pair per call, English only. Prefer it when the user wants a plain yes/no; switch to check_visa_requirement as soon as they need documents, fees, processing times, transit rules, or an answer in another language. Works with NO API key, 10 checks per day per network — the only tool that answers a traveller's question keyless. With a key it costs 1 request. Free API key: https://visa.orizn.app/visa-api/register?source=mcp-remote — 100 requests/month, no card, and it unlocks documents, fees, processing times, transit rules and 15 languages. Then reconnect with the key: https://visa.orizn.app/mcp?key=<key>, or an Authorization: Bearer <key> header.
| Parameter | Type | Description | |
|---|---|---|---|
passport | string | required | Passport country, ISO 3166-1 alpha-3 (e.g. FRA) |
destination | string | required | Destination country, ISO 3166-1 alpha-3 (e.g. JPN) |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "quick_visa_check",
"arguments": {
"passport": "...",
"destination": "..."
}
}
}Badge
Maintain this server? Put its live status in your README:
[](https://mcp.aianytime.net/s/orizn-visa/)Edit this entry · Report a problem
More in Commerce, travel & logistics
Checks record what a server answered, not whether it is safe. A listing is not a security audit; read a server's source and permissions before you connect it. Add a server · JSON · llms.txt · llms-full.txt
Browse: Agents, IDEs & developer tools · Search & discovery · Knowledge, memory & context · Media & generation · Security · Finance & markets · Marketing, content & social · Cloud, ops & data · Commerce, travel & logistics · Work & productivity · No account needed · Local servers