{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "",
    "endpoint": "https://mcp.arcnautical.com/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/arcnautical-mcp.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/arcnautical-mcp.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/arcnautical-mcp.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 3005,
        "counts": {
          "error": 0,
          "note": 0,
          "warn": 0
        },
        "findings": []
      },
      "checkedAt": "2026-10-04T22:22:06Z",
      "count": 7,
      "schemaTokens": 3005,
      "status": "ok",
      "tools": [
        {
          "name": "check_vessel",
          "title": "Check a vessel (no key)",
          "description": "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).",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "imo": {
                "description": "Seven-digit IMO number of the vessel",
                "pattern": "^\\d{7}$",
                "type": "string"
              }
            },
            "required": [
              "imo"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "assessed": {
                "description": "false means ownership and vetting are defaults, not findings",
                "type": "boolean"
              },
              "checkedAt": {
                "description": "ISO-8601 time the sources were read; designations change daily",
                "type": "string"
              },
              "fullReport": {
                "description": "Human-readable report URL for this hull",
                "type": "string"
              },
              "imo": {
                "description": "The seven-digit IMO number screened",
                "type": "string"
              },
              "ownership": {
                "additionalProperties": true,
                "properties": {
                  "opacity": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "score": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "rate_limit": {
                "additionalProperties": false,
                "description": "Keyless allowance for the caller's address",
                "properties": {
                  "limit": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "remaining": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "reset": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "limit",
                  "remaining",
                  "reset"
                ],
                "type": "object"
              },
              "sanctions": {
                "additionalProperties": true,
                "properties": {
                  "coverageComplete": {
                    "description": "false when a supplementary list was unavailable — re-screen before relying on a GREEN",
                    "type": "boolean"
                  },
                  "detail": {
                    "description": "One sentence explaining the status",
                    "type": "string"
                  },
                  "status": {
                    "description": "RED | AMBER | GREEN | INCOMPLETE",
                    "type": "string"
                  }
                },
                "required": [
                  "status"
                ],
                "type": "object"
              },
              "vetting": {
                "additionalProperties": true,
                "properties": {
                  "grade": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "score": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "status": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "required": [
              "imo",
              "sanctions",
              "checkedAt",
              "rate_limit"
            ],
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "find_port",
          "title": "Find a port / UN/LOCODE (no key)",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "limit": {
                "description": "Maximum matches to return (default 5)",
                "maximum": 20,
                "minimum": 1,
                "type": "integer"
              },
              "query": {
                "description": "Port name, country, or LOCODE fragment, e.g. \"rotterdam\", \"NLRTM\", \"Piraeus\"",
                "minLength": 2,
                "type": "string"
              }
            },
            "required": [
              "query"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "ports": {
                "description": "Best matches first",
                "items": {
                  "additionalProperties": true,
                  "properties": {
                    "country": {
                      "type": "string"
                    },
                    "locode": {
                      "description": "UN/LOCODE, e.g. NLRTM",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "locode",
                    "name"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "ports"
            ],
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "screen_vessel",
          "title": "Screen a vessel (full record, API key)",
          "description": "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 5,000 live screenings once (a one-time allowance). 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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "customer_reference": {
                "description": "Your own reference (order id, voyage id); echoed on the record",
                "maxLength": 128,
                "type": "string"
              },
              "imo": {
                "description": "Seven-digit IMO number of the vessel",
                "pattern": "^\\d{7}$",
                "type": "string"
              },
              "include_vetting": {
                "description": "false skips the vetting grade for a faster sanctions-only screen",
                "type": "boolean"
              },
              "vessel_name": {
                "description": "Only when a previous screen was INCOMPLETE for identity; a name you can confirm",
                "maxLength": 200,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "imo"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "Screening record id, retained ten years",
                "type": "string"
              },
              "imo": {
                "type": "string"
              },
              "ownership": {
                "additionalProperties": true,
                "properties": {
                  "opacity": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "score": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "sanctions": {
                "additionalProperties": true,
                "properties": {
                  "detail": {
                    "type": "string"
                  },
                  "status": {
                    "description": "RED | AMBER | GREEN | INCOMPLETE",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "screened_at": {
                "description": "ISO-8601 time the sources were read",
                "type": "string"
              },
              "vessel_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "vetting": {
                "additionalProperties": true,
                "properties": {
                  "grade": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "status": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": false
          }
        },
        {
          "name": "screen_vessels",
          "title": "Screen up to 50 vessels (API key)",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "imos": {
                "description": "Up to 50 seven-digit IMO numbers",
                "items": {
                  "description": "Seven-digit IMO number of the vessel",
                  "pattern": "^\\d{7}$",
                  "type": "string"
                },
                "maxItems": 50,
                "minItems": 1,
                "type": "array"
              },
              "include_vetting": {
                "description": "false skips the vetting grade for a faster sanctions-only screen",
                "type": "boolean"
              }
            },
            "required": [
              "imos"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "batch": {
                "additionalProperties": true,
                "description": "The batch as last read",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "status": {
                    "description": "queued | running | completed | partial | failed",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "items": {
                "description": "One row per hull",
                "items": {
                  "additionalProperties": true,
                  "properties": {
                    "imo": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "result_body": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "properties": {
                            "sanctions": {
                              "additionalProperties": true,
                              "properties": {
                                "status": {
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            }
                          },
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "screening_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "status": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "batch",
              "items"
            ],
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": false
          }
        },
        {
          "name": "get_screening",
          "title": "Retrieve a screening record (API key)",
          "description": "Fetch a stored screening record by id — the audit copy, retained ten years. Needs ARCNAUTICAL_API_KEY.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "Screening id returned by screen_vessel or in a batch item",
                "format": "uuid",
                "type": "string"
              }
            },
            "required": [
              "id"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "id": {
                "description": "Screening record id, retained ten years",
                "type": "string"
              },
              "imo": {
                "type": "string"
              },
              "ownership": {
                "additionalProperties": true,
                "properties": {
                  "opacity": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "score": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "sanctions": {
                "additionalProperties": true,
                "properties": {
                  "detail": {
                    "type": "string"
                  },
                  "status": {
                    "description": "RED | AMBER | GREEN | INCOMPLETE",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "screened_at": {
                "description": "ISO-8601 time the sources were read",
                "type": "string"
              },
              "vessel_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "vetting": {
                "additionalProperties": true,
                "properties": {
                  "grade": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "status": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true
          }
        },
        {
          "name": "score_voyage",
          "title": "Score a voyage route (API key)",
          "description": "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.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "customer_reference": {
                "description": "Your own reference (voyage id, fixture); echoed on the assessment",
                "maxLength": 128,
                "type": "string"
              },
              "destination": {
                "description": "Destination UN/LOCODE, e.g. CNSHA",
                "pattern": "^[A-Za-z]{5}$",
                "type": "string"
              },
              "dwt_tonnes": {
                "description": "Deadweight in tonnes; used for chokepoint and draught constraints",
                "maximum": 600000,
                "minimum": 1,
                "type": "number"
              },
              "load_condition": {
                "description": "laden or ballast; affects exposure on the transit",
                "enum": [
                  "laden",
                  "ballast"
                ],
                "type": "string"
              },
              "origin": {
                "description": "Origin UN/LOCODE, e.g. NLRTM",
                "pattern": "^[A-Za-z]{5}$",
                "type": "string"
              },
              "speed_knots": {
                "description": "Planned service speed, 8-25 knots; sets transit time through each risk area",
                "maximum": 25,
                "minimum": 8,
                "type": "number"
              },
              "vessel_type": {
                "description": "Vessel class; changes which threat signals weigh most (default: general)",
                "enum": [
                  "container",
                  "bulk",
                  "tanker",
                  "lng",
                  "general"
                ],
                "type": "string"
              }
            },
            "required": [
              "origin",
              "destination"
            ],
            "type": "object"
          },
          "outputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "confidence": {
                "description": "0-1",
                "type": "number"
              },
              "id": {
                "description": "Assessment id",
                "type": "string"
              },
              "missing_sources": {
                "description": "Signals that could not be read for this assessment",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "risk_level": {
                "description": "low | moderate | elevated | high | severe",
                "type": "string"
              },
              "route": {
                "additionalProperties": true,
                "properties": {
                  "distance_nm": {
                    "type": "number"
                  }
                },
                "type": "object"
              },
              "score": {
                "description": "0-100, higher is riskier",
                "type": "number"
              },
              "signals": {}
            },
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": false
          }
        },
        {
          "name": "get_usage",
          "title": "Usage and quota (API key)",
          "description": "Live and test usage, remaining allowance, reset time, batch limits and monitor capacity for the configured key.",
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "properties": {},
            "type": "object"
          },
          "outputSchema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "additionalProperties": false,
            "properties": {
              "assessments": {
                "additionalProperties": true,
                "description": "Allowance, used, remaining and reset per environment",
                "properties": {},
                "type": "object"
              },
              "environment": {
                "description": "live | test",
                "type": "string"
              },
              "limits": {
                "additionalProperties": true,
                "properties": {},
                "type": "object"
              },
              "screenings": {
                "additionalProperties": true,
                "properties": {},
                "type": "object"
              }
            },
            "type": "object"
          },
          "annotations": {
            "idempotentHint": true,
            "openWorldHint": true,
            "readOnlyHint": true
          }
        }
      ]
    },
    "name": "arcnautical.com MCP server",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": [
      {
        "registryType": "npm",
        "identifier": "@arcnautical/mcp",
        "version": "0.2.1",
        "transport": "stdio"
      }
    ],
    "pageJsonUrl": "https://www.anchorterminal.com/tools/arcnautical-mcp.json",
    "popularity": {
      "githubStars": 0,
      "npmWeekly": 239
    },
    "registryName": "com.arcnautical/mcp",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://mcp.arcnautical.com/mcp"
      }
    ],
    "repository": "https://github.com/arcnautical/arcnautical-mcp",
    "reviewed": false,
    "slug": "arcnautical-mcp",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.arcnautical/mcp",
    "summary": "Screen any vessel by IMO for sanctions, ownership opacity and vetting grade. Keyless check included.",
    "updatedAt": "2026-09-23T15:51:03Z",
    "url": "https://www.anchorterminal.com/tools/arcnautical-mcp",
    "vendor": "arcnautical.com",
    "vendorUrl": "https://arcnautical.com/developers/",
    "version": "0.2.1",
    "websiteUrl": "https://arcnautical.com/developers/",
    "where": "both",
    "why": [
      "vendor"
    ]
  }
}
