-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathstep-5-shipyard-multi-source.yml
More file actions
133 lines (129 loc) · 4.28 KB
/
step-5-shipyard-multi-source.yml
File metadata and controls
133 lines (129 loc) · 4.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
---
naftiko: "1.0.0-alpha2"
binds:
- namespace: "registry-env"
description: "Maritime Registry API credentials and config."
location: "file:///./shared/secrets.yaml"
keys:
REGISTRY_TOKEN: "registry-bearer-token"
REGISTRY_VERSION: "registry-api-version"
- namespace: "dockyard-env"
description: "Legacy Dockyard API credentials."
location: "file:///./shared/secrets.yaml"
keys:
DOCKYARD_API_KEY: "dockyard-api-key"
capability:
consumes:
- import: registry
location: "./shared/step5-registry-consumes.yaml"
- import: legacy
location: "./shared/legacy-consumes.yaml"
exposes:
- type: mcp
address: "0.0.0.0" # Needed in Docker context. Permits to access the MCP with localhost from outside the container.
port: 3001
namespace: shipyard-tools
description: "Shipyard MCP tools for fleet management"
tools:
- name: list-ships
description: "List ships in the shipyard, optionally filtered by status"
inputParameters:
- name: status
type: string
required: false
description: "Filter by operational status"
call: registry.list-ships
with:
status: shipyard-tools.status
outputParameters:
- type: array
mapping: "$."
items:
type: object
properties:
imo:
type: string
mapping: "$.imo_number"
name:
type: string
mapping: "$.vessel_name"
type:
type: string
mapping: "$.vessel_type"
flag:
type: string
mapping: "$.flag_code"
status:
type: string
mapping: "$.operational_status"
- name: get-ship
description: "Retrieve a ship's details by IMO number"
inputParameters:
- name: imo
type: string
required: true
description: "IMO number of the ship"
call: registry.get-ship
with:
imo_number: "{{imo}}"
outputParameters:
- type: object
properties:
imo:
type: string
mapping: "$.imo_number"
name:
type: string
mapping: "$.vessel_name"
type:
type: string
mapping: "$.vessel_type"
flag:
type: string
mapping: "$.flag_code"
status:
type: string
mapping: "$.operational_status"
specs:
type: object
properties:
yearBuilt:
type: number
mapping: "$.year_built"
tonnage:
type: number
mapping: "$.gross_tonnage"
length:
type: number
mapping: "$.dimensions.length_overall"
- name: list-legacy-vessels
description: "List vessels from the legacy Dockyard, optionally filtered by status"
inputParameters:
- name: status
type: string
required: false
description: "Filter by operational status (active, laid_up, scrapped)"
call: legacy.list-vessels
with:
status: shipyard-tools.status
outputParameters:
- type: array
mapping: "$."
items:
type: object
properties:
vesselCode:
type: string
mapping: "$.vesselCode"
name:
type: string
mapping: "$.vesselName"
type:
type: string
mapping: "$.category"
flag:
type: string
mapping: "$.flagState"
status:
type: string
mapping: "$.operationalStatus"