You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Maestro CLI provides commands for creating Tools for agents.
1226
+
1227
+
### Create Tool
1228
+
1229
+
```bash
1230
+
# Create tool from YAML
1231
+
./maestro tool create tool-config.yaml
1232
+
1233
+
# Test without creating (dry run)
1234
+
./maestro tool create tool-config.yaml --dry-run
1235
+
```
1236
+
1237
+
The command automatically:
1238
+
- Sets the API version to `maestro.ai4quantum.com/v1alpha1`
1239
+
- Sanitizes resource names for Kubernetes compatibility
1240
+
- Processes workflow-specific fields for proper deployment
1241
+
1242
+
### Tool Examples
1243
+
Tool example defined in yaml format is:
1244
+
```yaml
1245
+
apiVersion: maestro/v1alpha1
1246
+
kind: MCPTool
1247
+
metadata:
1248
+
name: fetch
1249
+
namespace: default
1250
+
spec:
1251
+
image: ghcr.io/stackloklabs/gofetch/server:latest
1252
+
transport: streamable-http
1253
+
```
1254
+
The syntax of the agent definition is defined in the [json schema](https://github.com/AI4quantum/maestro/blob/main/schemas/tool_schema.json).
1255
+
The schema is same as ToolHive CRD definition except `apiVersion` and `kind`.
1256
+
Maestro deploy MCP servers for the defined tools. The available tools are listed by [ToolHive `thv list`](https://docs.stacklok.com/toolhive/reference/cli/thv_list) command.
1257
+
1258
+
- **apiVersion**: version of agent definition format. This must be `maestro/v1alpha1` now.
1259
+
- **kind**: type of object. `MCPTool` for agent definition
1260
+
- **metadata**:
1261
+
- **name**: name of tool
1262
+
- **labels**: array of key, value pairs. This is optional and can be used to associate any information to this agent
1263
+
- **spec**:
1264
+
- **image**: Image is the container image for the MCP server. The image location is in [`thv registry info [server] [flags]`](https://docs.stacklok.com/toolhive/reference/cli/thv_registry_info) output
1265
+
- **transport**: Transport is the transport method for the MCP server (stdio, streamable-http, sse)
1266
+
1267
+
The full schema is documeted in [ToolHive Docs](https://docs.stacklok.com/toolhive/reference/crd-spec)
1268
+
1223
1269
## Custom Resource Management
1224
1270
1225
1271
The CLI provides commands for creating Kubernetes custom resources:
The Maestro CLI provides commands for creating Tools for agents.
364
+
365
+
### Create Tool
366
+
367
+
```bash
368
+
# Create tool from YAML
369
+
./maestro tool create tool-config.yaml
370
+
371
+
# Test without creating (dry run)
372
+
./maestro tool create tool-config.yaml --dry-run
373
+
```
374
+
375
+
The command automatically:
376
+
- Sets the API version to `maestro.ai4quantum.com/v1alpha1`
377
+
- Sanitizes resource names for Kubernetes compatibility
378
+
- Processes workflow-specific fields for proper deployment
379
+
380
+
### Tool Examples
381
+
Tool example defined in yaml format is:
382
+
```yaml
383
+
apiVersion: maestro/v1alpha1
384
+
kind: MCPTool
385
+
metadata:
386
+
name: fetch
387
+
namespace: default
388
+
spec:
389
+
image: ghcr.io/stackloklabs/gofetch/server:latest
390
+
transport: streamable-http
391
+
```
392
+
The syntax of the agent definition is defined in the [json schema](https://github.com/AI4quantum/maestro/blob/main/schemas/tool_schema.json).
393
+
The schema is same as ToolHive CRD definition except `apiVersion` and `kind`.
394
+
Maestro deploy MCP servers for the defined tools. The available tools are listed by [ToolHive `thv list`](https://docs.stacklok.com/toolhive/reference/cli/thv_list) command.
395
+
396
+
- **apiVersion**: version of agent definition format. This must be `maestro/v1alpha1` now.
397
+
- **kind**: type of object. `MCPTool` for agent definition
398
+
- **metadata**:
399
+
- **name**: name of tool
400
+
- **labels**: array of key, value pairs. This is optional and can be used to associate any information to this agent
401
+
- **spec**:
402
+
- **image**: Image is the container image for the MCP server. The image location is in [`thv registry info [server] [flags]`](https://docs.stacklok.com/toolhive/reference/cli/thv_registry_info) output
403
+
- **transport**: Transport is the transport method for the MCP server (stdio, streamable-http, sse)
404
+
405
+
The full schema is documeted in [ToolHive Docs](https://docs.stacklok.com/toolhive/reference/crd-spec)
406
+
360
407
## Custom Resource Management
361
408
362
409
The Maestro CLI provides commands for creating Kubernetes custom resources for agents and workflows.
0 commit comments