Skip to main content
Glama
cct15

Futuristic Risk Intelligence

get_maritime_traffic

Monitor vessel traffic in critical maritime chokepoints to assess supply chain disruption risks. Provides daily snapshots of vessel counts by type across strategic zones.

Instructions

Get vessel counts in critical maritime chokepoints: Strait of Hormuz, Black Sea, Taiwan Strait, Arabian Sea, Eastern Mediterranean, Caribbean. Includes breakdown by vessel type (tanker, cargo, military, other). Data is a snapshot from AIS receivers (not full-day throughput). Military vessels often turn off AIS transponders so counts may underestimate. Updated daily. Use this to monitor supply chain disruption risks.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zone_idNoOptional: filter to a single maritime zone.

Implementation Reference

  • The handler function for get_maritime_traffic that loads data from maritime.json and filters by zone_id if provided.
    def handle_get_maritime_traffic(args: dict) -> str:
        data = _load_json("maritime.json")
        if "error" in data:
            return json.dumps(data)
    
        zone_id = args.get("zone_id")
        if zone_id:
            data["zones"] = [z for z in data.get("zones", []) if z.get("zone_id") == zone_id]
    
        return json.dumps(data, indent=2)
  • The tool definition schema for get_maritime_traffic.
        "name": "get_maritime_traffic",
        "description": (
            "Get vessel counts in critical maritime chokepoints: Strait of Hormuz, "
            "Black Sea, Taiwan Strait, Arabian Sea, Eastern Mediterranean, Caribbean. "
            "Includes breakdown by vessel type (tanker, cargo, military, other). "
            "Data is a snapshot from AIS receivers (not full-day throughput). "
            "Military vessels often turn off AIS transponders so counts may underestimate. "
            "Updated daily. Use this to monitor supply chain disruption risks."
        ),
        "inputSchema": {
            "type": "object",
            "properties": {
                "zone_id": {
                    "type": "string",
                    "description": "Optional: filter to a single maritime zone.",
                },
            },
            "required": [],
        },
    },
  • Registration of the get_maritime_traffic handler in the TOOL_HANDLERS dictionary.
    "get_maritime_traffic": handle_get_maritime_traffic,
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Excellently discloses data source (AIS receivers), temporal behavior (snapshot vs. throughput), data quality limitations (military vessels underestimate counts), and update cadence (daily). Provides critical context about data reliability that annotations would typically cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six distinct sentences each serving unique purpose: purpose/scope, data breakdown, source clarification, limitation warning, update frequency, and use case. No redundancy or filler; information density is high throughout.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema but description compensates well by detailing return contents (vessel counts with type breakdown) and data characteristics. Missing only structural format details, but sufficiently describes the payload for effective use given the simple single-parameter input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage for the single optional parameter, establishing baseline 3. Description adds value by enumerating specific zone examples (Strait of Hormuz, Black Sea, etc.) which helps users understand valid zone_id values without being exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with specific verb 'Get' + resource 'vessel counts' + scope 'critical maritime chokepoints' and enumerates specific zones (Strait of Hormuz, Black Sea, etc.). Clearly distinguishes from siblings get_conflict_risks and get_political_events by focusing on maritime traffic data versus political/conflict analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit use case: 'Use this to monitor supply chain disruption risks.' Also implies limitations ('not full-day throughput') that guide appropriate use. Does not explicitly name sibling alternatives, but the domain distinction (maritime traffic vs conflicts/events) is clear enough for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/cct15/war-dashboard-data'

If you have feedback or need assistance with the MCP directory API, please join our Discord server