{
  "ok": true,
  "protocol": "Model Context Protocol",
  "transport": "streamable-http",
  "endpoint": "https://gulf-maritime-exposure-a2a.vassiliy-lakhonin.workers.dev/mcp/agent",
  "legacy_payment_endpoint": "https://gulf-maritime-exposure-a2a.vassiliy-lakhonin.workers.dev/mcp",
  "fleet_directory": "https://gulf-maritime-exposure-a2a.vassiliy-lakhonin.workers.dev/.well-known/fleet.json",
  "invocation": {
    "method": "POST",
    "content_type": "application/json",
    "accept": [
      "application/json",
      "text/event-stream"
    ]
  },
  "supports_sse_get": false,
  "supported_protocol_versions": [
    "2026-07-28",
    "2025-11-25",
    "2025-06-18",
    "2025-03-26"
  ],
  "server_card": "https://gulf-maritime-exposure-a2a.vassiliy-lakhonin.workers.dev/.well-known/mcp/server-card.json",
  "tools": [
    {
      "name": "gulf_maritime_exposure",
      "description": "Triage maritime sanctions and chokepoint-disruption exposure for a vessel/voyage transiting the Strait of Hormuz, the Gulf, Bab-el-Mandeb, or the Red Sea. Returns an exposure signal, decision-readiness score, supplied vs. minimum-required sources, and evidence gaps. It does not resolve vessel ownership. Required tool arguments: voyage, exposure_facets, decision_stage, dated_sources, risk_question. Grades supplied evidence; it does not independently verify source truth. Obtain the source records requested by inputSchema before asking for a decision-ready result. Do not fabricate missing evidence. For a Middle Corridor sanctions question without evidence, use corridor_sanctions_assistant at https://corridor-sanctions-assistant-a2a.vassiliy-lakhonin.workers.dev/mcp for orientation only. Illustrative example arguments (synthetic; replace with your own data): {\"vessel\":{\"name\":\"Example Tanker\",\"flag\":\"Panama\",\"vessel_type\":\"crude oil tanker\"},\"voyage\":{\"chokepoint\":\"strait_of_hormuz\",\"origin\":\"undisclosed Gulf terminal\",\"destination\":\"ship-to-ship area, Gulf of Oman\"},\"cargo\":\"crude oil\",\"counterparties\":[{\"role\":\"registered_owner\",\"name\":\"Example Holding Ltd\",\"jurisdiction\":\"Marshall Islands\"},{\"role\":\"insurer_or_pi_club\",\"name\":\"Unknown\"}],\"exposure_facets\":[\"iran_oil_exposure\",\"dark_fleet_indicators\",\"sts_transfer\",\"insurance_or_pi_gap\"],\"jurisdictions_in_scope\":[\"OFAC\",\"EU\",\"UK_OFSI\"],\"decision_stage\":\"pre_fixture\",\"dated_sources\":[{\"id\":\"g1\",\"source_type\":\"ais_track_record\",\"title\":\"AIS track extract\",\"date\":\"2026-05-28\"}],\"risk_question\":\"Is this Hormuz transit ready to fix, or should it be escalated before fixture?\",\"requested_output\":\"structured_json\"}. This product offers two free trial attempts at /v1/trial; shared networks share the allowance and daily capacity is limited. Evaluation on paid endpoints requires a signed Base USDC payment for the exact request, or Pro access. Discovery is free. Keep the original request and X-Payment-Signature for result recovery within 24 hours. Current prices: https://gulf-maritime-exposure-a2a.vassiliy-lakhonin.workers.dev/.well-known/x402. Do not pay automatically. Evidence triage only: no factual-truth verification, no legal, compliance, sanctions, or financial advice. Human review is required before any commercial action.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/gulf-maritime-exposure-request.schema.json",
        "title": "GulfMaritimeExposureRequest",
        "description": "Product-grade structured request contract for evidence triage of maritime sanctions and chokepoint-disruption exposure for a vessel or voyage transiting the Strait of Hormuz, Persian/Arabian Gulf, Gulf of Oman, Bab-el-Mandeb, or Red Sea. The contract asks whether the supplied evidence is sufficient for allow, escalate-before-fixture, escalate-before-voyage, human-review, or not-decision-ready routing. It does not provide legal, sanctions, compliance, financial, investment, insurance, or trading advice, identity verification, vessel-ownership resolution, live retrieval, or factual-truth verification.",
        "x-schema-version": "1",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "voyage",
          "exposure_facets",
          "decision_stage",
          "dated_sources",
          "risk_question"
        ],
        "properties": {
          "vessel": {
            "$ref": "#/$defs/vessel"
          },
          "voyage": {
            "$ref": "#/$defs/voyage"
          },
          "cargo": {
            "type": "string",
            "minLength": 1,
            "description": "Cargo under carriage (e.g. crude oil, refined products, LNG, dual-use goods, containers)."
          },
          "counterparties": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/counterparty"
            }
          },
          "exposure_facets": {
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/$defs/exposure_facet"
            }
          },
          "jurisdictions_in_scope": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "OFAC",
                "EU",
                "UK_OFSI",
                "UN",
                "OTHER"
              ]
            }
          },
          "decision_stage": {
            "type": "string",
            "enum": [
              "pre_fixture",
              "pre_voyage",
              "pre_port_call",
              "post_alert",
              "committee_review",
              "other"
            ]
          },
          "dated_sources": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/dated_source"
            }
          },
          "risk_question": {
            "type": "string",
            "minLength": 1
          },
          "notes": {
            "type": "string",
            "minLength": 1
          },
          "requested_output": {
            "type": "string",
            "enum": [
              "structured_json",
              "markdown_summary",
              "both"
            ],
            "default": "structured_json"
          }
        },
        "$defs": {
          "vessel": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "imo": {
                "type": "string",
                "minLength": 1,
                "description": "IMO number, if known. Not verified by this service."
              },
              "flag": {
                "type": "string",
                "minLength": 1
              },
              "vessel_type": {
                "type": "string",
                "minLength": 1
              }
            }
          },
          "voyage": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "chokepoint"
            ],
            "properties": {
              "chokepoint": {
                "type": "string",
                "enum": [
                  "strait_of_hormuz",
                  "persian_gulf",
                  "gulf_of_oman",
                  "bab_el_mandeb",
                  "red_sea",
                  "suez_canal",
                  "other"
                ]
              },
              "origin": {
                "type": "string",
                "minLength": 1
              },
              "destination": {
                "type": "string",
                "minLength": 1
              },
              "route_note": {
                "type": "string",
                "minLength": 1
              }
            }
          },
          "counterparty": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "role"
            ],
            "properties": {
              "role": {
                "type": "string",
                "enum": [
                  "registered_owner",
                  "beneficial_owner",
                  "operator",
                  "charterer",
                  "manager",
                  "insurer_or_pi_club",
                  "flag_registry",
                  "bunker_supplier",
                  "other"
                ]
              },
              "name": {
                "type": "string",
                "minLength": 1
              },
              "jurisdiction": {
                "type": "string",
                "minLength": 1
              }
            }
          },
          "exposure_facet": {
            "type": "string",
            "enum": [
              "iran_oil_exposure",
              "russia_oil_price_cap",
              "dark_fleet_indicators",
              "sts_transfer",
              "flag_hopping",
              "insurance_or_pi_gap",
              "ais_manipulation",
              "ownership_or_control",
              "dual_use_cargo",
              "chokepoint_disruption"
            ]
          },
          "dated_source": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "source_type",
              "title",
              "date"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "source_type": {
                "$ref": "#/$defs/source_type"
              },
              "title": {
                "type": "string",
                "minLength": 1
              },
              "date": {
                "type": "string",
                "format": "date"
              },
              "url": {
                "type": "string",
                "format": "uri"
              },
              "notes": {
                "type": "string",
                "minLength": 1
              }
            }
          },
          "source_type": {
            "type": "string",
            "enum": [
              "vessel_registry_extract",
              "flag_registry_record",
              "pi_insurance_certificate",
              "ais_track_record",
              "sts_transfer_evidence",
              "ownership_or_control_evidence",
              "sanctions_list_extract",
              "cargo_or_bl_evidence",
              "classification_society_record",
              "port_state_control_record",
              "charterer_kyc_evidence",
              "adverse_media_evidence",
              "prior_incident_or_detention",
              "price_cap_attestation_or_recordkeeping",
              "human_review_note",
              "user_provided_note",
              "other"
            ]
          }
        },
        "examples": [
          {
            "vessel": {
              "name": "Example Tanker",
              "flag": "Panama",
              "vessel_type": "crude oil tanker"
            },
            "voyage": {
              "chokepoint": "strait_of_hormuz",
              "origin": "undisclosed Gulf terminal",
              "destination": "ship-to-ship area, Gulf of Oman"
            },
            "cargo": "crude oil",
            "counterparties": [
              {
                "role": "registered_owner",
                "name": "Example Holding Ltd",
                "jurisdiction": "Marshall Islands"
              },
              {
                "role": "insurer_or_pi_club",
                "name": "Unknown"
              }
            ],
            "exposure_facets": [
              "iran_oil_exposure",
              "dark_fleet_indicators",
              "sts_transfer",
              "insurance_or_pi_gap"
            ],
            "jurisdictions_in_scope": [
              "OFAC",
              "EU",
              "UK_OFSI"
            ],
            "decision_stage": "pre_fixture",
            "dated_sources": [
              {
                "id": "g1",
                "source_type": "ais_track_record",
                "title": "AIS track extract",
                "date": "2026-05-28"
              }
            ],
            "risk_question": "Is this Hormuz transit ready to fix, or should it be escalated before fixture?",
            "requested_output": "structured_json"
          }
        ]
      },
      "_meta": {
        "com.agenda/readiness": {
          "schema_version": 1,
          "required_arguments": [
            "voyage",
            "exposure_facets",
            "decision_stage",
            "dated_sources",
            "risk_question"
          ],
          "example_arguments": {
            "vessel": {
              "name": "Example Tanker",
              "flag": "Panama",
              "vessel_type": "crude oil tanker"
            },
            "voyage": {
              "chokepoint": "strait_of_hormuz",
              "origin": "undisclosed Gulf terminal",
              "destination": "ship-to-ship area, Gulf of Oman"
            },
            "cargo": "crude oil",
            "counterparties": [
              {
                "role": "registered_owner",
                "name": "Example Holding Ltd",
                "jurisdiction": "Marshall Islands"
              },
              {
                "role": "insurer_or_pi_club",
                "name": "Unknown"
              }
            ],
            "exposure_facets": [
              "iran_oil_exposure",
              "dark_fleet_indicators",
              "sts_transfer",
              "insurance_or_pi_gap"
            ],
            "jurisdictions_in_scope": [
              "OFAC",
              "EU",
              "UK_OFSI"
            ],
            "decision_stage": "pre_fixture",
            "dated_sources": [
              {
                "id": "g1",
                "source_type": "ais_track_record",
                "title": "AIS track extract",
                "date": "2026-05-28"
              }
            ],
            "risk_question": "Is this Hormuz transit ready to fix, or should it be escalated before fixture?",
            "requested_output": "structured_json"
          },
          "example_is_synthetic": true,
          "next_step": "Grades supplied evidence; it does not independently verify source truth. Obtain the source records requested by inputSchema before asking for a decision-ready result. Do not fabricate missing evidence. For a Middle Corridor sanctions question without evidence, use corridor_sanctions_assistant at https://corridor-sanctions-assistant-a2a.vassiliy-lakhonin.workers.dev/mcp for orientation only.",
          "expected_output_fields": [
            "triage_recommendation",
            "exposure_signal",
            "decision_readiness_score",
            "decision_readiness_label",
            "voyage",
            "exposure_facets",
            "supplied_sources",
            "minimum_sources_before_review",
            "evidence_gaps",
            "top_exposure_dimensions",
            "chokepoint_disruption_watch",
            "watch_next",
            "human_review_required",
            "not_advice_notice",
            "limitations"
          ],
          "access": {
            "authentication": "none",
            "base_call_price": "paid",
            "billing_mode": "pay_per_call",
            "discovery_is_free": true,
            "quota_per_hour": null,
            "quota_enforcement": "best_effort",
            "pricing_url": "https://gulf-maritime-exposure-a2a.vassiliy-lakhonin.workers.dev/.well-known/x402",
            "free_trial": {
              "endpoint": "/v1/trial",
              "agent_profile": "gulf_maritime_exposure",
              "tool": "gulf_maritime_exposure",
              "evaluation_kind": "evidence_review",
              "attempts_per_network": 2,
              "daily_service_limit": 1000,
              "payment_required": false,
              "scope": "Two attempts per network address per product for this trial campaign; shared networks share the allowance. Daily capacity is shared across all products.",
              "paid_endpoint": "/v1/gulf-maritime/exposure",
              "paid_transport": "rest",
              "paid_price_usdc": 0.05
            },
            "on_quota_exceeded": "Wait for the next UTC hour or review optional paid access; do not pay automatically.",
            "payment_integration": "Legacy transaction-hash integration; standard x402 interoperability is not certified."
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "outputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/gulf-maritime-exposure-response.schema.json",
        "title": "GulfMaritimeExposureResponse",
        "description": "Structured response for maritime sanctions and chokepoint-disruption exposure triage. Evidence-sufficiency triage only; always requires human review. Not legal, sanctions, compliance, financial, investment, insurance, or trading advice.",
        "x-schema-version": "1",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "triage_recommendation",
          "exposure_signal",
          "decision_readiness_score",
          "decision_readiness_label",
          "voyage",
          "exposure_facets",
          "supplied_sources",
          "minimum_sources_before_review",
          "evidence_gaps",
          "top_exposure_dimensions",
          "chokepoint_disruption_watch",
          "watch_next",
          "human_review_required",
          "not_advice_notice",
          "limitations"
        ],
        "properties": {
          "triage_recommendation": {
            "type": "string",
            "enum": [
              "insufficient_information",
              "escalate_before_fixture",
              "escalate_before_voyage",
              "not_decision_ready",
              "ready_for_human_review"
            ]
          },
          "exposure_signal": {
            "type": "string",
            "enum": [
              "low",
              "medium",
              "medium_high",
              "high",
              "unknown"
            ]
          },
          "decision_readiness_score": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "decision_readiness_label": {
            "type": "string",
            "enum": [
              "insufficient_information",
              "not_decision_ready",
              "partial",
              "review_ready"
            ]
          },
          "vessel": {
            "type": "object"
          },
          "voyage": {
            "type": "object"
          },
          "cargo": {
            "type": "string"
          },
          "exposure_facets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "supplied_sources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "minimum_sources_before_review": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "evidence_gaps": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "top_exposure_dimensions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "chokepoint_disruption_watch": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "watch_next": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "human_review_required": {
            "type": "boolean",
            "const": true
          },
          "not_advice_notice": {
            "type": "string"
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "readiness_contract": {
            "$ref": "#/$defs/readiness_contract"
          },
          "source_record_review": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "policy_version",
              "scope",
              "source_content_verified",
              "freshness_verified",
              "usable_source_types",
              "issues",
              "next_action"
            ],
            "properties": {
              "policy_version": {
                "const": "source-records.v1"
              },
              "scope": {
                "const": "reference_metadata_only"
              },
              "source_content_verified": {
                "const": false
              },
              "freshness_verified": {
                "const": false
              },
              "usable_source_types": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "issues": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "source_index",
                    "source_type",
                    "issue"
                  ],
                  "properties": {
                    "source_index": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "source_type": {
                      "type": "string"
                    },
                    "issue": {
                      "type": "string"
                    }
                  }
                }
              },
              "next_action": {
                "type": "string"
              }
            }
          }
        },
        "$defs": {
          "readiness_named_value": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "field",
              "value"
            ],
            "properties": {
              "field": {
                "type": "string",
                "minLength": 1
              },
              "value": {
                "type": "string",
                "minLength": 1
              }
            }
          },
          "readiness_contract": {
            "type": "object",
            "additionalProperties": false,
            "description": "Additive normalized readiness view for cross-profile human-review routing. Built from existing response fields; does not replace profile-specific fields and does not imply approval, clearance, advice, factual verification, or autonomous decision-making.",
            "required": [
              "profile",
              "status",
              "score",
              "routing",
              "signal",
              "blocking_gaps",
              "non_blocking_gaps",
              "claim_audit",
              "owner_actions",
              "watch_next",
              "human_review_required",
              "boundary_notice"
            ],
            "properties": {
              "profile": {
                "type": "string",
                "minLength": 1
              },
              "status": {
                "type": "string",
                "minLength": 1
              },
              "score": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0,
                "maximum": 100
              },
              "routing": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/readiness_named_value"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "signal": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/readiness_named_value"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "blocking_gaps": {
                "type": "array",
                "items": {}
              },
              "non_blocking_gaps": {
                "type": "array",
                "items": {}
              },
              "claim_audit": {
                "type": "array",
                "items": {}
              },
              "owner_actions": {
                "type": "array",
                "items": {}
              },
              "watch_next": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "human_review_required": {
                "type": "boolean"
              },
              "boundary_notice": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        }
      }
    }
  ],
  "liveness": "ok"
}