Documentation
¶
Index ¶
- Constants
- func ValidateGroup(group *GroupConfig) error
- func ValidateGroups(groups []GroupConfig, backendIDs []string) error
- func ValidateTool(groupID string, tool *ToolConfig) error
- type Definition
- type GroupConfig
- type Manager
- func (m *Manager) AllScopes() []string
- func (m *Manager) AllowedProfile(scopes []string) ([]string, []string)
- func (m *Manager) Call(ctx context.Context, groupID, toolName string, arguments json.RawMessage) (*mcp.CallToolResult, error)
- func (m *Manager) Close()
- func (m *Manager) Definitions(id string) map[string]Definition
- func (m *Manager) IDs() []string
- func (m *Manager) MissingScopes(id string, scopes []string) ([]string, bool)
- func (m *Manager) StatusDetails() map[string]StatusDetail
- type Parameter
- type StatusDetail
- type ToolConfig
Constants ¶
View Source
const ( DefaultMaxResponseBytes = int64(1 << 20) MinMaxResponseBytes = int64(64 << 10) MaxMaxResponseBytes = int64(16 << 20) )
Variables ¶
This section is empty.
Functions ¶
func ValidateGroup ¶
func ValidateGroup(group *GroupConfig) error
func ValidateGroups ¶
func ValidateGroups(groups []GroupConfig, backendIDs []string) error
func ValidateTool ¶
func ValidateTool(groupID string, tool *ToolConfig) error
Types ¶
type Definition ¶
type GroupConfig ¶
type GroupConfig struct {
ID string `json:"id"`
BaseURL string `json:"base_url"`
Enabled bool `json:"enabled"`
RequiredScopes []string `json:"required_scopes"`
ToolRules []config.ToolRule `json:"tool_rules"`
RequestTimeout time.Duration `json:"request_timeout_ns"`
MaxResponseBodyBytes int64 `json:"max_response_body_bytes"`
Headers map[string]string `json:"headers"`
OAuth *config.OAuthConfig `json:"oauth,omitempty"`
Tools []ToolConfig `json:"tools"`
}
func (GroupConfig) RequiredToolScopes ¶
func (group GroupConfig) RequiredToolScopes(name string) []string
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func (*Manager) AllowedProfile ¶
func (*Manager) Call ¶
func (m *Manager) Call(ctx context.Context, groupID, toolName string, arguments json.RawMessage) (*mcp.CallToolResult, error)
func (*Manager) Definitions ¶
func (m *Manager) Definitions(id string) map[string]Definition
func (*Manager) MissingScopes ¶
func (*Manager) StatusDetails ¶
func (m *Manager) StatusDetails() map[string]StatusDetail
type StatusDetail ¶
type ToolConfig ¶
type ToolConfig struct {
Name string `json:"name"`
Description string `json:"description"`
Enabled bool `json:"enabled"`
Method string `json:"method"`
Path string `json:"path"`
Parameters []Parameter `json:"parameters"`
BodySchema map[string]any `json:"body_schema,omitempty"`
BodyRequired bool `json:"body_required"`
OutputSchema map[string]any `json:"output_schema,omitempty"`
Origin string `json:"origin"`
ImportID string `json:"import_id,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.