naftiko: 1.0.0-alpha2 info: label: MarineTraffic AIS Vessel Tracking API — Port Operations description: 'MarineTraffic AIS Vessel Tracking API — Port Operations. 2 operations. Lead operation: Get expected vessel arrivals at a port. Self-contained Naftiko capability covering one Marinetraffic business surface.' tags: - Marinetraffic - Port Operations created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MARINETRAFFIC_API_KEY: MARINETRAFFIC_API_KEY capability: consumes: - type: http namespace: ais-port-operations baseUri: https://services.marinetraffic.com/api description: MarineTraffic AIS Vessel Tracking API — Port Operations business capability. Self-contained, no shared references. resources: - name: getexpectedarrivals-apikey path: /getexpectedarrivals/{apikey} operations: - name: getexpectedarrivals method: GET description: Get expected vessel arrivals at a port outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apikey in: path type: string required: true - name: portid in: query type: integer description: MarineTraffic port identifier required: true - name: v in: query type: integer - name: fromdate in: query type: string - name: todate in: query type: string - name: protocol in: query type: string - name: getportcalls-apikey path: /getportcalls/{apikey} operations: - name: getportcalls method: GET description: Get port call events outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apikey in: path type: string required: true - name: portid in: query type: integer - name: MMSI in: query type: string - name: fromdate in: query type: string - name: todate in: query type: string - name: v in: query type: integer - name: protocol in: query type: string authentication: type: apikey key: apikey value: '{{env.MARINETRAFFIC_API_KEY}}' placement: query exposes: - type: rest namespace: ais-port-operations-rest port: 8080 description: REST adapter for MarineTraffic AIS Vessel Tracking API — Port Operations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/getexpectedarrivals/{apikey} name: getexpectedarrivals-apikey description: REST surface for getexpectedarrivals-apikey. operations: - method: GET name: getexpectedarrivals description: Get expected vessel arrivals at a port call: ais-port-operations.getexpectedarrivals with: apikey: rest.apikey portid: rest.portid v: rest.v fromdate: rest.fromdate todate: rest.todate protocol: rest.protocol outputParameters: - type: object mapping: $. - path: /v1/getportcalls/{apikey} name: getportcalls-apikey description: REST surface for getportcalls-apikey. operations: - method: GET name: getportcalls description: Get port call events call: ais-port-operations.getportcalls with: apikey: rest.apikey portid: rest.portid MMSI: rest.MMSI fromdate: rest.fromdate todate: rest.todate v: rest.v protocol: rest.protocol outputParameters: - type: object mapping: $. - type: mcp namespace: ais-port-operations-mcp port: 9090 transport: http description: MCP adapter for MarineTraffic AIS Vessel Tracking API — Port Operations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-expected-vessel-arrivals-port description: Get expected vessel arrivals at a port hints: readOnly: true destructive: false idempotent: true call: ais-port-operations.getexpectedarrivals with: apikey: tools.apikey portid: tools.portid v: tools.v fromdate: tools.fromdate todate: tools.todate protocol: tools.protocol outputParameters: - type: object mapping: $. - name: get-port-call-events description: Get port call events hints: readOnly: true destructive: false idempotent: true call: ais-port-operations.getportcalls with: apikey: tools.apikey portid: tools.portid MMSI: tools.MMSI fromdate: tools.fromdate todate: tools.todate v: tools.v protocol: tools.protocol outputParameters: - type: object mapping: $.