naftiko: 1.0.0-alpha2 info: label: Portbase Port Community System API description: Portbase is the Dutch Port Community System providing APIs for customs declarations, cargo manifests, vessel call notifications, berth planning, and port logistics coordination at the Port of Rotterdam and Amsterdam, connecting shipping lines, freight forwarders, customs authorities, and terminal operators. tags: - Port - Community - Systems - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: port-community-systems baseUri: https://api.portbase.com/v1 description: Portbase Port Community System API HTTP API. authentication: type: bearer token: '{{PORT_COMMUNITY_SYSTEMS_TOKEN}}' resources: - name: vessel-calls path: /vessel-calls operations: - name: listvesselcalls method: GET description: List vessel calls inputParameters: - name: portCode in: query type: string description: UN/LOCODE of the port (e.g., NLRTM for Rotterdam) - name: status in: query type: string description: Filter by vessel call status - name: fromDate in: query type: string description: Earliest expected arrival date - name: toDate in: query type: string - name: offset in: query type: integer - name: limit in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createvesselcall method: POST description: Submit vessel call notification outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vessel-calls-vesselcallid path: /vessel-calls/{vesselCallId} operations: - name: getvesselcall method: GET description: Get vessel call outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatevesselcall method: PUT description: Update vessel call outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cargo-manifests path: /cargo-manifests operations: - name: submitcargomanifest method: POST description: Submit cargo manifest outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cargo-manifests-manifestid path: /cargo-manifests/{manifestId} operations: - name: getcargomanifest method: GET description: Get cargo manifest inputParameters: - name: manifestId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customs-import-declarations path: /customs/import-declarations operations: - name: submitimportdeclaration method: POST description: Submit import customs declaration outputRawFormat: json outputParameters: - name: result type: object value: $. - name: containers-containerid path: /containers/{containerId} operations: - name: getcontainer method: GET description: Get container status inputParameters: - name: containerId in: path type: string required: true description: Container number (ISO 6346 format, e.g. MSCU1234567) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: hazardous-cargo path: /hazardous-cargo operations: - name: submithazardouscargodeclaration method: POST description: Submit hazardous goods notification outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: port-community-systems-rest description: REST adapter for Portbase Port Community System API. resources: - path: /vessel-calls name: listvesselcalls operations: - method: GET name: listvesselcalls description: List vessel calls call: port-community-systems.listvesselcalls outputParameters: - type: object mapping: $. - path: /vessel-calls name: createvesselcall operations: - method: POST name: createvesselcall description: Submit vessel call notification call: port-community-systems.createvesselcall outputParameters: - type: object mapping: $. - path: /vessel-calls/{vesselCallId} name: getvesselcall operations: - method: GET name: getvesselcall description: Get vessel call call: port-community-systems.getvesselcall outputParameters: - type: object mapping: $. - path: /vessel-calls/{vesselCallId} name: updatevesselcall operations: - method: PUT name: updatevesselcall description: Update vessel call call: port-community-systems.updatevesselcall outputParameters: - type: object mapping: $. - path: /cargo-manifests name: submitcargomanifest operations: - method: POST name: submitcargomanifest description: Submit cargo manifest call: port-community-systems.submitcargomanifest outputParameters: - type: object mapping: $. - path: /cargo-manifests/{manifestId} name: getcargomanifest operations: - method: GET name: getcargomanifest description: Get cargo manifest call: port-community-systems.getcargomanifest with: manifestId: rest.manifestId outputParameters: - type: object mapping: $. - path: /customs/import-declarations name: submitimportdeclaration operations: - method: POST name: submitimportdeclaration description: Submit import customs declaration call: port-community-systems.submitimportdeclaration outputParameters: - type: object mapping: $. - path: /containers/{containerId} name: getcontainer operations: - method: GET name: getcontainer description: Get container status call: port-community-systems.getcontainer with: containerId: rest.containerId outputParameters: - type: object mapping: $. - path: /hazardous-cargo name: submithazardouscargodeclaration operations: - method: POST name: submithazardouscargodeclaration description: Submit hazardous goods notification call: port-community-systems.submithazardouscargodeclaration outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: port-community-systems-mcp transport: http description: MCP adapter for Portbase Port Community System API for AI agent use. tools: - name: listvesselcalls description: List vessel calls hints: readOnly: true destructive: false idempotent: true call: port-community-systems.listvesselcalls with: portCode: tools.portCode status: tools.status fromDate: tools.fromDate toDate: tools.toDate offset: tools.offset limit: tools.limit inputParameters: - name: portCode type: string description: UN/LOCODE of the port (e.g., NLRTM for Rotterdam) - name: status type: string description: Filter by vessel call status - name: fromDate type: string description: Earliest expected arrival date - name: toDate type: string description: toDate - name: offset type: integer description: offset - name: limit type: integer description: limit outputParameters: - type: object mapping: $. - name: createvesselcall description: Submit vessel call notification hints: readOnly: false destructive: false idempotent: false call: port-community-systems.createvesselcall outputParameters: - type: object mapping: $. - name: getvesselcall description: Get vessel call hints: readOnly: true destructive: false idempotent: true call: port-community-systems.getvesselcall outputParameters: - type: object mapping: $. - name: updatevesselcall description: Update vessel call hints: readOnly: false destructive: false idempotent: true call: port-community-systems.updatevesselcall outputParameters: - type: object mapping: $. - name: submitcargomanifest description: Submit cargo manifest hints: readOnly: false destructive: false idempotent: false call: port-community-systems.submitcargomanifest outputParameters: - type: object mapping: $. - name: getcargomanifest description: Get cargo manifest hints: readOnly: true destructive: false idempotent: true call: port-community-systems.getcargomanifest with: manifestId: tools.manifestId inputParameters: - name: manifestId type: string description: manifestId required: true outputParameters: - type: object mapping: $. - name: submitimportdeclaration description: Submit import customs declaration hints: readOnly: false destructive: false idempotent: false call: port-community-systems.submitimportdeclaration outputParameters: - type: object mapping: $. - name: getcontainer description: Get container status hints: readOnly: true destructive: false idempotent: true call: port-community-systems.getcontainer with: containerId: tools.containerId inputParameters: - name: containerId type: string description: Container number (ISO 6346 format, e.g. MSCU1234567) required: true outputParameters: - type: object mapping: $. - name: submithazardouscargodeclaration description: Submit hazardous goods notification hints: readOnly: false destructive: false idempotent: false call: port-community-systems.submithazardouscargodeclaration outputParameters: - type: object mapping: $. binds: - namespace: env keys: PORT_COMMUNITY_SYSTEMS_TOKEN: PORT_COMMUNITY_SYSTEMS_TOKEN