关于 visaroute
visaroute 是面向旅行者和行程规划者的只读签证及旅行要求查询工具。它根据护照国和目的地国家查询官方政府来源,并提供本地国家代码解析功能。
主要功能
- 01查询国家组合的签证要求
- 02查看入境与过境要求
- 03获取官方政府来源链接
- 04将国家名称解析为 ISO 代码
适用场景
- 01规划旅行前确认签证要求
- 02检查行程中的过境要求
- 03签证查询前解析国家名称
MCP 相关
它将 `check_visa` 调用转发到 EasyOnward 远程 MCP 端点,并提供不访问网络的本地工具 `country_code`。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| passport_country | string | 是 | 旅客的护照所属国家。ISO 3166-1 alpha-2 代码(US)或名称(United States)。 |
| destination_country | string | 是 | 目的地国家。ISO 3166-1 alpha-2 代码(KE)或名称(Kenya)。 |
详细介绍
visaroute
为任意护照与目的地组合提供签证信息, 并以政府官方来源为依据。visaroute 会告知持有指定护照的旅行者前往目的地国家 是否需要签证、途中适用哪些入境 和过境要求,以及每项要求的官方依据在哪里 — 还会提供指向完整分析的深层链接。
它是只读的,不会发送任何个人数据(只发送两个 国家名称或代码),也不需要 API 密钥。
本内容不构成法律或移民建议。结果是针对护照 所属国家任何公民的一般性分析。出行前,请务必 向航空公司和目的地主管部门核实。
工作原理
check_visa是一个转发客户端:它会通过流式 HTTP,以 JSON-RPC 客户端的方式调用已发布的 EasyOnward 远程 MCP 端点 (https://mcp.easyonward.com/mcp)——先执行initialize,然后执行notifications/initialized,再执行tools/call, 并遵循远程服务返回的会话标头 — 随后传递答案。可通过EASYONWARD_MCP_URL覆盖远程 URL。这种线缆 方式是重建实现:上游项目记录了工具的输入、输出和文本格式, 但没有记录其线缆协议;此重建实现也明确标注了这一点。country_code完全在本地运行:它会根据内嵌的 ISO 3166-1 alpha-2 列表解析, 不会访问网络。
工具
check_visa— 查询持有指定护照的旅行者前往 目的地国家是否需要签证,以及适用哪些入境和 过境要求 — 并提供政府官方来源。输入:passport_country和destination_country,两者均可为 ISO 3166-1 alpha-2 代码(US)或国家名称 (United States)。返回的答案是 人类可读文本(也会通过 MCP 以structuredContent形式提供),包含:verdict— 一行通俗易懂的摘要 (受限 / 有条件 / 顺畅)。worst_severity—BLOCK|WARN|INFO|NONE。requirements[]— 每项标记的要求,包含severity、title、detail。official_sources[]— 去重后的政府官方 来源 URL。deep_link— 指向完整分析的链接:https://easyonward.com/visa/{ORIGIN}-{DEST}。prepare_link— 同一页面,带有?ref=mcp标签。disclaimer。
country_code— 将国家名称(或 现有的 ISO-2 代码)解析为大写的 ISO 3166-1 alpha-2 代码 — 例如,Kenya→KE。适合在调用check_visa前使用。名称未知时会报错visaroute error: unknown country: <input>,而不是 猜测。
调用 check_visa,参数为
{ "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.
失败时会使用此重建实现自己的错误字符串,均以
visaroute error: 开头:远程服务返回非 2xx 响应时为 visaroute error: HTTP <status>;无法连接远程服务时为
visaroute error: upstream unreachable;远程 JSON-RPC 或
工具出错时为 visaroute error: <message>。
配置
EASYONWARD_MCP_URL(可选)—check_visa使用的远程 MCP 端点。默认为https://mcp.easyonward.com/mcp。
无需 API 密钥或其他配置。
CLI
每个工具都是一个子命令,接收一个 JSON 参数 字符串:
npx @reneturcios/visaroute check_visa '{"passport_country":"US","destination_country":"KE"}'
npx @reneturcios/visaroute country_code '{"country":"Kenya"}'
npx @reneturcios/visaroute --version
check_visa 会输出人类可读文本;
country_code 会输出解析后的代码。退出代码:
成功时为 0,运行时错误时为 1,用法错误时为 2。
MCP 服务
npx -y @reneturcios/visaroute mcp
MCP 客户端配置:
{
"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"}'
开发
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
许可证
MIT — 版权所有 (c) 2026 Rene Turcios
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。