{
  "markdown": "# @arcnautical/mcp\n\nAn [MCP](https://modelcontextprotocol.io) server for the [ArcNautical API](https://arcnautical.com/developers/): 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.\n\n**Two tools need no API key at all.** Install it, ask \"is IMO 9274446 sanctioned?\", get the answer.\n\n```\nIMO 9274446 HS STAR: sanctions RED — 4 confirmed matches on vessel identifier.\nOwnership opacity MEDIUM. Vetting grade E (unacceptable). Checked 2026-09-12T08:10:40Z.\n```\n\n## Install\n\nRequires Node 18+. No install step — every client below runs it with `npx`.\n\n**Claude Desktop** — `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"arcnautical\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@arcnautical/mcp\"]\n    }\n  }\n}\n```\n\n**Claude Code**\n\n```\nclaude mcp add arcnautical -- npx -y @arcnautical/mcp\n```\n\n**Cursor / Windsurf / VS Code** — same `command` / `args` shape in the client's MCP settings.\n\nTo unlock the full record, batches and voyage scoring, add an API key to the `env` block:\n\n```json\n{\n  \"mcpServers\": {\n    \"arcnautical\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@arcnautical/mcp\"],\n      \"env\": { \"ARCNAUTICAL_API_KEY\": \"arc_live_…\" }\n    }\n  }\n}\n```\n\nKeys are self-serve at https://arcnautical.com/arcnautical.html#/developer-api — no approval step. A key includes 5,000 vessel screenings and 10,000 voyage assessments a month.\n\n## Tools\n\n| Tool | Key? | What it does |\n|---|---|---|\n| `check_vessel` | no | Sanctions status (OFAC SDN, EU, UN, UK OFSI, OpenSanctions), ownership-opacity score, A–E vetting grade for one IMO. 100/hour per IP. |\n| `find_port` | no | Resolve a port name or country to UN/LOCODEs — call before `score_voyage`. |\n| `screen_vessel` | yes | The 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. |\n| `screen_vessels` | yes | Batch up to 50 IMOs and wait for the results. |\n| `get_screening` | yes | Retrieve a stored record by id (retained ten years). |\n| `score_voyage` | yes | Route risk between two LOCODEs: score, level, drivers, confidence, missing sources. |\n| `get_usage` | yes | Remaining allowance and limits for the configured key. |\n\n### Reading a verdict\n\n- **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.\n- `coverage_complete: false` on a GREEN means one supplementary list was unavailable: re-screen before relying on it.\n- `assessed: false` means ownership and vetting are defaults, not findings.\n- 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.\n- Designations change daily. Quote the `checkedAt` / `screened_at` time with any answer.\n\n## Idempotency\n\nEvery 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.\n\n## Environment\n\n| Variable | Default | Purpose |\n|---|---|---|\n| `ARCNAUTICAL_API_KEY` | unset | Enables the keyed tools. |\n| `ARCNAUTICAL_BASE_URL` | `https://arcnautical.com` | Override for testing. |\n\n## Links\n\n- Guide: https://arcnautical.com/developers/\n- Reference: https://arcnautical.com/developers/reference/\n- OpenAPI 3.1: https://arcnautical.com/api/v1/openapi.json\n- Postman: https://www.postman.com/arcnautical-6322764/arcnautical-s-workspace/collection/u7ua5ow/arcnautical-api-v1\n- For agents: https://arcnautical.com/llms.txt\n\n## Development\n\n```\nnpm install\nnpm test        # builds, then drives dist/cli.js over stdio against the live keyless endpoints\n```\n\nMIT © ArcNautical\n",
  "bytes": 4189,
  "sha": "ef145a0847f8ba8dd2fa181c938ee25de2923d2cffe125387e828868f22f2b1c",
  "repo_slug": "saltytaro/arcnautical-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_saltytaro_arcnautical_33045a27/readme"
}