Skip to content

Commit be5f7d5

Browse files
committed
update README and USER_GUILD
Signed-off-by: Akihiko Kuroda <[email protected]>
1 parent 167ad89 commit be5f7d5

File tree

2 files changed

+93
-0
lines changed

2 files changed

+93
-0
lines changed

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1220,6 +1220,52 @@ spec:
12201220
./maestro workflow deploy agent-config.yaml workflow-config.yaml --dry-run
12211221
```
12221222

1223+
## Tool Management
1224+
1225+
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+
12231269
## Custom Resource Management
12241270

12251271
The CLI provides commands for creating Kubernetes custom resources:

docs/USER_GUIDE.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Welcome to the Maestro CLI! This guide will help you get started with managing v
1313
- [Document Management](#document-management)
1414
- [Agent Management](#agent-management)
1515
- [Workflow Management](#workflow-management)
16+
- [Tool Management](#tool-management)
1617
- [Custom Resource Management](#custom-resource-management)
1718
- [Mermaid Diagram Generation](#mermaid-diagram-generation)
1819
- [Validation](#validation)
@@ -357,6 +358,52 @@ spec:
357358
./maestro workflow deploy agent-config.yaml workflow-config.yaml --dry-run
358359
```
359360

361+
## Tool Management
362+
363+
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+
360407
## Custom Resource Management
361408

362409
The Maestro CLI provides commands for creating Kubernetes custom resources for agents and workflows.

0 commit comments

Comments
 (0)