Documentation
¶
Index ¶
- Constants
- type ComponentToolsetHandler
- type InfrastructureToolsetHandler
- type ListOpts
- type NamespaceToolsetHandler
- type PEToolsetHandler
- type ProjectToolsetHandler
- type RegisterFunc
- type ToolsetType
- type Toolsets
- func (t *Toolsets) Register(s *mcp.Server)
- func (t *Toolsets) RegisterCreateClusterDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterCreateComponent(s *mcp.Server)
- func (t *Toolsets) RegisterCreateComponentRelease(s *mcp.Server)
- func (t *Toolsets) RegisterCreateDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterCreateEnvironment(s *mcp.Server)
- func (t *Toolsets) RegisterCreateNamespace(s *mcp.Server)
- func (t *Toolsets) RegisterCreateProject(s *mcp.Server)
- func (t *Toolsets) RegisterCreateWorkflowRun(s *mcp.Server)
- func (t *Toolsets) RegisterCreateWorkload(s *mcp.Server)
- func (t *Toolsets) RegisterDeployRelease(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterComponentType(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterComponentTypeSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterTrait(s *mcp.Server)
- func (t *Toolsets) RegisterGetClusterTraitSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponent(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentRelease(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentReleaseSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetComponentTypeSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetDataPlane(s *mcp.Server)
- func (t *Toolsets) RegisterGetDeploymentPipeline(s *mcp.Server)
- func (t *Toolsets) RegisterGetEnvironmentRelease(s *mcp.Server)
- func (t *Toolsets) RegisterGetEnvironments(s *mcp.Server)
- func (t *Toolsets) RegisterGetObserverURL(s *mcp.Server)
- func (t *Toolsets) RegisterGetReleaseBinding(s *mcp.Server)
- func (t *Toolsets) RegisterGetTraitSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkflowRun(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkflowSchema(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkload(s *mcp.Server)
- func (t *Toolsets) RegisterGetWorkloadSchema(s *mcp.Server)
- func (t *Toolsets) RegisterListBuildPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterBuildPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterComponentTypes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterDataPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterObservabilityPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListClusterTraits(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentReleases(s *mcp.Server)
- func (t *Toolsets) RegisterListComponentTypes(s *mcp.Server)
- func (t *Toolsets) RegisterListComponents(s *mcp.Server)
- func (t *Toolsets) RegisterListDataPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListDeploymentPipelines(s *mcp.Server)
- func (t *Toolsets) RegisterListEnvironments(s *mcp.Server)
- func (t *Toolsets) RegisterListNamespaces(s *mcp.Server)
- func (t *Toolsets) RegisterListObservabilityPlanes(s *mcp.Server)
- func (t *Toolsets) RegisterListProjects(s *mcp.Server)
- func (t *Toolsets) RegisterListReleaseBindings(s *mcp.Server)
- func (t *Toolsets) RegisterListSecretReferences(s *mcp.Server)
- func (t *Toolsets) RegisterListTraits(s *mcp.Server)
- func (t *Toolsets) RegisterListWorkflowRuns(s *mcp.Server)
- func (t *Toolsets) RegisterListWorkflows(s *mcp.Server)
- func (t *Toolsets) RegisterListWorkloads(s *mcp.Server)
- func (t *Toolsets) RegisterPatchComponent(s *mcp.Server)
- func (t *Toolsets) RegisterPatchReleaseBinding(s *mcp.Server)
- func (t *Toolsets) RegisterPromoteComponent(s *mcp.Server)
- func (t *Toolsets) RegisterTriggerWorkflowRun(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateReleaseBindingState(s *mcp.Server)
- func (t *Toolsets) RegisterUpdateWorkload(s *mcp.Server)
Constants ¶
const DefaultPageSize = 100
DefaultPageSize is the default number of items per page for MCP list operations.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ComponentToolsetHandler ¶
type ComponentToolsetHandler interface {
CreateComponent(
ctx context.Context, namespaceName, projectName string, req *gen.CreateComponentRequest,
) (any, error)
ListComponents(ctx context.Context, namespaceName, projectName string, opts ListOpts) (any, error)
GetComponent(ctx context.Context, namespaceName, componentName string) (any, error)
ListWorkloads(ctx context.Context, namespaceName, componentName string) (any, error)
GetWorkload(ctx context.Context, namespaceName, workloadName string) (any, error)
// Component release operations
ListComponentReleases(ctx context.Context, namespaceName, componentName string, opts ListOpts) (any, error)
CreateComponentRelease(ctx context.Context, namespaceName, componentName, releaseName string) (any, error)
GetComponentRelease(ctx context.Context, namespaceName, releaseName string) (any, error)
// Release binding operations
ListReleaseBindings(ctx context.Context, namespaceName, componentName string, opts ListOpts) (any, error)
GetReleaseBinding(ctx context.Context, namespaceName, bindingName string) (any, error)
PatchReleaseBinding(
ctx context.Context, namespaceName, bindingName string,
req *gen.ReleaseBindingSpec,
) (any, error)
// Deployment operations
DeployRelease(
ctx context.Context, namespaceName, componentName string, req *gen.DeployReleaseRequest,
) (any, error)
PromoteComponent(
ctx context.Context, namespaceName, componentName string, req *gen.PromoteComponentRequest,
) (any, error)
// Workload operations
CreateWorkload(
ctx context.Context, namespaceName, componentName string, workloadSpec interface{},
) (any, error)
UpdateWorkload(
ctx context.Context, namespaceName, workloadName string, workloadSpec interface{},
) (any, error)
GetWorkloadSchema(ctx context.Context) (any, error)
// Schema operations
GetComponentSchema(ctx context.Context, namespaceName, componentName string) (any, error)
// Release operations
GetEnvironmentRelease(
ctx context.Context, namespaceName, componentName, environmentName string,
) (any, error)
// Component patch operations
PatchComponent(
ctx context.Context, namespaceName, componentName string, req *gen.PatchComponentRequest,
) (any, error)
// Release binding state operations
UpdateReleaseBindingState(
ctx context.Context, namespaceName, bindingName string,
state *gen.ReleaseBindingSpecState,
) (any, error)
// Component release schema
GetComponentReleaseSchema(
ctx context.Context, namespaceName, componentName, releaseName string,
) (any, error)
// Workflow run operations scoped by component
TriggerWorkflowRun(
ctx context.Context, namespaceName, projectName, componentName, commit string,
) (any, error)
// ComponentType operations
ListComponentTypes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetComponentTypeSchema(ctx context.Context, namespaceName, ctName string) (any, error)
// Trait operations
ListTraits(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetTraitSchema(ctx context.Context, namespaceName, traitName string) (any, error)
// WorkflowRun operations
CreateWorkflowRun(
ctx context.Context, namespaceName, workflowName string,
parameters map[string]interface{},
) (any, error)
ListWorkflowRuns(
ctx context.Context, namespaceName, projectName, componentName string,
opts ListOpts,
) (any, error)
GetWorkflowRun(ctx context.Context, namespaceName, runName string) (any, error)
// ClusterComponentType operations
ListClusterComponentTypes(ctx context.Context, opts ListOpts) (any, error)
GetClusterComponentType(ctx context.Context, cctName string) (any, error)
GetClusterComponentTypeSchema(ctx context.Context, cctName string) (any, error)
// ClusterTrait operations
ListClusterTraits(ctx context.Context, opts ListOpts) (any, error)
GetClusterTrait(ctx context.Context, ctName string) (any, error)
GetClusterTraitSchema(ctx context.Context, ctName string) (any, error)
// Workflow operations
ListWorkflows(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetWorkflowSchema(ctx context.Context, namespaceName, workflowName string) (any, error)
}
ComponentToolsetHandler handles component operations
type InfrastructureToolsetHandler ¶
type InfrastructureToolsetHandler interface {
// Environment operations
ListEnvironments(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetEnvironment(ctx context.Context, namespaceName, envName string) (any, error)
// DeploymentPipeline operations
GetDeploymentPipeline(ctx context.Context, namespaceName, pipelineName string) (any, error)
ListDeploymentPipelines(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
// Observer URL operations
GetObserverURL(ctx context.Context, namespaceName, envName string) (any, error)
}
InfrastructureToolsetHandler handles infrastructure operations
type ListOpts ¶ added in v0.17.0
type ListOpts struct {
// Limit is the maximum number of items to return per page.
// When 0 or unset, DefaultPageSize is used.
Limit int
// Cursor is an opaque pagination cursor from a previous response.
Cursor string
}
ListOpts holds optional pagination parameters for list operations.
func (ListOpts) EffectiveLimit ¶ added in v0.17.0
EffectiveLimit returns the limit to use, applying DefaultPageSize when unset.
type NamespaceToolsetHandler ¶ added in v0.13.0
type NamespaceToolsetHandler interface {
ListNamespaces(ctx context.Context, opts ListOpts) (any, error)
CreateNamespace(ctx context.Context, req *gen.CreateNamespaceJSONRequestBody) (any, error)
ListSecretReferences(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
}
NamespaceToolsetHandler handles namespace operations
type PEToolsetHandler ¶ added in v0.17.0
type PEToolsetHandler interface {
CreateEnvironment(ctx context.Context, namespaceName string, req *gen.CreateEnvironmentJSONRequestBody) (any, error)
// DataPlane operations
ListDataPlanes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
GetDataPlane(ctx context.Context, namespaceName, dpName string) (any, error)
CreateDataPlane(ctx context.Context, namespaceName string, req *gen.CreateDataPlaneJSONRequestBody) (any, error)
// ObservabilityPlane operations
ListObservabilityPlanes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
// BuildPlane operations
ListBuildPlanes(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
// ClusterDataPlane operations
ListClusterDataPlanes(ctx context.Context, opts ListOpts) (any, error)
GetClusterDataPlane(ctx context.Context, cdpName string) (any, error)
CreateClusterDataPlane(ctx context.Context, req *gen.CreateClusterDataPlaneJSONRequestBody) (any, error)
// ClusterBuildPlane operations
ListClusterBuildPlanes(ctx context.Context, opts ListOpts) (any, error)
// ClusterObservabilityPlane operations
ListClusterObservabilityPlanes(ctx context.Context, opts ListOpts) (any, error)
}
PEToolsetHandler handles platform engineering operations on openchoreo
type ProjectToolsetHandler ¶
type ProjectToolsetHandler interface {
// Project operations
ListProjects(ctx context.Context, namespaceName string, opts ListOpts) (any, error)
CreateProject(ctx context.Context, namespaceName string, req *gen.CreateProjectJSONRequestBody) (any, error)
}
ProjectToolsetHandler handles project operations
type RegisterFunc ¶
RegisterFunc is a function type for registering MCP tools
type ToolsetType ¶
type ToolsetType string
ToolsetType represents a type of toolset that can be enabled
const ( ToolsetNamespace ToolsetType = "namespace" ToolsetProject ToolsetType = "project" ToolsetComponent ToolsetType = "component" ToolsetInfrastructure ToolsetType = "infrastructure" ToolsetPE ToolsetType = "pe" )
type Toolsets ¶
type Toolsets struct {
NamespaceToolset NamespaceToolsetHandler
ProjectToolset ProjectToolsetHandler
ComponentToolset ComponentToolsetHandler
InfrastructureToolset InfrastructureToolsetHandler
PEToolset PEToolsetHandler
}
func (*Toolsets) RegisterCreateClusterDataPlane ¶ added in v0.15.0
func (*Toolsets) RegisterCreateComponent ¶
func (*Toolsets) RegisterCreateComponentRelease ¶
func (*Toolsets) RegisterCreateDataPlane ¶
func (*Toolsets) RegisterCreateEnvironment ¶
func (*Toolsets) RegisterCreateNamespace ¶ added in v0.13.0
func (*Toolsets) RegisterCreateProject ¶
func (*Toolsets) RegisterCreateWorkflowRun ¶ added in v0.17.0
func (*Toolsets) RegisterCreateWorkload ¶
func (*Toolsets) RegisterDeployRelease ¶
func (*Toolsets) RegisterGetClusterComponentType ¶ added in v0.16.0
RegisterGetClusterComponentType registers the "get_cluster_component_type" MCP tool which returns detailed information about a specific cluster-scoped component type.
func (*Toolsets) RegisterGetClusterComponentTypeSchema ¶ added in v0.16.0
RegisterGetClusterComponentTypeSchema registers the "get_cluster_component_type_schema" MCP tool which returns the JSON schema for a specific cluster-scoped component type.
func (*Toolsets) RegisterGetClusterDataPlane ¶ added in v0.15.0
RegisterGetClusterDataPlane registers the "get_cluster_dataplane" MCP tool which returns detailed information about a specific cluster-scoped data plane including cluster details, capacity, health status, and network configuration. Requires a "cdp_name" parameter (discoverable via list_cluster_dataplanes). Only registered when InfrastructureToolset also implements ClusterPlaneHandler; otherwise it is a no-op. Added in v0.12.0 (non-breaking, additive).
func (*Toolsets) RegisterGetClusterTrait ¶ added in v0.16.0
RegisterGetClusterTrait registers the "get_cluster_trait" MCP tool which returns detailed information about a specific cluster-scoped trait.
func (*Toolsets) RegisterGetClusterTraitSchema ¶ added in v0.16.0
RegisterGetClusterTraitSchema registers the "get_cluster_trait_schema" MCP tool which returns the JSON schema for a specific cluster-scoped trait.
func (*Toolsets) RegisterGetComponent ¶
func (*Toolsets) RegisterGetComponentRelease ¶
func (*Toolsets) RegisterGetComponentReleaseSchema ¶
func (*Toolsets) RegisterGetComponentSchema ¶
func (*Toolsets) RegisterGetComponentTypeSchema ¶
func (*Toolsets) RegisterGetDataPlane ¶
func (*Toolsets) RegisterGetDeploymentPipeline ¶
func (*Toolsets) RegisterGetEnvironmentRelease ¶ added in v0.9.0
func (*Toolsets) RegisterGetEnvironments ¶
func (*Toolsets) RegisterGetObserverURL ¶ added in v0.17.0
func (*Toolsets) RegisterGetReleaseBinding ¶ added in v0.17.0
func (*Toolsets) RegisterGetTraitSchema ¶
func (*Toolsets) RegisterGetWorkflowRun ¶ added in v0.17.0
func (*Toolsets) RegisterGetWorkflowSchema ¶
func (*Toolsets) RegisterGetWorkload ¶ added in v0.17.0
func (*Toolsets) RegisterGetWorkloadSchema ¶ added in v0.17.0
func (*Toolsets) RegisterListBuildPlanes ¶
func (*Toolsets) RegisterListClusterBuildPlanes ¶ added in v0.15.0
func (*Toolsets) RegisterListClusterComponentTypes ¶ added in v0.16.0
RegisterListClusterComponentTypes registers the "list_cluster_component_types" MCP tool which lists all cluster-scoped component types (shared templates managed by platform admins, not scoped to any namespace).
func (*Toolsets) RegisterListClusterDataPlanes ¶ added in v0.15.0
RegisterListClusterDataPlanes registers the "list_cluster_dataplanes" MCP tool which lists all cluster-scoped data planes (shared infrastructure managed by platform admins, not scoped to any namespace). This tool is only registered when InfrastructureToolset also implements ClusterPlaneHandler; otherwise it is a no-op. Added in v0.12.0 (non-breaking, additive).
func (*Toolsets) RegisterListClusterObservabilityPlanes ¶ added in v0.15.0
func (*Toolsets) RegisterListClusterTraits ¶ added in v0.16.0
RegisterListClusterTraits registers the "list_cluster_traits" MCP tool which lists all cluster-scoped traits (shared trait definitions managed by platform admins, not scoped to any namespace).