Servidor MCP

mcp

com.arcnautical/mcp
Legal y cumplimiento Seguridad Público y accesible MCP 2025-11-25

Qué hace este MCP

Screens vessels by IMO for sanctions exposure, ownership opacity, vetting history, and voyage risks involving ports, routes, and maritime security signals.

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).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['imo'], 'properties': {'imo': {'type': 'string', 'pattern': '^\\d{7}$', 'description': 'Seven-digit IMO number of the vessel'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['imo', 'sanctions', 'checkedAt', 'rate_limit'], 'properties': {'imo': {'type': 'string', 'description': 'The seven-digit IMO number screened'}, 'vetting': {'type': 'object', 'properties': {'grade': {'type': ['string', 'null']}, 'score': {'type': ['number', 'null']}, 'status': {'type': 'string'}}, 'additionalProperties': True}, 'assessed': {'type': 'boolean', 'description': 'false means ownership and vetting are defaults, not findings'}, 'checkedAt': {'type': 'string', 'description': 'ISO-8601 time the sources were read; designations change daily'}, 'ownership': {'type': 'object', 'properties': {'score': {'type': ['number', 'null']}, 'opacity': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'sanctions': {'type': 'object', 'required': ['status'], 'properties': {'detail': {'type': 'string', 'description': 'One sentence explaining the status'}, 'status': {'type': 'string', 'description': 'RED | AMBER | GREEN | INCOMPLETE'}, 'coverageComplete': {'type': 'boolean', 'description': 'false when a supplementary list was unavailable — re-screen before relying on a GREEN'}}, 'additionalProperties': True}, 'fullReport': {'type': 'string', 'description': 'Human-readable report URL for this hull'}, 'rate_limit': {'type': 'object', 'required': ['limit', 'remaining', 'reset'], 'properties': {'limit': {'type': ['number', 'null']}, 'reset': {'type': ['string', 'null']}, 'remaining': {'type': ['number', 'null']}}, 'description': "Keyless allowance for the caller's address", 'additionalProperties': False}}, 'additionalProperties': False}
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Maximum matches to return (default 5)'}, 'query': {'type': 'string', 'minLength': 2, 'description': 'Port name, country, or LOCODE fragment, e.g. "rotterdam", "NLRTM", "Piraeus"'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ports'], 'properties': {'ports': {'type': 'array', 'items': {'type': 'object', 'required': ['locode', 'name'], 'properties': {'name': {'type': 'string'}, 'locode': {'type': 'string', 'description': 'UN/LOCODE, e.g. NLRTM'}, 'country': {'type': 'string'}}, 'additionalProperties': True}, 'description': 'Best matches first'}}, 'additionalProperties': False}
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Screening id returned by screen_vessel or in a batch item'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Screening record id, retained ten years'}, 'imo': {'type': 'string'}, 'vetting': {'type': 'object', 'properties': {'grade': {'type': ['string', 'null']}, 'status': {'type': 'string'}}, 'additionalProperties': True}, 'ownership': {'type': 'object', 'properties': {'score': {'type': ['number', 'null']}, 'opacity': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'sanctions': {'type': 'object', 'properties': {'detail': {'type': 'string'}, 'status': {'type': 'string', 'description': 'RED | AMBER | GREEN | INCOMPLETE'}}, 'additionalProperties': True}, 'screened_at': {'type': 'string', 'description': 'ISO-8601 time the sources were read'}, 'vessel_name': {'type': ['string', 'null']}}, 'additionalProperties': False}
get_usage
Usage and quota (API key)
Live and test usage, remaining allowance, reset time, batch limits and monitor capacity for the configured key.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limits': {'type': 'object', 'properties': {}, 'additionalProperties': True}, 'screenings': {'type': 'object', 'properties': {}, 'additionalProperties': True}, 'assessments': {'type': 'object', 'properties': {}, 'description': 'Allowance, used, remaining and reset per environment', 'additionalProperties': True}, 'environment': {'type': 'string', 'description': 'live | test'}}, 'additionalProperties': False}
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.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['origin', 'destination'], 'properties': {'origin': {'type': 'string', 'pattern': '^[A-Za-z]{5}$', 'description': 'Origin UN/LOCODE, e.g. NLRTM'}, 'dwt_tonnes': {'type': 'number', 'maximum': 600000, 'minimum': 1, 'description': 'Deadweight in tonnes; used for chokepoint and draught constraints'}, 'destination': {'type': 'string', 'pattern': '^[A-Za-z]{5}$', 'description': 'Destination UN/LOCODE, e.g. CNSHA'}, 'speed_knots': {'type': 'number', 'maximum': 25, 'minimum': 8, 'description': 'Planned service speed, 8-25 knots; sets transit time through each risk area'}, 'vessel_type': {'enum': ['container', 'bulk', 'tanker', 'lng', 'general'], 'type': 'string', 'description': 'Vessel class; changes which threat signals weigh most (default: general)'}, 'load_condition': {'enum': ['laden', 'ballast'], 'type': 'string', 'description': 'laden or ballast; affects exposure on the transit'}, 'customer_reference': {'type': 'string', 'maxLength': 128, 'description': 'Your own reference (voyage id, fixture); echoed on the assessment'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Assessment id'}, 'route': {'type': 'object', 'properties': {'distance_nm': {'type': 'number'}}, 'additionalProperties': True}, 'score': {'type': 'number', 'description': '0-100, higher is riskier'}, 'signals': {}, 'confidence': {'type': 'number', 'description': '0-1'}, 'risk_level': {'type': 'string', 'description': 'low | moderate | elevated | high | severe'}, 'missing_sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Signals that could not be read for this assessment'}}, 'additionalProperties': False}
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: 5,000 live screenings a month are included with a self-serve key. 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.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['imo'], 'properties': {'imo': {'type': 'string', 'pattern': '^\\d{7}$', 'description': 'Seven-digit IMO number of the vessel'}, 'vessel_name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Only when a previous screen was INCOMPLETE for identity; a name you can confirm'}, 'include_vetting': {'type': 'boolean', 'description': 'false skips the vetting grade for a faster sanctions-only screen'}, 'customer_reference': {'type': 'string', 'maxLength': 128, 'description': 'Your own reference (order id, voyage id); echoed on the record'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'Screening record id, retained ten years'}, 'imo': {'type': 'string'}, 'vetting': {'type': 'object', 'properties': {'grade': {'type': ['string', 'null']}, 'status': {'type': 'string'}}, 'additionalProperties': True}, 'ownership': {'type': 'object', 'properties': {'score': {'type': ['number', 'null']}, 'opacity': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'sanctions': {'type': 'object', 'properties': {'detail': {'type': 'string'}, 'status': {'type': 'string', 'description': 'RED | AMBER | GREEN | INCOMPLETE'}}, 'additionalProperties': True}, 'screened_at': {'type': 'string', 'description': 'ISO-8601 time the sources were read'}, 'vessel_name': {'type': ['string', 'null']}}, 'additionalProperties': False}
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.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['imos'], 'properties': {'imos': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d{7}$', 'description': 'Seven-digit IMO number of the vessel'}, 'maxItems': 50, 'minItems': 1, 'description': 'Up to 50 seven-digit IMO numbers'}, 'include_vetting': {'type': 'boolean', 'description': 'false skips the vetting grade for a faster sanctions-only screen'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['batch', 'items'], 'properties': {'batch': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'status': {'type': 'string', 'description': 'queued | running | completed | partial | failed'}}, 'description': 'The batch as last read', 'additionalProperties': True}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'imo': {'type': ['string', 'null']}, 'status': {'type': 'string'}, 'result_body': {'anyOf': [{'type': 'object', 'properties': {'sanctions': {'type': 'object', 'properties': {'status': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': True}, {'type': 'null'}]}, 'screening_id': {'type': ['string', 'null']}}, 'additionalProperties': True}, 'description': 'One row per hull'}}, 'additionalProperties': False}
Modificado
get_usage
21 de September de 2026 a las 02:49
Modificado
score_voyage
21 de September de 2026 a las 02:49
Modificado
get_screening
21 de September de 2026 a las 02:49
Modificado
screen_vessels
21 de September de 2026 a las 02:49
Modificado
screen_vessel
21 de September de 2026 a las 02:49
Añadido
get_usage
19 de September de 2026 a las 02:40
Añadido
score_voyage
19 de September de 2026 a las 02:40
Añadido
get_screening
19 de September de 2026 a las 02:40
Añadido
screen_vessels
19 de September de 2026 a las 02:40
Añadido
screen_vessel
19 de September de 2026 a las 02:40
Añadido
find_port
19 de September de 2026 a las 02:40
Añadido
check_vessel
19 de September de 2026 a las 02:40