# mcp

Screens a commercial vessel by IMO number against sanctions lists, scores ownership opacity and returns a vetting grade. Two checks run without a key.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: arcnautical
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/arcnautical/arcnautical-mcp
- Updated: 2026-10-10
- HTML: https://affpapa.org/en/nevibecode/mcp/arcnautical-mcp

## What it does

The server wires the ArcNautical API into your agent. Ask about an IMO and you get a status across OFAC SDN, EU, UN, UK OFSI and OpenSanctions, an ownership-opacity score and a letter grade from A to E. Verdicts come back as RED, AMBER, GREEN or INCOMPLETE — the last one means a core source could not be read, so it is not a clean bill of health.

There are two ways in. The remote endpoint at `https://mcp.arcnautical.com/mcp` speaks Streamable HTTP and needs no install; claude.ai, ChatGPT, Claude and Cursor can point at it directly. The local route runs through `npx -y @arcnautical/mcp` and wants Node 18+. A key unlocks the fuller set: `screen_vessel`, batch screening of up to 50 IMOs, `get_screening`, `score_voyage` and `get_usage`. Without one you still get `check_vessel` and `find_port`, capped at 100 calls per hour per address.

One catch matters. The keyless check only looks at the hull's current name and identifiers, so a vessel renamed after being listed can come back GREEN there. `screen_vessel` is the tool for that case. Lists also shift daily, so quote the `checkedAt` timestamp alongside any answer.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://mcp.arcnautical.com/mcp`
- Environment variables: `ARCNAUTICAL_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http mcp https://mcp.arcnautical.com/mcp
```

2. **Platform CLI**
```bash
claude mcp add --env ARCNAUTICAL_API_KEY=<ARCNAUTICAL_API_KEY> --transport stdio arcnautical-mcp -- npx -y @arcnautical/mcp
```
Replace <…> with your own values

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add arcnautical-mcp --url https://mcp.arcnautical.com/mcp
```

2. **Platform CLI**
```bash
codex mcp add arcnautical-mcp --env ARCNAUTICAL_API_KEY=<ARCNAUTICAL_API_KEY> -- npx -y @arcnautical/mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "arcnautical-mcp": {
            "url": "https://mcp.arcnautical.com/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "arcnautical-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@arcnautical/mcp"
            ],
            "env": {
                "ARCNAUTICAL_API_KEY": "<ARCNAUTICAL_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "arcnautical-mcp": {
            "type": "http",
            "url": "https://mcp.arcnautical.com/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "arcnautical-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@arcnautical/mcp"
            ],
            "env": {
                "ARCNAUTICAL_API_KEY": "<ARCNAUTICAL_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http arcnautical-mcp https://mcp.arcnautical.com/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e ARCNAUTICAL_API_KEY=<ARCNAUTICAL_API_KEY> arcnautical-mcp npx -y @arcnautical/mcp
```
Replace <…> with your own values

## When to use it
- check a vessel by IMO for sanctions hits
- score ownership opacity on a hull
- get a vetting grade before chartering
- screen a batch of IMOs in one call
- assess route risk between two ports

## Example prompts
- Is IMO 9274446 sanctioned?
- What vetting grade does this hull have?
- Resolve UN/LOCODEs for Rotterdam and score the voyage risk

## Similar
- [Datalastic Vessel Tracking & Maritime Intelligence](https://affpapa.org/en/nevibecode/mcp/datalastic-vessel-tracking-maritime-intelligence.md) — MCP server
- [who-really-owns-it](https://affpapa.org/en/nevibecode/skills/who-really-owns-it.md) — skill · 1700 installs
- [track-planes-and-ships](https://affpapa.org/en/nevibecode/skills/track-planes-and-ships.md) — skill · 1700 installs
- [searoute](https://affpapa.org/en/nevibecode/mcp/searoute.md) — MCP server · ★ 10
- [api-security-audit](https://affpapa.org/en/nevibecode/agents/api-security-audit.md) — subagent · 3202 installs
- [shannon-ai-pentester](https://affpapa.org/en/nevibecode/skills/shannon-ai-pentester.md) — skill · 1700 installs

## Other versions with the same name
- [mcp · kubeshark](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — ★ 12110
- [mcp · butterbase-ai](https://affpapa.org/en/nevibecode/mcp/butterbase-ai-mcp.md) — ★ 3031
- [mcp · medplum](https://affpapa.org/en/nevibecode/mcp/mcp.md) — ★ 2766
- [mcp · sceneview](https://affpapa.org/en/nevibecode/mcp/sceneview-mcp.md) — ★ 1349
- [mcp · buoy-gg](https://affpapa.org/en/nevibecode/mcp/buoy-gg-mcp.md) — ★ 691

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
