CargoSmart · Capability

CargoSmart Shipment Tracking API — Vessels

CargoSmart Shipment Tracking API — Vessels. 2 operations. Lead operation: Search vessel schedules. Self-contained Naftiko capability covering one Cargosmart business surface.

Run with Naftiko CargosmartVessels

What You Can Do

GET
Searchvesselschedules — Search vessel schedules
/v1/vessels/v1/schedules
GET
Getvesselposition — Get vessel position
/v1/vessels/v1/{vesselimo}/position

MCP Tools

search-vessel-schedules

Search vessel schedules

read-only idempotent
get-vessel-position

Get vessel position

read-only idempotent

Capability Spec

shipment-tracking-vessels.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: CargoSmart Shipment Tracking API — Vessels
  description: 'CargoSmart Shipment Tracking API — Vessels. 2 operations. Lead operation: Search vessel schedules. Self-contained
    Naftiko capability covering one Cargosmart business surface.'
  tags:
  - Cargosmart
  - Vessels
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CARGOSMART_API_KEY: CARGOSMART_API_KEY
capability:
  consumes:
  - type: http
    namespace: shipment-tracking-vessels
    baseUri: https://api.cargosmart.com
    description: CargoSmart Shipment Tracking API — Vessels business capability. Self-contained, no shared references.
    resources:
    - name: vessels-v1-schedules
      path: /vessels/v1/schedules
      operations:
      - name: searchvesselschedules
        method: GET
        description: Search vessel schedules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: originPort
          in: query
          type: string
          description: Origin port UN/LOCODE (e.g., USNYC)
        - name: destinationPort
          in: query
          type: string
          description: Destination port UN/LOCODE
        - name: carrierId
          in: query
          type: string
          description: Carrier SCAC code
        - name: departureFrom
          in: query
          type: string
        - name: departureTo
          in: query
          type: string
        - name: limit
          in: query
          type: integer
    - name: vessels-v1-vesselIMO-position
      path: /vessels/v1/{vesselIMO}/position
      operations:
      - name: getvesselposition
        method: GET
        description: Get vessel position
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vesselIMO
          in: path
          type: string
          description: IMO vessel number
          required: true
    authentication:
      type: bearer
      token: '{{env.CARGOSMART_API_KEY}}'
  exposes:
  - type: rest
    namespace: shipment-tracking-vessels-rest
    port: 8080
    description: REST adapter for CargoSmart Shipment Tracking API — Vessels. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/vessels/v1/schedules
      name: vessels-v1-schedules
      description: REST surface for vessels-v1-schedules.
      operations:
      - method: GET
        name: searchvesselschedules
        description: Search vessel schedules
        call: shipment-tracking-vessels.searchvesselschedules
        with:
          originPort: rest.originPort
          destinationPort: rest.destinationPort
          carrierId: rest.carrierId
          departureFrom: rest.departureFrom
          departureTo: rest.departureTo
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vessels/v1/{vesselimo}/position
      name: vessels-v1-vesselimo-position
      description: REST surface for vessels-v1-vesselIMO-position.
      operations:
      - method: GET
        name: getvesselposition
        description: Get vessel position
        call: shipment-tracking-vessels.getvesselposition
        with:
          vesselIMO: rest.vesselIMO
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: shipment-tracking-vessels-mcp
    port: 9090
    transport: http
    description: MCP adapter for CargoSmart Shipment Tracking API — Vessels. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: search-vessel-schedules
      description: Search vessel schedules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shipment-tracking-vessels.searchvesselschedules
      with:
        originPort: tools.originPort
        destinationPort: tools.destinationPort
        carrierId: tools.carrierId
        departureFrom: tools.departureFrom
        departureTo: tools.departureTo
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vessel-position
      description: Get vessel position
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: shipment-tracking-vessels.getvesselposition
      with:
        vesselIMO: tools.vesselIMO
      outputParameters:
      - type: object
        mapping: $.