AIDEVELOPER TOOLS

Maritime Shipping Intelligence MCP Server

Maritime shipping intelligence for freight forwarders, marine insurers, and trade compliance teams who need vessel sanctions screening, port disruption forecasting, and trade route risk assessment without subscribing to expensive maritime data platforms. This MCP server aggregates 8 live data sources — OFAC, OpenSanctions, UN COMTRADE, NOAA, GDACS, OpenCorporates, GLEIF, and weather forecast services — into a single tool-calling interface that runs inside Claude, Cursor, or any MCP-compatible AI

Try on Apify Store
$0.30per event
1
Users (30d)
12
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.30
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

vessel_fleet_risk_reports
Estimated cost:$30.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
vessel_fleet_risk_reportFull 8-source maritime risk: sanctions + weather + trade + counterparty + flag state.$0.30
vessel_sanctions_screeningOFAC SDN + OpenSanctions + corporate registry sanctions check.$0.08
port_disruption_forecastNOAA + GDACS + weather forecast for port disruption risk.$0.06
trade_route_complianceCOMTRADE trade flow + sanctions route detection + HHI concentration.$0.08
flag_state_risk_checkFlags of convenience + high-risk jurisdiction detection.$0.05
shipping_counterparty_screenLEI + corporate + sanctions counterparty verification.$0.08
maritime_weather_riskStorm tracking, visibility, wind risk for shipping routes.$0.05
cargo_origin_verificationTrade flow + sanctions origin + transshipment risk.$0.08

Example: 100 events = $30.00 · 1,000 events = $300.00

Connect to your AI agent

Add this MCP server to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.

MCP Endpoint
https://ryanclinton--maritime-shipping-intelligence-mcp.apify.actor/mcp
Claude Desktop Config
{
  "mcpServers": {
    "maritime-shipping-intelligence-mcp": {
      "url": "https://ryanclinton--maritime-shipping-intelligence-mcp.apify.actor/mcp"
    }
  }
}

Documentation

Maritime shipping intelligence for freight forwarders, marine insurers, and trade compliance teams who need vessel sanctions screening, port disruption forecasting, and trade route risk assessment without subscribing to expensive maritime data platforms. This MCP server aggregates 8 live data sources — OFAC, OpenSanctions, UN COMTRADE, NOAA, GDACS, OpenCorporates, GLEIF, and weather forecast services — into a single tool-calling interface that runs inside Claude, Cursor, or any MCP-compatible AI client. Every query returns a scored risk assessment backed by primary-source data, not stale aggregated feeds.

Connect your AI assistant to port weather alerts, vessel sanctions lists, corporate registries, and international trade flow databases in one step. Queries run in parallel across all sources so a full composite maritime risk report returns in a single tool call with a weighted Composite Maritime Risk Score from 0 to 100.

What data can you access?

Data PointSourceExample
📋 US sanctions listingsOFAC SDN ListVessels, operators, beneficial owners on OFAC Specially Designated Nationals register
🔎 Multi-jurisdiction watchlistsOpenSanctions40+ consolidated programs: EU, UN, UK, OFAC, Interpol — cross-matched by entity
🚢 International trade flowsUN COMTRADEBilateral commodity flows for 200+ countries — used for HHI concentration scoring
🌀 Severe maritime weatherNOAAHurricane, gale, tropical storm, surge, and tsunami alerts affecting port operations
🌍 Natural disaster monitoringGDACSRed/orange cyclone, earthquake, flood, and tsunami events near shipping lanes
🏢 Corporate registry recordsOpenCorporatesVessel owner incorporation, jurisdiction, filing count, dissolution status
🔗 Legal entity identifiersGLEIF LEILEI issuance status, registration currency, entity relationship chains
🌤 Route weather forecastingWeather ForecastWind speed, visibility, storm conditions for named shipping routes and regions
⚖️ Flag state classificationScoring model23 flags of convenience flagged; 13 high-risk jurisdictions tracked
📊 Composite risk scoreAll sourcesWeighted 0-100 score with verdict: CLEAR_TO_PROCEED through DO_NOT_ENGAGE

Why use Maritime Shipping Intelligence MCP?

A compliance analyst screening a single vessel the manual way — cross-checking OFAC, pulling GLEIF, searching OpenCorporates, checking NOAA marine forecasts, pulling GDACS, and running trade flow queries — will spend 2-4 hours per counterparty. For a fleet of 20 vessels before a charter, that is an entire work week of data gathering before any analysis begins.

This MCP server automates the entire data-gathering layer. An AI client running inside Claude or Cursor can screen a vessel, verify its counterparty, check its operating region for weather disruption, assess its trade routes for sanctions exposure, and return a scored verdict in under 3 minutes per query.

Beyond speed, MCP integration means your AI assistant can reason over results — asking follow-up questions, writing compliance memos, flagging escalations — rather than just returning raw data.

  • Scheduling — run daily port disruption forecasts or weekly fleet sanctions screens on a timer to keep risk data current
  • API access — trigger screening from Python, JavaScript, or any HTTP client using the Apify API
  • Proxy rotation — all underlying actor queries run with Apify's proxy infrastructure, avoiding rate limits on public data sources
  • Monitoring — configure Slack or email alerts when a tool call returns a HIGH or CRITICAL verdict
  • Integrations — connect results to Zapier, Make, Google Sheets, or compliance workflow tools via webhooks

Features

  • 8 MCP tools covering every dimension of maritime risk: sanctions, weather, trade compliance, counterparty, flag state, cargo origin, route weather, and fleet-wide reporting
  • Composite Maritime Risk Score (0-100) with weighted contributions: vessel sanctions 30%, trade route compliance 25%, counterparty risk 20%, port disruption 15%, flag state risk 10%
  • 5-tier verdict system — CLEAR_TO_PROCEED, PROCEED_WITH_CAUTION, ENHANCED_REVIEW, HIGH_RISK, DO_NOT_ENGAGE — aligned with standard compliance escalation workflows
  • OFAC SDN screening with match confidence scoring; SDN matches at 80%+ confidence trigger automatic CRITICAL classification
  • OpenSanctions cross-matching across 40+ international watchlists; entities appearing on 2 or more lists receive elevated scoring
  • Herfindahl-Hirschman Index (HHI) trade concentration scoring — HHI above 2500 flags highly concentrated routes with single-jurisdiction dependency risk
  • 23 flags of convenience tracked — Panama, Liberia, Marshall Islands, Bahamas, Malta, Bermuda, and 17 others — with regulatory oversight quality weighting
  • 13 high-risk jurisdictions for sanctions evasion detection — North Korea, Iran, Russia, Syria, Venezuela, Myanmar, Belarus, and others — applied across corporate chain analysis
  • NOAA maritime threat classification — filters for hurricane, tropical storm, gale, tsunami, surge, cyclone, typhoon, fog, and ice events; extreme/severe severity doubles the alert score weight
  • GDACS red/orange disaster proximity scoring — red and orange alerts near shipping lanes score 10 points each in the disruption model
  • GLEIF LEI verification with active/lapsed/absent status distinction — absent LEI adds 25 points to counterparty risk; lapsed adds 10
  • Corporate opacity scoring — dissolved entities, zero-filing companies, LLP/trust/nominee structures, and flag-of-convenience incorporation each increment the opacity score
  • Parallel actor execution — all underlying data sources are queried simultaneously using Promise.all, minimizing total latency
  • Spend limit enforcement — each tool checks against Apify's event charge limit before executing, preventing runaway costs
  • Stateless per-request architecture — a new MCP server instance is created per POST request, enabling horizontal scaling in standby mode

Use cases for maritime shipping intelligence

Vessel pre-booking sanctions compliance

Freight forwarders and cargo owners must screen vessels and their beneficial owners before booking. The vessel_sanctions_screening tool queries OFAC SDN, OpenSanctions, OpenCorporates, and GLEIF in one call, then scores the corporate chain for flag-of-convenience registrations and high-risk jurisdictions. A booking workflow running in Claude can reject flagged vessels automatically and generate a compliance memo for audit.

Port operations and scheduling disruption risk

Port agents, terminal operators, and vessel operators planning arrivals in weather-exposed regions use the port_disruption_forecast tool to pull live NOAA marine alerts and GDACS disaster events for a named port or coastal region. The tool scores hurricane, gale, surge, cyclone, and tsunami events by severity and returns a 5-tier disruption level from CALM to EXTREME, enabling proactive departure timing or rerouting decisions.

Marine insurance underwriting and P&I assessment

Marine insurers and P&I clubs assessing premium levels use the flag_state_risk_check and shipping_counterparty_screen tools to quantify regulatory oversight quality and beneficial ownership transparency. A vessel registered in the Marshall Islands under an LLP with no LEI and no corporate filings receives a high opacity score that maps directly to elevated premium justification.

Trade route compliance and cargo origin verification

Trade compliance teams at commodity traders and freight brokers use trade_route_compliance and cargo_origin_verification to detect transshipment through sanctioned jurisdictions. UN COMTRADE bilateral flows are checked against OFAC and OpenSanctions results; routes touching North Korea, Iran, Russia, or Syria trigger sanctioned route flags with HHI-adjusted concentration scores.

Fleet-wide risk monitoring for shipping operators

Ship managers and fleet owners running 10-100 vessels use the vessel_fleet_risk_report tool to generate a Composite Maritime Risk Score for each vessel or counterparty. The single tool call orchestrates all 8 data sources in parallel, returning scores across all five risk dimensions plus a structured verdict and recommendation list. Integrate with a daily Apify schedule to maintain current risk profiles across the entire fleet.

AI-assisted maritime due diligence

Legal teams and compliance consultants use this MCP server inside Claude to conduct structured due diligence on charter counterparties, flag states, and cargo origins. Because the tools return structured JSON, an AI assistant can synthesize findings across multiple tool calls into a formatted due diligence report, flag issues requiring legal escalation, and draft remediation recommendations — all within a single conversation.

How to use maritime shipping intelligence with an AI client

  1. Connect the MCP server — Add the server URL https://maritime-shipping-intelligence-mcp.apify.actor/mcp to your MCP client configuration. For Claude Desktop, add it to claude_desktop_config.json. No code required.
  2. Ask a natural language question — Ask your AI: "Screen the vessel Pacific Carrier for sanctions risk" or "What is the port disruption risk at Rotterdam this week?" The AI selects the right tool automatically.
  3. Review the scored result — The tool returns a risk score, verdict, and specific signals (e.g., "2 SDN matches — OFAC blocked entity", "HHI 3200 — highly concentrated trade routes"). Ask the AI to summarize or draft a compliance memo.
  4. Export or escalate — Copy results to your compliance system, trigger a webhook to your case management tool, or ask the AI to generate a formatted report ready for a compliance officer.

MCP tools

ToolPriceParametersDescription
vessel_sanctions_screening$0.045entity, port (optional)Screen vessel or shipping company against OFAC SDN, OpenSanctions, and corporate registries
port_disruption_forecast$0.045port, timeframe (optional)Forecast port disruption from severe weather, disasters, and maritime hazards
trade_route_compliance$0.045commodity, country (optional)Assess trade route compliance: HHI concentration, sanctioned route detection, trade flow risk
flag_state_risk_check$0.045entityCheck flag state risk: flags of convenience, high-risk jurisdictions, regulatory oversight quality
shipping_counterparty_screen$0.045companyScreen shipping counterparty: LEI verification, corporate transparency, sanctions exposure
maritime_weather_risk$0.045routeMaritime weather risk for shipping routes: storm tracking, visibility, wind, sea state
cargo_origin_verification$0.045commodity, originVerify cargo origin: trade flow analysis, transshipment risk, sanctions-origin detection
vessel_fleet_risk_report$0.045entity, region (optional)Complete maritime risk report with Composite Maritime Risk Score across all five dimensions

Tool input tips

  • Use vessel IMO numbers when available — an IMO number like "IMO 9321483" produces more precise OFAC and OpenSanctions matches than a vessel name alone
  • Include the operating region in fleet reports — passing region: "Persian Gulf" alongside the entity name improves weather and disaster data relevance significantly
  • Use commodity HS codes for trade compliancecommodity: "2709 crude oil" gives more precise COMTRADE results than a plain text description

Output example

The vessel_fleet_risk_report tool returns this structure for a full composite assessment:

{
  "entity": "Pacific Meridian Shipping Ltd",
  "compositeScore": 67,
  "verdict": "HIGH_RISK",
  "vesselSanctions": {
    "score": 72,
    "sanctionHits": 3,
    "flagRisk": 20,
    "jurisdictionRisk": 16,
    "riskLevel": "HIGH",
    "signals": [
      "2 SDN matches — OFAC blocked entity",
      "1 OpenSanctions hits across multiple watchlists",
      "Flag-of-convenience / high-risk jurisdiction detected"
    ]
  },
  "portDisruption": {
    "score": 28,
    "severeAlerts": 2,
    "disasterCount": 1,
    "weatherRisk": 12,
    "riskLevel": "WATCH",
    "signals": [
      "2 maritime weather alerts active"
    ]
  },
  "tradeRoute": {
    "score": 55,
    "tradePartners": 3,
    "concentrationHHI": 3180,
    "sanctionedRoutes": 1,
    "complianceLevel": "REVIEW_NEEDED",
    "signals": [
      "HHI 3180 — highly concentrated trade routes",
      "1 trade routes involve sanctioned jurisdictions",
      "Only 3 trade partners — high route dependency"
    ]
  },
  "counterparty": {
    "score": 58,
    "corporateOpacity": 22,
    "leiVerified": false,
    "sanctionFlags": 2,
    "riskLevel": "SUSPICIOUS",
    "signals": [
      "No LEI found — counterparty not globally identified",
      "2 sanctions/watchlist matches",
      "No corporate registry records found — unverifiable entity"
    ]
  },
  "flagState": {
    "score": 65,
    "flagOfConvenience": true,
    "highRiskJurisdiction": false,
    "riskLevel": "HIGH",
    "signals": [
      "Flag-of-convenience registration — weak regulatory oversight",
      "Multiple flag-of-convenience/high-risk jurisdictions in corporate chain"
    ]
  },
  "allSignals": [
    "2 SDN matches — OFAC blocked entity",
    "1 OpenSanctions hits across multiple watchlists",
    "Flag-of-convenience / high-risk jurisdiction detected",
    "2 maritime weather alerts active",
    "HHI 3180 — highly concentrated trade routes",
    "1 trade routes involve sanctioned jurisdictions",
    "Only 3 trade partners — high route dependency",
    "No LEI found — counterparty not globally identified",
    "2 sanctions/watchlist matches",
    "Flag-of-convenience registration — weak regulatory oversight"
  ],
  "recommendations": [
    "Immediate sanctions compliance review required — potential OFAC violation",
    "Counterparty verification failed — enhanced due diligence required",
    "Flag-of-convenience vessel — verify insurance coverage and regulatory compliance",
    "Trade routes involve sanctioned jurisdictions — ensure proper licensing"
  ]
}

Output fields

FieldTypeDescription
entitystringThe vessel, company, or fleet name queried
compositeScorenumberWeighted composite risk score 0-100 (sanctions 30%, trade 25%, counterparty 20%, weather 15%, flag 10%)
verdictstringCLEAR_TO_PROCEED / PROCEED_WITH_CAUTION / ENHANCED_REVIEW / HIGH_RISK / DO_NOT_ENGAGE
vesselSanctions.scorenumberSanctions sub-score 0-100
vesselSanctions.sanctionHitsnumberTotal OFAC + OpenSanctions match count
vesselSanctions.flagRisknumberFlag-of-convenience sub-score (max 25)
vesselSanctions.jurisdictionRisknumberHigh-risk jurisdiction sub-score (max 20)
vesselSanctions.riskLevelstringCLEAR / LOW / MEDIUM / HIGH / CRITICAL
portDisruption.scorenumberWeather/disaster disruption score 0-100
portDisruption.severeAlertsnumberCount of maritime-relevant NOAA alerts
portDisruption.disasterCountnumberCount of GDACS events near the port
portDisruption.riskLevelstringCALM / WATCH / ADVISORY / WARNING / EXTREME
tradeRoute.scorenumberTrade compliance score 0-100
tradeRoute.tradePartnersnumberNumber of distinct trade partner countries
tradeRoute.concentrationHHInumberHerfindahl-Hirschman Index (0-10000; >2500 = high concentration)
tradeRoute.sanctionedRoutesnumberNumber of trade routes touching sanctioned jurisdictions
tradeRoute.complianceLevelstringCOMPLIANT / LOW_RISK / REVIEW_NEEDED / HIGH_RISK / NON_COMPLIANT
counterparty.scorenumberCounterparty fraud risk score 0-100
counterparty.corporateOpacitynumberOpacity sub-score: dissolved entities, zero-filings, shell structures
counterparty.leiVerifiedbooleanWhether an active GLEIF LEI was found
counterparty.sanctionFlagsnumberSanctions/watchlist match count for the counterparty
counterparty.riskLevelstringVERIFIED / LOW_RISK / REVIEW / SUSPICIOUS / BLOCK
flagState.scorenumberFlag state risk score 0-100
flagState.flagOfConveniencebooleanTrue if any jurisdiction matches 23 known flags of convenience
flagState.highRiskJurisdictionbooleanTrue if any jurisdiction matches 13 high-risk sanctions-evasion countries
flagState.riskLevelstringLOW / MODERATE / ELEVATED / HIGH / CRITICAL
allSignalsstring[]Flat list of all risk signals across all five dimensions
recommendationsstring[]Actionable remediation steps based on the highest-scoring risk factors

How much does maritime shipping intelligence cost?

This MCP uses pay-per-event pricing — each tool call costs $0.045. Platform compute costs are included. Apify's free tier provides $5 of monthly credits, covering approximately 111 maritime intelligence queries.

ScenarioQueriesCost per queryTotal cost
Quick sanctions check1$0.045$0.045
Pre-booking screen (5 vessels)5$0.045$0.23
Weekly fleet report (20 vessels)20$0.045$0.90
Monthly compliance cycle (100 queries)100$0.045$4.50
Enterprise daily monitoring (500 queries)500$0.045$22.50

You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached.

Compare this to dedicated maritime compliance platforms like Dataloy, Q88, or CODA which charge $500-2,000/month. For teams doing periodic vessel screening — not continuous fleet operations — most users spend $5-25/month with no subscription commitment.

How to connect this MCP server

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "maritime-shipping-intelligence": {
      "url": "https://maritime-shipping-intelligence-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Python (via Apify Standby)

import httpx
import json

token = "YOUR_APIFY_TOKEN"
base_url = "https://maritime-shipping-intelligence-mcp.apify.actor/mcp"

payload = {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
        "name": "vessel_fleet_risk_report",
        "arguments": {
            "entity": "Pacific Meridian Shipping Ltd",
            "region": "Persian Gulf"
        }
    },
    "id": 1
}

response = httpx.post(
    base_url,
    json=payload,
    headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
)
result = response.json()
report = json.loads(result["result"]["content"][0]["text"])
print(f"Verdict: {report['verdict']} | Score: {report['compositeScore']}/100")
for rec in report["recommendations"]:
    print(f"  - {rec}")

JavaScript

const token = "YOUR_APIFY_TOKEN";
const baseUrl = "https://maritime-shipping-intelligence-mcp.apify.actor/mcp";

const response = await fetch(baseUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${token}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    jsonrpc: "2.0",
    method: "tools/call",
    params: {
      name: "vessel_sanctions_screening",
      arguments: { entity: "Evergreen Marine Corp" }
    },
    id: 1
  })
});

const data = await response.json();
const result = JSON.parse(data.result.content[0].text);
console.log(`Risk level: ${result.vesselSanctions.riskLevel}`);
console.log(`Sanction hits: ${result.vesselSanctions.sanctionHits}`);
for (const signal of result.vesselSanctions.signals) {
  console.log(`  Signal: ${signal}`);
}

cURL

# Screen a vessel for sanctions risk
curl -X POST "https://maritime-shipping-intelligence-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "vessel_sanctions_screening",
      "arguments": {
        "entity": "Pegas Shipping Ltd"
      }
    },
    "id": 1
  }'

# Forecast port disruption risk
curl -X POST "https://maritime-shipping-intelligence-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "port_disruption_forecast",
      "arguments": {
        "port": "Port of Houston"
      }
    },
    "id": 2
  }'

How Maritime Shipping Intelligence MCP works

Phase 1: Parallel data source orchestration

When a tool is called, the server passes the query to runActorsParallel(), which builds an array of actor call descriptors and executes them concurrently using Promise.all. Each actor runs in a 512 MB memory allocation with a 120-second timeout. The ACTOR_MAP resolves logical source names (e.g., ofac-sanctions-search) to specific Apify actor IDs, keeping the routing layer decoupled from scoring logic. Failed actor calls return empty arrays, so one unreachable source never blocks the entire assessment.

Phase 2: Specialized scoring models

Five independent scoring functions process the aggregated data:

scoreVesselSanctions() weights SDN matches at 15 points each (capped at 40), OFAC partial matches at 8, and OpenSanctions multi-list hits at 2-5 points. Flag-of-convenience jurisdictions from OpenCorporates add up to 25 points; high-risk jurisdictions add up to 20. Corporate opacity (dissolved status, zero filings, shell structures) adds up to 15 points. The resulting 0-100 score maps to CLEAR / LOW / MEDIUM / HIGH / CRITICAL.

scorePortDisruption() classifies NOAA events by matching keywords — hurricane, tropical, storm, tsunami, surge, gale, wind, flood, cyclone, typhoon, fog, ice — against the event description and severity field. Extreme/severe alerts score 10 each (capped at 35). GDACS red/orange events near shipping lanes score 10 each (capped at 30). Forecast wind speeds above 50 knots or storm/gale descriptions score 5 each. The 5-tier output runs CALM through EXTREME.

scoreTradeRouteCompliance() computes HHI from UN COMTRADE primaryValue fields, normalizing partner shares and summing squared shares multiplied by 10,000. HHI above 2,500 triggers the highly-concentrated signal. Sanctioned country detection cross-references OFAC program fields and OpenSanctions countries arrays against the 13 high-risk jurisdiction list. Each sanctioned route adds 12 points (capped at 35).

scoreCounterpartyRisk() starts with LEI absence (25 points), lapsed status (10 points), or verified active (0 points). OpenCorporates data adds opacity points for dissolved entities (8 each), zero filings (5), nominee/trust/LLP structures (5), and flag-of-convenience incorporation (4). OFAC matches above 70% confidence and OpenSanctions dataset membership each add 10 points (capped at 30).

scoreFlagState() scans all jurisdictions across OpenCorporates and GLEIF records. A high-risk jurisdiction hit adds 40 points; flag-of-convenience registration adds 25; three or more combined hits adds 15. Missing jurisdiction data adds 20.

Phase 3: Composite score assembly

generateMaritimeIntel() applies fixed weights to the five sub-scores: vessel sanctions (0.30), trade route (0.25), counterparty (0.20), port disruption (0.15), flag state (0.10). The composite is rounded to an integer and mapped to the 5-tier verdict. Signals from all models are merged into a flat allSignals array. The recommendations engine applies threshold rules — CRITICAL sanctions verdict triggers an OFAC escalation recommendation; HHI above 2,500 triggers a route diversification recommendation; SUSPICIOUS counterparty triggers an enhanced due diligence recommendation.

Standby mode architecture

The server runs as an Apify standby actor, exposing a persistent HTTP endpoint at /mcp. Each POST creates a fresh McpServer instance with a StreamableHTTPServerTransport, handles the request, and closes the transport on connection end. This stateless per-request model means the server can handle concurrent queries from multiple MCP clients simultaneously. When run outside standby mode (direct actor execution), the server starts briefly, logs a health check confirmation, and exits after 1 second.

Tips for best results

  1. Use the full fleet report for high-value counterparties. The vessel_fleet_risk_report tool orchestrates all 8 data sources in a single call. For counterparties above a materiality threshold, the extra breadth is worth the single $0.045 charge versus calling individual tools separately.

  2. IMO numbers improve sanctions matching precision. OFAC SDN entries for vessels frequently include IMO numbers. Passing "IMO 9321483" instead of a vessel name reduces false positive matches from name variations and transliteration differences.

  3. Combine with cargo origin verification for dual-use goods. For commodities with sanctions sensitivity — crude oil, refined petroleum, metals, semiconductors — pair trade_route_compliance with cargo_origin_verification to detect both direct route exposure and transshipment through intermediary countries.

  4. Set a spending limit for automated screening pipelines. If you connect this MCP to an automated workflow that screens incoming voyage orders, configure Apify's per-run spending limit to cap daily exposure at a fixed dollar amount.

  5. Interpret HHI alongside sanctioned route count. A high HHI (concentrated routes) combined with zero sanctioned route hits means dependency risk but not compliance risk. The combination of HHI > 2,500 and sanctioned routes > 0 is the signal requiring immediate compliance review.

  6. Re-screen after any ownership change. Corporate registry data through OpenCorporates reflects state at query time. Screen again after a vessel changes owner, operator, or flag state — particularly after a sale between related entities.

  7. Use port disruption forecast before departure, not arrival. NOAA and GDACS events are live at query time. Query 24-48 hours before planned departure from the origin port and again 24 hours before the estimated arrival port window.

Combine with other Apify actors

ActorHow to combine
OFAC Sanctions SearchRun standalone deep OFAC searches on flagged entities identified by vessel screening, with more result pages than the MCP tool returns
OpenSanctions SearchPull full OpenSanctions entity profiles with all dataset memberships for entities that triggered multi-list matches in the MCP
OpenCorporates SearchExtract complete beneficial ownership chains for corporate structures flagged as opaque by the counterparty screener
GLEIF LEI LookupRetrieve full LEI relationship trees for shipping groups — parent entities, subsidiaries, and fund structures — beyond what the MCP returns
UN COMTRADE SearchRun deep commodity-level trade flow analysis for specific HS codes and country pairs flagged in trade route compliance results
NOAA Weather AlertsPull full NOAA alert text and affected zone geometry for marine weather events returned by the port disruption forecast
GDACS Disaster AlertsRetrieve complete GDACS event details — affected population, intensity, and geographic extent — for disasters flagged near shipping lanes

Limitations

  • No real-time AIS vessel tracking. This server does not access live vessel position data. For actual vessel location, heading, and port arrival/departure events, specialized AIS services such as MarineTraffic, VesselFinder, or Spire Maritime are required.
  • Sanctions data reflects the query moment. OFAC SDN and OpenSanctions are queried live, but there is no continuous monitoring. A vessel cleared today may be added to the SDN list tomorrow. For continuous coverage, schedule daily screening runs.
  • Corporate registry coverage varies by jurisdiction. OpenCorporates has strong coverage in the US, UK, EU, and Commonwealth countries. Coverage in secretive jurisdictions — where shells used for sanctions evasion are often incorporated — is intentionally limited by those jurisdictions.
  • GLEIF LEI coverage is voluntary. LEI registration is not mandatory for all shipping entities. Absence of an LEI does not confirm that a company is illegitimate; it means GLEIF cannot independently verify it.
  • Trade flow data has a publication lag. UN COMTRADE data for the most recent 6-12 months may not yet be published for all country pairs. Detection of very recent route shifts may underperform on short-lag commodities.
  • NOAA and GDACS coverage is strongest for regions with active monitoring infrastructure. Storm tracking and disaster alerts in remote ocean areas or regions without dense meteorological station networks may have less granular coverage than major port regions.
  • HHI concentration scores require sufficient COMTRADE data. For minor commodities or small bilateral trade pairs, COMTRADE may return few or no records, making HHI calculation unreliable. A zero HHI from empty data is not the same as a zero HHI from diversified trade.
  • Match confidence for vessel names is approximate. Vessel names are frequently transliterated, abbreviated, or changed after ownership transfers. Always supplement name-based screening with IMO number queries where available.

Integrations

  • Apify API — Call the MCP endpoint programmatically from compliance automation pipelines, trigger vessel screening from ERP/TMS systems
  • Zapier — Trigger screening when new voyage orders enter your system; push HIGH/CRITICAL verdicts to a Slack compliance channel
  • Make — Build multi-step workflows that screen vessels, enrich results with corporate data, and file compliance records
  • Webhooks — Fire alerts when vessel_fleet_risk_report returns DO_NOT_ENGAGE or when sanctions hit counts exceed a threshold
  • Google Sheets — Log screening results in a compliance tracker with composite scores, verdicts, and timestamps
  • LangChain / LlamaIndex — Integrate as a tool in agentic compliance workflows; use maritime intelligence outputs as grounding context for LLM-generated due diligence reports

Troubleshooting

  • Tool returns empty signals despite expecting risk flags — The underlying data sources may have returned no results for the query term. Try reformatting the entity name, adding the country or region as context, or using the IMO number instead of the vessel name. Check that your Apify API token has sufficient credits.
  • vessel_fleet_risk_report takes longer than other tools — This tool calls all 8 data sources in parallel. On slow network conditions or when underlying actor queues are busy, it may take 30-90 seconds. The 120-second per-actor timeout ensures it will not hang indefinitely.
  • Composite score seems low despite known sanctions exposure — The composite score weights vessel sanctions at 30% of the total. If OFAC and OpenSanctions searches return no hits because the entity is listed under a variant name, the score will not reflect the actual risk. Always verify with IMO number and try variant spellings.
  • Port disruption forecast returns CALM for an active hurricane region — NOAA alert zones are matched by keyword against the port name you provide. If the name doesn't match NOAA zone names, try the broader region (e.g., "Gulf of Mexico" instead of "Port of Veracruz").
  • Spending limit reached error on first call — Your Apify account may have a very low per-run spending limit configured. Check Settings > Monetization in the Apify Console and adjust the spending limit before retrying.

Responsible use

  • This MCP server queries publicly available data from official government sources (OFAC, NOAA, GDACS, UN COMTRADE) and open corporate registry data.
  • Risk scores are indicators, not legal determinations. A HIGH or CRITICAL verdict requires human compliance review before any adverse action is taken against a counterparty.
  • OFAC sanctions compliance is a legal obligation in the United States. Always obtain qualified legal counsel for sanctions compliance decisions — do not rely solely on algorithmic scoring.
  • Respect the terms of service for each underlying data source. Do not use query volumes that place unreasonable load on public APIs.
  • For guidance on web scraping legality, see Apify's guide.

FAQ

How does maritime shipping intelligence screening differ from dedicated sanctions screening platforms like Dow Jones or Accuity? This MCP queries live primary-source data directly from OFAC and OpenSanctions rather than aggregating into a proprietary database. Primary-source queries are always current as of query time. The trade-off is that dedicated platforms include proprietary entity resolution, adverse media, and ownership graph databases not available here. This MCP is best suited for teams wanting primary-source screening with AI-assistant integration at a fraction of enterprise platform costs.

How many vessels can I screen in one run? Each tool call screens one entity per invocation. For fleet screening, call vessel_fleet_risk_report once per vessel. There is no hard limit on the number of calls per session; spending limits control maximum cost. A fleet of 20 vessels costs $0.90 in tool call charges.

Does maritime shipping intelligence work for shipping companies as well as vessels? Yes. All tools accept company names, operator names, and beneficial owner names in addition to vessel names. The shipping_counterparty_screen tool is specifically designed for counterparty companies; vessel_sanctions_screening works for both individual vessels and their operating companies.

How accurate is the flag-of-convenience detection? The model tracks 23 flag-of-convenience registries and 13 high-risk jurisdictions. Detection is based on jurisdiction fields from OpenCorporates and GLEIF records. Accuracy depends on the completeness of corporate registry data for the specific entity. For well-documented shipping companies with full registry filings, detection accuracy is high. For newly-formed or minimally-documented entities, jurisdiction data may be absent.

Can I use this MCP server with Cursor, Windsurf, or other AI coding tools? Yes. Any MCP-compatible client that supports the StreamableHTTP transport can connect to https://maritime-shipping-intelligence-mcp.apify.actor/mcp. Cursor, Windsurf, Cline, and similar tools all support this standard. Add the URL to your MCP client configuration alongside your Apify API token.

How current is the OFAC SDN data queried by this server? The OFAC Sanctions Search actor queries the live OFAC SDN feed at query time. OFAC updates the SDN list on irregular schedules; major additions are published the same business day. There is no caching layer between the MCP tool call and the live source.

Is it legal to screen vessels and companies using this data? OFAC screening is not only legal but legally required for US persons and entities doing business in international shipping. All data sources used — OFAC, OpenSanctions, UN COMTRADE, NOAA, GDACS, OpenCorporates, GLEIF — are public government or intergovernmental databases. See Apify's guide on web scraping legality.

What does the HHI score measure and when should I be concerned? The Herfindahl-Hirschman Index measures trade route concentration. An HHI of 0 means trade is spread across many partners equally; 10,000 means all trade flows through a single partner. The US Department of Justice considers markets with HHI above 2,500 highly concentrated. In trade route terms, HHI above 2,500 signals single-partner dependency risk — if that partner faces sanctions or disruption, the entire route is affected.

Can I schedule this MCP for automated daily fleet monitoring? Yes. Use the Apify scheduling feature to trigger a monitoring workflow daily. Pair this with webhooks to receive notifications when the composite score for any vessel exceeds a threshold, or use the Apify API to poll results and push them to your compliance management system.

What happens when a data source is temporarily unavailable? Each actor call is wrapped in a try/catch block. If a source fails, it returns an empty array rather than throwing an error. The scoring models handle empty arrays gracefully, producing lower sub-scores for the affected dimension. The composite score will reflect the degraded data by being conservatively lower for that dimension — missing data does not produce false negatives for risk dimensions with other active sources.

How is this different from running OFAC searches manually on the OFAC website? Manual OFAC searches are single-entity, single-source, and return raw SDN data with no scoring. This MCP cross-references 8 sources simultaneously, applies match confidence weighting, scores the corporate chain for beneficial ownership risk, correlates with weather and trade route data, and returns a structured verdict with recommendations — all in one tool call from inside your AI assistant.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try Maritime Shipping Intelligence MCP Server?

Start for free on Apify. No credit card required.

Open on Apify Store