mcpField
E
easyonward

easyonward

Remote
github.com/EasyOnwardMaps & Travel0Updated 3w ago
Repository

About easyonward

EasyOnward MCP Server is a read-only visa and entry information service for travelers and AI assistants checking requirements by passport and destination country. Results include links to official government sources, and the server needs neither an API key nor personal information.

Key features

  1. 01Check visa and entry requirements
  2. 02Review transit requirements
  3. 03Provide official government source links
  4. 04Convert country names to ISO-2 codes
  5. 05Return a link to the full analysis

Use cases

  1. 01Check passport and destination requirements before travel
  2. 02Find official sources for destination information
  3. 03Convert country names to ISO-2 codes

MCP support

It provides a read-only MCP service over remote streamable HTTP or local stdio, with country-pair lookup and country-code conversion tools. It sends only the passport and destination countries to the public API, not personal information.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.easyonward.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
npm@easyonward/mcp-server0.2.0

Tools

2
ParameterTypeRequiredDescription
passport_countrystringYesThe traveler's passport-issuing country. ISO 3166-1 alpha-2 code (e.g. "US") or country name (e.g. "United States").
destination_countrystringYesThe destination country. ISO 3166-1 alpha-2 code (e.g. "KE") or country name (e.g. "Kenya").

Details

From the project README

EasyOnward MCP Server

A read-only Model Context Protocol server that lets any MCP-capable AI assistant (Claude Desktop, Cursor, ChatGPT desktop, …) check passport visa, entry, and transit requirements for a country pair — with official government sources and a deep link to the full EasyOnward analysis.

It wraps EasyOnward's public, unauthenticated visa-pair endpoint. It is read-only, sends no PII, and requires 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.

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

FieldDescription
passport_countryThe traveler's passport country. ISO 3166-1 alpha-2 code (US) or name (United States).
destination_countryThe destination country. ISO 3166-1 alpha-2 code (KE) or name (Kenya).

Output — both human-readable text and a structured object containing:

  • verdict — a one-line plain-language summary (restricted / conditional / straightforward).
  • worst_severity — BLOCK | WARN | INFO | NONE.
  • requirements[] — each flagged requirement as severity, 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, comparing visa services, travel insurance, and eSIM options alongside the official/free path.
  • disclaimer.
country_code

Helper that resolves a country name (or an existing ISO-2 code) to its uppercase ISO 3166-1 alpha-2 code — e.g. Kenya → KE. Handy before calling check_visa.

Example

Calling check_visa with { "passport_country": "US", "destination_country": "KE" }:

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.

Install & run

Two ways to connect, same tools:

  • Hosted (remote) — no install, nothing to run. Point any HTTP-capable MCP client at https://mcp.easyonward.com/mcp (Streamable HTTP). Best for most users.
  • Local (stdio) — runs on Node 18+ via npx (no install needed):
    npx -y @easyonward/mcp-server
    
    The server speaks MCP over stdio. Best for offline/air-gapped setups or clients without remote transport.
Hosted (remote) — Claude Code / any HTTP client
claude mcp add --transport http easyonward https://mcp.easyonward.com/mcp

Or in a client config that supports remote servers:

{
  "mcpServers": {
    "easyonward": {
      "type": "streamable-http",
      "url": "https://mcp.easyonward.com/mcp"
    }
  }
}

The hosted server is read-only, stateless, and PII-free — same two tools as the local build.

Claude Desktop (local stdio)

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "easyonward": {
      "command": "npx",
      "args": ["-y", "@easyonward/mcp-server"]
    }
  }
}

Restart Claude Desktop, then ask: "Do I need a visa to fly from the US to Kenya?"

Cursor

Add to ~/.cursor/mcp.json (or Settings → MCP → Add new server):

{
  "mcpServers": {
    "easyonward": {
      "command": "npx",
      "args": ["-y", "@easyonward/mcp-server"]
    }
  }
}
Smithery

This server ships a smithery.yaml manifest, so it can be installed from the Smithery registry:

npx -y @smithery/cli install @easyonward/mcp-server --client claude
Windsurf, Cline & other stdio clients

Any client that supports local stdio MCP servers uses the same block — command: npx, args: ["-y", "@easyonward/mcp-server"]. In Windsurf it's Settings → Cascade → MCP Servers; in Cline it's the MCP settings JSON. No client-specific setup.

Configuration

Env varDefaultPurpose
EASYONWARD_API_BASEhttps://easyonward.com/api/v1API base URL. Point at a dev/staging host for testing.

Example (point at a dev host):

{
  "mcpServers": {
    "easyonward": {
      "command": "npx",
      "args": ["-y", "@easyonward/mcp-server"],
      "env": { "EASYONWARD_API_BASE": "https://dev.easyonward.com/api/v1" }
    }
  }
}

Security & privacy

  • Read-only. The server only performs GET lookups against the public EasyOnward API — it never writes, books, or mutates anything.
  • No secrets, no auth. There's no API key or token to configure, so there's nothing to leak.
  • No PII. It sends only a passport country + a destination country (ISO-2 codes or country names). It never asks for or transmits passport numbers, names, dates of birth, or any personal data.
  • Public data only. Everything returned is public visa/entry/transit reference information, with links to official government sources.
  • Fail-safe. An unreachable API or an uncatalogued country pair returns a clear message, not a crash. Requests are subject to the public API's rate limits.

Develop

npm install      # install deps
npm run build    # tsc -> dist/
npm test         # unit tests (mocked fetch)
npm start        # run the built server on stdio

This package lives in its own directory and is intentionally isolated from the EasyOnward frontend/backend tooling and CI.

License

MIT

Comments

Markdown supported

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.