Arcnautical

com.arcnautical由 arcnautical.com 发布官方发布者v0.2.1更新于 Oct 24, 2026

Screen any vessel by IMO for sanctions, ownership opacity and vetting grade. Keyless check included.

已验证Streamable HTTP可网页运行位置与生活金融安全与监控

概览

AI 生成的概览

ArcNautical 按 IMO 编号筛查商船是否命中制裁名单,给出所有权不透明度与审查评级,并评估两港之间的航线风险。

可以做什么
按 IMO 编号对单艘船舶做制裁筛查,给出所有权不透明度评分和 A–E 审查评级,无需密钥(按 IP 限流)。获取单艘船舶的完整筛查记录,包括每条命中及其来源名单、项目和置信等级。批量筛查最多 50 个 IMO 编号并等待结果。按记录 id 调取留存十年的审计副本。将港口名称、国家或部分 UN/LOCODE 解析为 LOCODE。评估两港之间的航线风险,含风险驱动因素、置信度和缺失来源。查询所配置密钥的剩余额度和限制。
适用场景
适用于合规、航运、贸易融资或物流场景:助手需要确认某艘船是否受制裁、判断所有权不透明度或审查历史,或在航次前评估航线风险。快速单次提问用免密钥检查即可;完整记录、批量筛查和航次评分需要密钥工具。
运行要求
可使用远程端点(无需安装),或用 npx 运行本地 npm 包,后者需要 Node 18+。check_vessel 和 find_port 不需要密钥。需要密钥的工具要提供 API 密钥:本地服务器用 ARCNAUTICAL_API_KEY,远程端点用 Authorization Bearer 请求头。密钥可自助免费获取。需要能访问 ArcNautical API 的网络。
安装前请注意
需要密钥的工具按量计费:每艘船筛查消耗一个筛查单位,除非当天已筛查过;航次评估占用每月额度。API 密钥属于机密,应放在环境变量或请求头中,不要写入共享配置。结论是某一时点的结果,制裁指定每日变化,回答时应注明检查时间。免密钥的 GREEN 只匹配当前船名和标识,INCOMPLETE 或覆盖不完整不能视为无风险。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Arcnautical,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.arcnautical%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "arcnautical": {
      "type": "http",
      "url": "https://mcp.arcnautical.com/mcp"
    }
  }
}

README

@arcnautical/mcp

An MCP server for the ArcNautical API: screen any commercial vessel by IMO number for sanctions, ownership opacity and a vetting grade — from Claude, ChatGPT, Cursor, VS Code, Windsurf or any MCP client.

Two tools need no API key at all. Add it, ask "is IMO 9274446 sanctioned?", get the answer.

[Smithery] [npm] [Wellknown: live]

Two ways to use it: a remote endpoint at https://mcp.arcnautical.com/mcp (nothing to install — claude.ai, ChatGPT, Claude Code, Cursor) or a local server over stdio with npx -y @arcnautical/mcp (Claude Desktop and every other stdio client).

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.

Remote endpoint (no install)

https://mcp.arcnautical.com/mcp — MCP Streamable HTTP, stateless, JSON responses. No authentication is required for check_vessel and find_port; the keyed tools take your API key as an Authorization: Bearer header on the MCP request (an X-API-Key or arcnautical-api-key header is accepted too, for gateways that name the header themselves — never a query parameter).

claude.ai — Settings → Connectors → Add custom connector → URL https://mcp.arcnautical.com/mcp, no authentication. The two keyless tools are available at once.

ChatGPT — Settings → Connectors → Create (developer mode) → server URL https://mcp.arcnautical.com/mcp, no authentication.

Claude Code

claude mcp add --transport http arcnautical https://mcp.arcnautical.com/mcpclaude mcp add --transport http arcnautical https://mcp.arcnautical.com/mcp --header "Authorization: Bearer arc_live_…"

Cursor — .cursor/mcp.json:

json
{  "mcpServers": {    "arcnautical": {      "url": "https://mcp.arcnautical.com/mcp",      "headers": { "Authorization": "Bearer arc_live_…" }    }  }}

Anything with curl — the endpoint is plain JSON-RPC over POST:

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"}}}'

The remote endpoint is a thin client of the same public API: a keyless call counts against your 100-per-hour allowance (the caller's address is forwarded), and a keyed call is metered on your key exactly as a direct API call would be. GET /mcp answers 405 — there is no server-to-client stream to hold — and GET https://mcp.arcnautical.com/health reports the endpoint's version.

Local server (stdio)

Requires Node 18+. No install step — every client below runs it with npx.

Claude Desktop — claude_desktop_config.json:

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

Claude Code

claude mcp add arcnautical -- npx -y @arcnautical/mcp

Cursor / Windsurf / VS Code — same command / args shape in the client's MCP settings.

To unlock the full record, batches and voyage scoring, add an API key to the env block:

json
{  "mcpServers": {    "arcnautical": {      "command": "npx",      "args": ["-y", "@arcnautical/mcp"],      "env": { "ARCNAUTICAL_API_KEY": "arc_live_…" }    }  }}

Keys are free and self-serve at https://arcnautical.com/get-a-key?from=mcp — no card, no approval step. A new key includes a one-time free allowance of vessel screenings and a monthly allowance of voyage assessments; get_usage reports both, and the current numbers are on arcnautical.com/developers.

Tools

ToolKey?What it does
check_vesselnoSanctions status (OFAC SDN, EU, UN, UK OFSI, OpenSanctions), ownership-opacity score, A–E vetting grade for one IMO. 100/hour per IP.
find_portnoResolve a port name or country to UN/LOCODEs — call before score_voyage.
screen_vesselyesThe full screening record: every match with its source list, programme and confidence class, the graded vetting factors, per-source freshness, a retained record id. Same hull asked again today replays free.
screen_vesselsyesBatch up to 50 IMOs and wait for the results.
get_screeningyesRetrieve a stored record by id (retained ten years).
score_voyageyesRoute risk between two LOCODEs: score, level, drivers, confidence, missing sources.
get_usageyesRemaining allowance and limits for the configured key.

Reading a verdict

  • RED — confirmed match on the vessel identifier. AMBER — possible match, review it. GREEN — no match against the sources reached. INCOMPLETE — a core source could not be read; never present it as clear.
  • coverage_complete: false on a GREEN means one supplementary list was unavailable: re-screen before relying on it.
  • assessed: false means ownership and vetting are defaults, not findings.
  • The keyless check matches the vessel's current name and identifiers only. A hull renamed after a designation can read GREEN there; screen_vessel covers that case.
  • Designations change daily. Quote the checkedAt / screened_at time with any answer.

Idempotency

Every resource-creating call sends an Idempotency-Key derived from the question — the hull and the UTC day — not from the attempt. Asking about the same vessel twice in a day returns the stored record and spends nothing. The API's docs measured 42% of one integration's monthly screenings as same-day repeats billed only because their client generated a random key per call; this server does not do that.

Environment

VariableDefaultPurpose
ARCNAUTICAL_API_KEYunsetEnables the keyed tools (stdio; the remote endpoint reads the Authorization header instead).
ARCNAUTICAL_BASE_URLhttps://arcnautical.comOverride for testing.
PORT / HOST3005 / all interfaces--http only.
MCP_TRUST_PROXYunset--http only: 1 reads the caller's address from X-Real-IP / CF-Connecting-IP set by a reverse proxy. Only when nothing but the proxy can reach the port.

Self-hosting the HTTP endpoint

npx -y @arcnautical/mcp --http serves POST /mcp on port 3005 — useful when your assistants run in a network that cannot spawn local processes but can reach one internal URL. The Dockerfile in this repository builds the same thing; it is what mcp.arcnautical.com runs.

Links

Development

npm installnpm 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

来源:README.md,提交 eb254fc

工具

7

check_vessel

Check a vessel (no key)

Screen one vessel by IMO number against OFAC SDN, EU, UN, UK OFSI and OpenSanctions, with an ownership-opacity score and an A–E vetting grade from port-state-control history. Works with no API key. Rate-limited to 100 requests per hour per IP. Returns the VERDICT SUMMARY only; for every sanctions match with its source list and confidence class use screen_vessel (needs a key).

输入参数imo必填

find_port

Find a port / UN/LOCODE (no key)

Resolve a port name, country or partial UN/LOCODE to the LOCODEs the routing engine knows. Routes are addressed by LOCODE, so call this before score_voyage rather than guessing a code. Works with no API key.

输入参数limitquery必填

screen_vessel

Screen a vessel (full record, API key)

The authenticated screening record for one vessel: every sanctions match with its source list, programme and confidence class, ownership opacity, the graded vetting factors, per-source freshness, and a retained record id. Needs ARCNAUTICAL_API_KEY. Metered: a new self-serve key includes a one-time free allowance of live screenings; get_usage reports what is left. The same vessel asked again on the same day replays the stored record free. If the result is INCOMPLETE for identity, call again with vessel_name.

输入参数imo必填vessel_nameinclude_vettingcustomer_reference

screen_vessels

Screen up to 50 vessels (API key)

Batch-screen a list of IMO numbers and wait for the results (up to two minutes). Returns one verdict per hull plus the batch status. Needs ARCNAUTICAL_API_KEY. Each hull spends one screening unit unless it was already screened today.

输入参数imos必填include_vetting

get_screening

Retrieve a screening record (API key)

Fetch a stored screening record by id — the audit copy, retained ten years. Needs ARCNAUTICAL_API_KEY.

输入参数id必填

score_voyage

Score a voyage route (API key)

Route risk between two ports (UN/LOCODEs): a 0–100 score, risk level, the signals driving it (war-risk areas, piracy, chokepoints, weather, sanctions exposure of transited EEZs), confidence and any missing sources. Resolve port names with find_port first. Needs ARCNAUTICAL_API_KEY; 10,000 assessments a month are included with a self-serve key.

输入参数origin必填dwt_tonnesdestination必填speed_knotsvessel_typeload_conditioncustomer_reference

get_usage

Usage and quota (API key)

Live and test usage, remaining allowance, reset time, batch limits and monitor capacity for the configured key.

无需输入参数。

版本历史

2
  1. v0.2.1最新Sep 23, 2026
  2. v0.2.0Sep 18, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Arcnautical 集成