Supply Chain Disruption Monitor
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEWS_API_KEY | Yes | Your NewsAPI key for disruption news. | |
| AISSTREAM_API_KEY | Yes | Your AISStream.io API key for real-time vessel positions. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_major_portsA | List major container ports, optionally filtered by region. This is the grounding tool — call it first when you need to know which ports are relevant to a route or region before calling other tools. Args: region: Optional region filter. Available regions: East Asia, Southeast Asia, South Asia, Middle East, Red Sea, Northwest Europe, Mediterranean, North America West, North America East. Leave empty to list all ports. Returns: dict with 'region', 'port_count', and 'ports' list |
| get_port_weatherA | Get current weather conditions and 24-hour forecast for a port. Weather is sourced from Open-Meteo (free, no API key required). Pay attention to wind speed in knots — values above 25 kn affect large vessel operations; above 40 kn typically suspends port activity. Args: port_name: Port common name (e.g. "Rotterdam") or UN/LOCODE (e.g. "NLRTM") Returns: dict with current conditions, wind speed, operational impact assessment, and hourly 24h forecast |
| get_vessel_positionsA | Get live vessel positions from AIS transponder data for a shipping region. Uses AISStream.io free WebSocket feed (requires AISSTREAM_API_KEY in .env). Listens for ~8 seconds and returns a snapshot of vessels in the region. Named regions this tool recognizes (not specific to any one route — use whichever apply to the route you're assessing): "South China Sea", "East China Sea", "Strait of Malacca", "Indian Ocean", "Red Sea", "Suez Canal", "Persian Gulf", "Mediterranean", "English Channel", "North Sea", "Taiwan Strait", "East Asia", "Northwest Europe", "North America West", "North America East" Args: region: Named region — see list above, or call list_major_ports() for context max_vessels: Maximum vessels to return (default 20) Returns: dict with vessel_count, underway/anchored breakdown, and per-vessel details (MMSI, name, position, speed, course, nav status) |
| search_disruption_newsA | Search recent news for supply chain disruption signals. Uses NewsAPI (free tier, 100 req/day — requires NEWS_API_KEY in .env). Returns articles with a 'flagged_high_signal' list highlighting those mentioning strikes, storms, blockages, attacks, or sanctions. If the query names a known port or shipping region, results are filtered to articles that actually mention that place — this prevents e.g. a Red Sea query returning unrelated Strait of Hormuz coverage just because both mention "attack". Check the 'location_filter' and 'filtered_out' fields in the response to see if/how this applied. Lead each query with the exact place name for the filter to engage. Example query shapes — lead with the place actually relevant to your route, not necessarily these:
Args: query: Search query string, ideally leading with a specific place name days: Days back to search (default 7, max 30 on free tier) Returns: dict with articles list, flagged_high_signal subset, and location_filter/filtered_out showing whether results were filtered |
| get_port_congestionA | Get current congestion metrics for a port: vessel queue, wait times, capacity utilization, trend, and operational advisory. Data is realistically mocked (live data requires MarineTraffic or FreightWaves enterprise subscription). The interface mirrors what a production integration would return. Args: port_name: Port common name or UN/LOCODE Returns: dict with capacity_utilization_pct, vessels_queued, estimated_wait_hours, trend_vs_yesterday, severity, and advisory |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/trevorquinn/supply-chain-disruption-monitor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server