关于 arcnautical
arcnautical 是 ArcNautical API 的 MCP 服务,可按 IMO 编号筛查商船制裁状态、所有权透明度和适航评级。它面向需要在 AI 客户端或本地流程中查询船舶风险的用户,并提供免密基础查询及远程和本地接入方式。
主要功能
- 01按 IMO 查询制裁状态
- 02评估所有权透明度与评级
- 03批量筛查最多 50 艘船
- 04查询港口并评估航线风险
- 05免密基础查询工具
适用场景
- 01检查船舶是否涉及制裁
- 02获取船舶筛查记录与评级
- 03批量处理船舶 IMO 编号
- 04评估两个港口间的航线风险
MCP 相关
服务通过 MCP 暴露船舶筛查、港口查询、航线评分和用量查询等工具。可连接远程 Streamable HTTP 端点,也可通过 stdio 运行本地服务;部分工具需要 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @arcnautical/mcpARCNAUTICAL_API_KEY密钥Optional. Self-serve at https://arcnautical.com/arcnautical.html#/developer-api; unlocks the full screening record, batches and voyage scoring. check_vessel and find_port work without it.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@arcnautical/mcp
一个适用于 ArcNautical API 的 MCP 服务,可通过 IMO 编号筛查任何商船是否受到制裁、所有权是否不透明,以及其审查等级;可在 Claude、ChatGPT、Cursor、VS Code、Windsurf 或任何 MCP 客户端中使用。
有两个工具完全无需 API 密钥。 添加服务后,询问“IMO 9274446 是否受到制裁?”,即可获得答案。
有两种使用方式:使用 https://mcp.arcnautical.com/mcp 上的远程端点(无需安装,可用于 claude.ai、ChatGPT、Claude Code、Cursor),或通过 stdio 使用 npx -y @arcnautical/mcp 启动本地服务(适用于 Claude Desktop 和其他所有 stdio 客户端)。
IMO 9274446 HS STAR: sanctions RED — 4 confirmed matches on vessel identifier.
Ownership opacity MEDIUM. Vetting grade E (unacceptable). Checked 2026-09-12T08:10:40Z.
远程端点(无需安装)
https://mcp.arcnautical.com/mcp — MCP Streamable HTTP,无状态,返回 JSON 响应。调用 check_vessel 和 find_port 无需身份验证;需要密钥的工具会在 MCP 请求中通过 Authorization: Bearer 标头接收你的 API 密钥(也接受 X-API-Key 或 arcnautical-api-key 标头,供自行命名标头的网关使用——绝不会使用查询参数)。
claude.ai — Settings → Connectors → Add custom connector → URL https://mcp.arcnautical.com/mcp,无需身份验证。两个无需密钥的工具可立即使用。
ChatGPT — Settings → Connectors → Create(developer mode)→ 服务器 URL https://mcp.arcnautical.com/mcp,无需身份验证。
Claude Code
claude mcp add --transport http arcnautical https://mcp.arcnautical.com/mcp
claude mcp add --transport http arcnautical https://mcp.arcnautical.com/mcp --header "Authorization: Bearer arc_live_…"
Cursor — .cursor/mcp.json:
{
"mcpServers": {
"arcnautical": {
"url": "https://mcp.arcnautical.com/mcp",
"headers": { "Authorization": "Bearer arc_live_…" }
}
}
}
任何支持 curl 的工具 — 该端点通过 POST 传输纯 JSON-RPC:
curl -s https://mcp.arcnautical.com/mcp -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_vessel","arguments":{"imo":"9274446"}}}'
远程端点是同一公共 API 的轻量客户端:无需密钥的调用会计入你自己的每小时 100 次限额(会转发调用方的地址);使用密钥的调用则会像直接调用 API 一样计入你的密钥用量。GET /mcp 返回 405——没有需要保持的服务端到客户端流——而 GET https://mcp.arcnautical.com/health 会报告端点版本。
本地服务(stdio)
需要 Node 18+。无需安装——下方列出的每个客户端都会通过 npx 运行它。
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"arcnautical": {
"command": "npx",
"args": ["-y", "@arcnautical/mcp"]
}
}
}
Claude Code
claude mcp add arcnautical -- npx -y @arcnautical/mcp
Cursor / Windsurf / VS Code — 在客户端的 MCP 设置中使用相同的 command / args 结构。
如需解锁完整记录、批量筛查和航程评分,请在 env 区块中添加 API 密钥:
{
"mcpServers": {
"arcnautical": {
"command": "npx",
"args": ["-y", "@arcnautical/mcp"],
"env": { "ARCNAUTICAL_API_KEY": "arc_live_…" }
}
}
}
可在 https://arcnautical.com/get-a-key?from=mcp 免费自助获取密钥——无需银行卡,也无需审批。新密钥包含一次性的免费船舶筛查额度和每月航程评估额度;get_usage 会报告这两项额度,arcnautical.com/developers 上列出了当前额度。
工具
| 工具 | 需要密钥? | 功能 |
|---|---|---|
check_vessel | 否 | 查询单个 IMO 的制裁状态(OFAC SDN、EU、UN、UK OFSI、OpenSanctions)、所有权不透明度评分和 A–E 审查等级。每个 IP 每小时 100 次。 |
find_port | 否 | 将港口名称或国家解析为 UN/LOCODE;在调用 score_voyage 前使用。 |
screen_vessel | 是 | 完整筛查记录:包含每项匹配及其来源清单、计划和置信度类别、分级审查因素、各来源的新鲜度,以及保留的记录 ID。同一船体当天再次查询可免费重放结果。 |
screen_vessels | 是 | 批量提交最多 50 个 IMO 并等待结果。 |
get_screening | 是 | 通过 ID 检索已存储的记录(保留十年)。 |
score_voyage | 是 | 计算两个 LOCODE 之间航线的风险:评分、等级、影响因素、置信度和缺失来源。 |
get_usage | 是 | 查询已配置密钥的剩余额度和限制。 |
解读判定结果
- RED — 已确认船舶标识符匹配。AMBER — 可能匹配,请复核。GREEN — 与已查询的来源均无匹配。INCOMPLETE — 无法读取核心来源;绝不能将其呈现为无风险。
- GREEN 中的
coverage_complete: false表示有一个补充名单不可用:依赖该结果前请重新筛查。 assessed: false表示所有权和审查结果均为默认值,并非调查结论。- 无需密钥的检查只会匹配船舶的当前名称和标识符。船体在被指定后更名,可能会在该检查中显示为 GREEN;
screen_vessel可以涵盖这种情况。 - 指定名单每天都会变动。回答时请附上
checkedAt/screened_at时间。
幂等性
每个创建资源的调用都会发送一个根据问题生成的 Idempotency-Key——船体和 UTC 日期——而不是根据尝试生成。同一天内两次查询同一艘船会返回已存储的记录,且不产生任何费用。API 文档测得,某项集成每月的筛查中有 42% 是同一天的重复查询,仅因其客户端每次调用都会生成随机密钥而被计费;本服务不会这样做。
环境
| 变量 | 默认值 | 用途 |
|---|---|---|
ARCNAUTICAL_API_KEY | 未设置 | 启用需要密钥的工具(stdio;远程端点则读取 Authorization 标头)。 |
ARCNAUTICAL_BASE_URL | https://arcnautical.com | 覆盖默认值以用于测试。 |
PORT / HOST | 3005 / 所有接口 | 仅用于 --http。 |
MCP_TRUST_PROXY | 未设置 | 仅用于 --http:1 会从反向代理设置的 X-Real-IP / CF-Connecting-IP 中读取调用方地址。仅当只有代理能够访问该端口时使用。 |
自托管 HTTP 端点
npx -y @arcnautical/mcp --http 会在端口 3005 上提供 POST /mcp 服务——适用于助手运行在无法启动本地进程、但能够访问一个内部 URL 的网络中。此仓库中的 Dockerfile 会构建相同服务;mcp.arcnautical.com 运行的就是它。
链接
- 指南:https://arcnautical.com/developers/
- 参考文档:https://arcnautical.com/developers/reference/
- OpenAPI 3.1:https://arcnautical.com/api/v1/openapi.json
- Postman:https://www.postman.com/arcnautical-6322764/arcnautical-s-workspace
- 面向 Agent:https://arcnautical.com/llms.txt
- 收录于:MCP registry(
com.arcnautical/mcp) · Smithery · npm · Wellknown(所有者已验证;实时可达性检查)
开发
npm install
npm test # builds, then drives dist/cli.js over stdio AND createHttpServer() over Streamable HTTP
# (a local stub API asserts the forwarded caller address and Bearer key; one call hits prod keyless)
npm run start:http # the remote endpoint on http://localhost:3005/mcp
MIT © ArcNautical
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。