Skip to content

Commit 855c63f

Browse files
committed
Add Domains and Systems (#390)
1 parent 5e22449 commit 855c63f

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

src/cmd/mcp.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,38 @@ var mcpCmd = &cobra.Command{
135135
panic(err)
136136
}
137137

138+
// Register Domains
139+
if err := server.RegisterTool("domains", "Get all the domains in the opslevel account. Domains are objects in opslevel that represent a top-level abstraction used to organize and categorize software systems.", func(args NullArguments) (*mcp_golang.ToolResponse, error) {
140+
client := getClientGQL()
141+
resp, err := client.ListDomains(nil)
142+
if err != nil {
143+
return nil, err
144+
}
145+
data, err := json.Marshal(resp.Nodes)
146+
if err != nil {
147+
return nil, err
148+
}
149+
return mcp_golang.NewToolResponse(mcp_golang.NewTextContent(string(data))), nil
150+
}); err != nil {
151+
panic(err)
152+
}
153+
154+
// Register Systems
155+
if err := server.RegisterTool("systems", "Get all the systems in the opslevel account. Systems are objects in opslevel that represent a grouping of services or components that act together to serve a business function or process.", func(args NullArguments) (*mcp_golang.ToolResponse, error) {
156+
client := getClientGQL()
157+
resp, err := client.ListSystems(nil)
158+
if err != nil {
159+
return nil, err
160+
}
161+
data, err := json.Marshal(resp.Nodes)
162+
if err != nil {
163+
return nil, err
164+
}
165+
return mcp_golang.NewToolResponse(mcp_golang.NewTextContent(string(data))), nil
166+
}); err != nil {
167+
panic(err)
168+
}
169+
138170
if err := server.Serve(); err != nil {
139171
panic(err)
140172
}

0 commit comments

Comments
 (0)