Documentation
¶
Index ¶
- Constants
- Variables
- func ApprovalRuleRank(value MCPApprovalRule) int
- func EffectiveToolConstraints(value MCPPolicy, toolName string, discoveredApproval MCPApprovalRule, ...) (MCPApprovalRule, MCPExecutionMode)
- func EffectiveToolPolicy(value MCPPolicy, toolName string) (MCPApprovalRule, MCPExecutionMode, MCPToolPolicyOverride, bool)
- func ExecutionModeRank(value MCPExecutionMode) int
- func InferToolRisk(hints ToolRiskHints, trustLevel MCPTrustLevel) string
- type Composition
- type Effective
- type MCPApprovalRule
- type MCPAppsPolicy
- type MCPExecutionMode
- type MCPPolicy
- type MCPServerPolicy
- type MCPToolPolicyOverride
- type MCPTrustLevel
- type ToolDecision
- type ToolEvaluation
- type ToolEvaluationInput
- type ToolRiskHints
Constants ¶
View Source
const ( ToolDigestChangedReason = "tool digest changed" ToolPolicyDeniesReason = "server/tool policy denies this tool" PolicyAllowedReason = "policy allowed" )
Variables ¶
View Source
var ErrInvalid = errors.New("invalid MCP policy")
Functions ¶
func ApprovalRuleRank ¶
func ApprovalRuleRank(value MCPApprovalRule) int
func EffectiveToolConstraints ¶
func EffectiveToolConstraints( value MCPPolicy, toolName string, discoveredApproval MCPApprovalRule, discoveredExecution MCPExecutionMode, ) (MCPApprovalRule, MCPExecutionMode)
func EffectiveToolPolicy ¶
func EffectiveToolPolicy( value MCPPolicy, toolName string, ) ( MCPApprovalRule, MCPExecutionMode, MCPToolPolicyOverride, bool, )
func ExecutionModeRank ¶
func ExecutionModeRank(value MCPExecutionMode) int
func InferToolRisk ¶
func InferToolRisk( hints ToolRiskHints, trustLevel MCPTrustLevel, ) string
Types ¶
type Composition ¶
func ComposeMCPPolicy ¶
func ComposeMCPPolicy( baseline MCPPolicy, policies ...MCPPolicy, ) (Composition, error)
func ComposePolicies ¶ added in v0.2.21
func ComposePolicies( baseline MCPPolicy, policies ...MCPPolicy, ) (Composition, error)
ComposePolicies exists only as the composition boundary for callers that require the conflict set without calculating an Effective digest.
type Effective ¶
type Effective struct {
Body MCPPolicy `json:"body"`
Conflicts map[string]string `json:"conflicts,omitempty"`
Digest cryptoutil.Digest `json:"digest"`
}
type MCPApprovalRule ¶
type MCPApprovalRule string
const ( MCPApprovalRuleAsk MCPApprovalRule = "ask" MCPApprovalRuleAllow MCPApprovalRule = "allow" MCPApprovalRuleDeny MCPApprovalRule = "deny" )
func NormalizedApprovalRule ¶
func NormalizedApprovalRule(value MCPApprovalRule) MCPApprovalRule
func (MCPApprovalRule) Validate ¶ added in v0.2.21
func (value MCPApprovalRule) Validate() error
type MCPAppsPolicy ¶
type MCPAppsPolicy struct {
Enabled bool `json:"enabled"`
AllowAppInitiatedToolCalls bool `json:"allowAppInitiatedToolCalls"`
RequireApprovalForOpenLink bool `json:"requireApprovalForOpenLink"`
RequireApprovalForContextUpdates bool `json:"requireApprovalForContextUpdates"`
}
func DefaultMCPAppsPolicy ¶
func DefaultMCPAppsPolicy() MCPAppsPolicy
type MCPExecutionMode ¶
type MCPExecutionMode string
const ( MCPExecutionModeManual MCPExecutionMode = "manual" MCPExecutionModeAuto MCPExecutionMode = "auto" )
func NormalizedExecutionMode ¶
func NormalizedExecutionMode(value MCPExecutionMode) MCPExecutionMode
func (MCPExecutionMode) Validate ¶ added in v0.2.21
func (value MCPExecutionMode) Validate() error
type MCPPolicy ¶
type MCPPolicy struct {
TrustLevel MCPTrustLevel `json:"trustLevel"`
DefaultPolicy MCPServerPolicy `json:"defaultPolicy"`
ToolPolicies map[string]MCPToolPolicyOverride `json:"toolPolicies,omitempty"`
AppsPolicy MCPAppsPolicy `json:"appsPolicy"`
}
func TightenToolPolicy ¶
func TightenToolPolicy( value MCPPolicy, toolName string, currentApproval MCPApprovalRule, currentExecution MCPExecutionMode, mappedApproval MCPApprovalRule, mappedExecution MCPExecutionMode, ) (MCPPolicy, error)
type MCPServerPolicy ¶
type MCPServerPolicy struct {
DefaultApprovalRule MCPApprovalRule `json:"defaultApprovalRule"`
DefaultExecutionMode MCPExecutionMode `json:"defaultExecutionMode"`
RequireApprovalForUnknownRisk bool `json:"requireApprovalForUnknownRisk"`
RequireApprovalForWrite bool `json:"requireApprovalForWrite"`
RequireApprovalForDestructive bool `json:"requireApprovalForDestructive"`
}
func DefaultMCPServerPolicy ¶
func DefaultMCPServerPolicy() MCPServerPolicy
func (MCPServerPolicy) Validate ¶ added in v0.2.21
func (value MCPServerPolicy) Validate() error
type MCPToolPolicyOverride ¶
type MCPToolPolicyOverride struct {
ToolName string `json:"toolName"`
ApprovalRule *MCPApprovalRule `json:"approvalRule,omitempty"`
ExecutionMode *MCPExecutionMode `json:"executionMode,omitempty"`
AllowStaleDigest bool `json:"allowStaleDigest,omitempty"`
ExpectedDigest string `json:"expectedDigest,omitempty"`
}
func (MCPToolPolicyOverride) Validate ¶ added in v0.2.21
func (value MCPToolPolicyOverride) Validate() error
type MCPTrustLevel ¶
type MCPTrustLevel string
const ( MCPTrustLevelUntrusted MCPTrustLevel = "untrusted" MCPTrustLevelTrusted MCPTrustLevel = "trusted" )
func (MCPTrustLevel) Validate ¶ added in v0.2.21
func (value MCPTrustLevel) Validate() error
type ToolDecision ¶
type ToolDecision string
const ( ToolDecisionAllowed ToolDecision = "allowed" ToolDecisionDenied ToolDecision = "denied" ToolDecisionApprovalRequired ToolDecision = "approvalRequired" )
type ToolEvaluation ¶
type ToolEvaluation struct {
Decision ToolDecision
Reason string
}
func EvaluateTool ¶
func EvaluateTool( value MCPPolicy, input ToolEvaluationInput, ) ToolEvaluation
type ToolEvaluationInput ¶
type ToolEvaluationInput struct {
Enabled bool
TaskSupportRequired bool
ToolDigest string
RequestedToolDigest string
ExpectedDigest string
AllowStaleDigest bool
Risk string
ApprovalRule MCPApprovalRule
ExecutionMode MCPExecutionMode
Source string
}
type ToolRiskHints ¶
Click to show internal directories.
Click to hide internal directories.