naftiko: 1.0.0-alpha2
info:
label: MarineTraffic Search Vessel
description: MarineTraffic Search Vessel. 2 operations. Self-contained Naftiko capability covering one MarineTraffic AIS
business surface.
tags:
- MarineTraffic
- AIS
- Maritime
created: '2026-05-25'
modified: '2026-05-25'
binds:
- namespace: env
keys:
MARINETRAFFIC_API_KEY: MARINETRAFFIC_API_KEY
capability:
consumes:
- type: http
namespace: vessels-data-search
baseUri: https://services.marinetraffic.com/api
description: Search the ship database by identifier or by name.
resources:
- name: shipsearch-api_key
path: /shipsearch/{api_key}
operations:
- name: shipsearch
method: GET
description: Search Vessel by Identifier
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: shipid
in: query
type: integer
description: A uniquely assigned ID by MarineTraffic for the subject vessel You can instead use mmsi
or imo
required: true
- name: mmsi
in: query
type: integer
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track NOTE:
Using MMSI may potentially return multiple records as multiple vessels might have transponded the same MMSI
required: false
- name: imo
in: query
type: integer
description: The International Maritime Organization (IMO) number of the vessel you wish to track NOTE:
Using IMO may potentially return multiple records as multiple vessels might have transponded the same IMO
required: false
- name: shiptype
in: query
type: integer
description: 'Filter data by vessel type:
'
required: false
- name: type_name_id
in: query
type: integer
description: 'Data filter: AIS Shiptype Find more information here'
required: false
- name: protocol
in: query
type: string
description: 'Response type. Use one of the following: '
required: false
- name: shipsearch-api_key-2
path: /shipsearch/{api_key}
operations:
- name: shipsearch_
method: GET
description: Search Vessel by Name
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: shipname
in: query
type: string
description: The vessel name. The results will contain all vessels whose name is like the given words
required: true
- name: shiptype
in: query
type: integer
description: 'Filter data by vessel type: '
required: false
- name: type_name_id
in: query
type: integer
description: 'Data filter: AIS Shiptype Find more information here'
required: false
- name: protocol
in: query
type: string
description: 'Response type. Use one of the following: '
required: false
authentication:
type: apikey
key: api_key
value: '{{env.MARINETRAFFIC_API_KEY}}'
placement: path
exposes:
- type: rest
namespace: vessels-data-search-rest
port: 8080
description: REST adapter for MarineTraffic Search Vessel. One resource per consumed operation.
resources:
- path: /v1/shipsearch
name: shipsearch-api_key
description: REST surface for shipsearch-api_key.
operations:
- method: GET
name: shipsearch
description: Search Vessel by Identifier
call: vessels-data-search.shipsearch
with:
shipid: rest.query.shipid
mmsi: rest.query.mmsi
imo: rest.query.imo
shiptype: rest.query.shiptype
type_name_id: rest.query.type_name_id
protocol: rest.query.protocol
outputParameters:
- type: object
mapping: $.
- path: /v1/shipsearch
name: shipsearch-api_key-2
description: REST surface for shipsearch-api_key-2.
operations:
- method: GET
name: shipsearch_
description: Search Vessel by Name
call: vessels-data-search.shipsearch_
with:
shipname: rest.query.shipname
shiptype: rest.query.shiptype
type_name_id: rest.query.type_name_id
protocol: rest.query.protocol
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: vessels-data-search-mcp
port: 9090
transport: http
description: MCP adapter for MarineTraffic Search Vessel. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: marinetraffic-shipsearch
description: Search Vessel by Identifier
hints:
readOnly: true
destructive: false
idempotent: true
call: vessels-data-search.shipsearch
with:
shipid: tools.shipid
mmsi: tools.mmsi
imo: tools.imo
shiptype: tools.shiptype
type_name_id: tools.type_name_id
protocol: tools.protocol
outputParameters:
- type: object
mapping: $.
- name: marinetraffic-shipsearch_
description: Search Vessel by Name
hints:
readOnly: true
destructive: false
idempotent: true
call: vessels-data-search.shipsearch_
with:
shipname: tools.shipname
shiptype: tools.shiptype
type_name_id: tools.type_name_id
protocol: tools.protocol
outputParameters:
- type: object
mapping: $.