Maritime Shipping Intelligence
About
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.
Details
- Author
- apifyforge
- Downloads
- 137
- Categories
- Other
Jump to
- 8 MCP tools covering sanctions, weather, trade compliance, counterparty, flag state, cargo origin, route weather, and fleet risk
- Composite Maritime Risk Score (0-100) with five-tier verdict system (CLEAR_TO_PROCEED… DO_NOT_ENGAGE)
- OFAC SDN screening with match confidence scoring; 80%+ confidence triggers automatic CRITICAL classification
- OpenSanctions cross-matching across 40+ international watchlists
- Herfindahl-Hirschman Index trade concentration scoring for route dependency risk
- Parallel actor execution – all data sources queried simultaneously per tool call
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Maritime Shipping IntelligenceCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server URL https://ryanclinton--maritime-shipping-intelligence-mcp.apify.actor/mcp to your MCP client configuration (e.g., Claude Desktop, Cursor, Windsurf). Then ask natural language questions about vessels, ports, trade routes, or counterparties—the AI selects the appropriate tool automatically.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"maritime shipping intelligence": {
"maritime-shipping-intelligence-mcp": {
"url": "https://ryanclinton--maritime-shipping-intelligence-mcp.apify.actor/mcp"
}
}
}
}
McpServers
{
"maritime-shipping-intelligence-mcp": {
"url": "https://ryanclinton--maritime-shipping-intelligence-mcp.apify.actor/mcp"
}
}
Maritime Shipping Intelligence MCP Server
> View on ApifyForge | Use on Apify Store
---
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf):
{
"mcpServers": {
"maritime-shipping-intelligence-mcp": {
"url": "https://ryanclinton--maritime-shipping-intelligence-mcp.apify.actor/mcp"
}
}
}
---
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 Point | Source | Example |
|---|---|---|
| 📋 US sanctions listings | OFAC SDN List | Vessels, operators, beneficial owners on OFAC Specially Designated Nationals register |
| 🔎 Multi-jurisdiction watchlists | OpenSanctions | 40+ consolidated programs: EU, UN, UK, OFAC, Interpol — cross-matched by entity |
| 🚢 International trade flows | UN COMTRADE | Bilateral commodity flows for 200+ countries — used for HHI concentration scoring |
| 🌀 Severe maritime weather | NOAA | Hurricane, gale, tropical storm, surge, and tsunami alerts affecting port operations |
| 🌍 Natural disaster monitoring | GDACS | Red/orange cyclone, earthquake, flood, and tsunami events near shipping lanes |
| 🏢 Corporate registry records | OpenCorporates | Vessel owner incorporation, jurisdiction, filing count, dissolution status |
| 🔗 Legal entity identifiers | GLEIF LEI | LEI issuance status, registration currency, entity relationship chains |
| 🌤 Route weather forecasting | Weather Forecast | Wind speed, visibility, storm conditions for named shipping routes and regions |
| ⚖️ Flag state classification | Scoring model | 23 flags of convenience flagged; 13 high-risk jurisdictions tracked |
| 📊 Composite risk score | All sources | Weighted 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
| Tool | Price | Parameters | Description |
|------|-------|------------|-------------|
| vessel_sanctions_screening | $0.045 | entity, port (optional) | Screen vessel or shipping company against OFAC SDN, OpenSanctions, and corporate registries |
| port_disruption_forecast | $0.045 | port, timeframe (optional) | Forecast port disruption from severe weather, disasters, and maritime hazards |
| trade_route_compliance | $0.045 | commodity, country (optional) | Assess trade route compliance: HHI concentration, sanctioned route detection, trade flow risk |
| flag_state_risk_check | $0.045 | entity | Check flag state risk: flags of convenience, high-risk jurisdictions, regulatory oversight quality |
| shipping_counterparty_screen | $0.045 | company | Screen shipping counterparty: LEI verification, corporate transparency, sanctions exposure |
| maritime_weather_risk | $0.045 | route | Maritime weather risk for shipping routes: storm tracking, visibility, wind, sea state |
| cargo_origin_verification | $0.045 | commodity, origin | Verify cargo origin: trade flow analysis, transshipment risk, sanctions-origin detection |
| vessel_fleet_risk_report | $0.045 | entity, 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 compliance — commodity: "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
| Field | Type | Description |
|-------|------|-------------|
| entity | string | The vessel, company, or fleet name queried |
| compositeScore | number | Weighted composite risk score 0-100 (sanctions 30%, trade 25%, counterparty 20%, weather 15%, flag 10%) |
| verdict | string | CLEAR_TO_PROCEED / PROCEED_WITH_CAUTION / ENHANCED_REVIEW / HIGH_RISK / DO_NOT_ENGAGE |
| vesselSanctions.score | number | Sanctions sub-score 0-100 |
| vesselSanctions.sanctionHits | number | Total OFAC + OpenSanctions match count |
| vesselSanctions.flagRisk | number | Flag-of-convenience sub-score (max 25) |
| vesselSanctions.jurisdictionRisk | number | High-risk jurisdiction sub-score (max 20) |
| vesselSanctions.riskLevel | string | CLEAR / LOW / MEDIUM / HIGH / CRITICAL |
| portDisruption.score | number | Weather/disaster disruption score 0-100 |
| portDisruption.severeAlerts | number | Count of maritime-relevant NOAA alerts |
| portDisruption.disasterCount | number | Count of GDACS events near the port |
| portDisruption.riskLevel | string | CALM / WATCH / ADVISORY / WARNING / EXTREME |
| tradeRoute.score | number | Trade compliance score 0-100 |
| tradeRoute.tradePartners | number | Number of distinct trade partner countries |
| tradeRoute.concentrationHHI | number | Herfindahl-Hirschman Index (0-10000; >2500 = high concentration) |
| tradeRoute.sanctionedRoutes | number | Number of trade routes touching sanctioned jurisdictions |
| tradeRoute.complianceLevel | string | COMPLIANT / LOW_RISK / REVIEW_NEEDED / HIGH_RISK / NON_COMPLIANT |
| counterparty.score | number | Counterparty fraud risk score 0-100 |
| counterparty.corporateOpacity | number | Opacity sub-score: dissolved entities, zero-filings, shell structures |
| counterparty.leiVerified | boolean | Whether an active GLEIF LEI was found |
| counterparty.sanctionFlags | number | Sanctions/watchlist match count for the counterparty |
| counterparty.riskLevel | string | VERIFIED / LOW_RISK / REVIEW / SUSPICIOUS / BLOCK |
| flagState.score | number | Flag state risk score 0-100 |
| flagState.flagOfConvenience | boolean | True if any jurisdiction matches 23 known flags of convenience |
| flagState.highRiskJurisdiction | boolean | True if any jurisdiction matches 13 high-risk sanctions-evasion countries |
| flagState.riskLevel | string | LOW / MODERATE / ELEVATED / HIGH / CRITICAL |
| allSignals | string[] | Flat list of all risk signals across all five dimensions |
| recommendations | string[] | 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.
| Scenario | Queries | Cost per query | Total cost |
|----------|---------|----------------|------------|
| Quick sanctions check | 1 | $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
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



