Documentation
¶
Overview ¶
Package mcp provides an MCP (Model Context Protocol) server that exposes Pacto contract operations as tools for AI agents.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CheckResult ¶ added in v0.31.0
type CheckResult struct {
Valid bool `json:"valid"`
Summary ContractSummary `json:"summary"`
Errors []ValidationItem `json:"errors,omitempty"`
Warnings []ValidationItem `json:"warnings,omitempty"`
Suggestions []Suggestion `json:"suggestions,omitempty"`
}
CheckResult holds the result of a check operation.
func Check ¶ added in v0.31.0
func Check(path string) (*CheckResult, error)
Check validates an existing contract and returns structured results.
type ConfigProperty ¶ added in v0.31.0
type ConfigProperty struct {
Name string `json:"name"`
Type string `json:"type"`
Required bool `json:"required,omitempty"`
}
ConfigProperty describes a configuration property.
type ContractSummary ¶ added in v0.31.0
type ContractSummary struct {
Name string `json:"name"`
Version string `json:"version"`
Owner string `json:"owner,omitempty"`
Interfaces []string `json:"interfaces,omitempty"`
Dependencies []string `json:"dependencies,omitempty"`
Workload string `json:"workload,omitempty"`
StateType string `json:"stateType,omitempty"`
Sections map[string]string `json:"sections"`
}
ContractSummary provides a high-level overview of a contract.
type CreateInput ¶ added in v0.31.0
type CreateInput struct {
Path string
Name string
Description string
Version string
Owner string
Interfaces []InterfaceInput
Dependencies []DependencyInput
Workload string
StoresData bool
DataSurvivesRestart bool
DataLossImpact string
ConfigProperties []ConfigProperty
Replicas *int
MinReplicas *int
MaxReplicas *int
Metadata map[string]interface{}
DryRun bool
}
CreateInput holds the parameters for creating a new contract.
type CreateResult ¶ added in v0.31.0
type CreateResult struct {
Path string `json:"path"`
Summary ContractSummary `json:"summary"`
Derived []string `json:"derived"`
FileCount int `json:"fileCount"`
}
CreateResult holds the result of a create operation.
func Create ¶ added in v0.31.0
func Create(input CreateInput) (*CreateResult, error)
Create builds a new pacto contract from structured input.
type DependencyInput ¶ added in v0.31.0
type DependencyInput struct {
Name string `json:"name"`
Ref string `json:"ref"`
Required bool `json:"required,omitempty"`
Compatibility string `json:"compatibility,omitempty"`
}
DependencyInput describes a dependency to add.
type EditInput ¶ added in v0.31.0
type EditInput struct {
Path string
Name *string
Version *string
Owner *string
AddInterfaces []InterfaceInput
RemoveInterfaces []string
AddDependencies []DependencyInput
RemoveDeps []string
Workload *string
StoresData *bool
DataSurvivesRestart *bool
DataLossImpact *string
AddConfigProperties []ConfigProperty
Replicas *int
MinReplicas *int
MaxReplicas *int
SetMetadata map[string]interface{}
RemoveMetadata []string
DryRun bool
}
EditInput holds the parameters for editing an existing contract.
type EditResult ¶ added in v0.31.0
type EditResult struct {
Path string `json:"path"`
Summary ContractSummary `json:"summary"`
Changes []string `json:"changes"`
}
EditResult holds the result of an edit operation.
func Edit ¶ added in v0.31.0
func Edit(input EditInput) (*EditResult, error)
Edit modifies an existing pacto contract.
type InterfaceInput ¶ added in v0.31.0
type InterfaceInput struct {
Name string `json:"name"`
Type string `json:"type"`
Port *int `json:"port,omitempty"`
Visibility string `json:"visibility,omitempty"`
}
InterfaceInput describes an interface to add.
type Suggestion ¶ added in v0.31.0
type Suggestion struct {
Message string `json:"message"`
ToolCall *ToolCall `json:"toolCall,omitempty"`
}
Suggestion represents an improvement suggestion with an optional tool call.
type ValidationItem ¶ added in v0.31.0
type ValidationItem struct {
Path string `json:"path"`
Code string `json:"code"`
Message string `json:"message"`
}
ValidationItem represents a single validation error or warning.