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 整合