Documentation
¶
Index ¶
- Variables
- func GetCallToolRequest(ctx context.Context) (*mcp.CallToolRequest, bool)
- func GetCollibraHost(ctx context.Context) (string, bool)
- func GetInitParams(ctx context.Context) (*mcp.InitializeParams, bool)
- func GetSessionId(ctx context.Context) string
- func Ptr[T any](v T) *T
- func RegisterTool[In, Out any](s *Server, tool *Tool[In, Out])
- func SetCallToolRequest(ctx context.Context, toolRequest *mcp.CallToolRequest) context.Context
- func SetCollibraHost(ctx context.Context, collibraHost string) context.Context
- func SetInitParams(ctx context.Context, params *mcp.InitializeParams) context.Context
- type CallToolFunc
- type CollibraClient
- type Server
- type ServerOption
- type ServerToolConfig
- type Tool
- type ToolHandlerFunc
- type ToolMetadata
- type ToolMiddleware
- type ToolMiddlewareFunc
Constants ¶
This section is empty.
Variables ¶
var Version = "0.0.0-SNAPSHOT"
Functions ¶
func GetCallToolRequest ¶
func GetCallToolRequest(ctx context.Context) (*mcp.CallToolRequest, bool)
func GetInitParams ¶ added in v0.0.35
func GetInitParams(ctx context.Context) (*mcp.InitializeParams, bool)
func GetSessionId ¶
func RegisterTool ¶ added in v0.0.19
func SetCallToolRequest ¶ added in v0.0.19
func SetCollibraHost ¶ added in v0.0.22
func SetInitParams ¶ added in v0.0.35
Types ¶
type CallToolFunc ¶ added in v0.0.21
type CallToolFunc func(context.Context, *mcp.CallToolRequest) (*mcp.CallToolResult, error)
type CollibraClient ¶
type CollibraClient struct {
// contains filtered or unexported fields
}
func NewCollibraClient ¶
func NewCollibraClient(transport http.RoundTripper) *CollibraClient
type Server ¶ added in v0.0.19
func NewServer ¶ added in v0.0.19
func NewServer(opts ...ServerOption) *Server
func (*Server) GetToolMetadata ¶ added in v0.0.24
func (s *Server) GetToolMetadata(toolName string) *ToolMetadata
GetToolMetadata returns the metadata for a given tool
type ServerOption ¶ added in v0.0.19
type ServerOption func(*Server)
func WithInstructions ¶ added in v0.0.35
func WithInstructions(snippet string) ServerOption
WithInstructions appends a snippet to the server's initialize instructions. Use this so optional features (e.g. experimental skills) can contribute their own bootstrap text only when enabled.
func WithReplacementInstructions ¶ added in v0.0.35
func WithReplacementInstructions(text string) ServerOption
WithReplacementInstructions replaces the server's default initialize instructions with the given text, discarding any previously appended parts (including the embedded default). Use this when an optional feature owns the entire bootstrap surface — e.g. the experimental skills feature, which routes the model through skill discovery instead of carrying workflow recipes in instructions.
func WithToolMiddleware ¶ added in v0.0.19
func WithToolMiddleware(middleware ToolMiddleware) ServerOption
type ServerToolConfig ¶ added in v0.0.24
type ServerToolConfig struct {
EnabledTools []string
DisabledTools []string
// EnableDebugTools, when true, registers debug tools that are otherwise hidden.
EnableDebugTools bool
Experimental []string
// SkillsDir is the optional path to an external skills directory whose
// contents are merged on top of the embedded catalog. Empty means the
// embedded catalog alone is served. Only consulted when the "skills"
// experimental feature is enabled.
SkillsDir string
}
ServerToolConfig is used to configure which tools are enabled/disabled at the server level
func (*ServerToolConfig) IsExperimentalEnabled ¶ added in v0.0.35
func (tc *ServerToolConfig) IsExperimentalEnabled(featureName string) bool
IsExperimentalEnabled reports whether the given experimental feature name was opted into via --experimental, COLLIBRA_MCP_EXPERIMENTAL, or mcp.experimental in the YAML config.
func (*ServerToolConfig) IsToolEnabled ¶ added in v0.0.24
func (tc *ServerToolConfig) IsToolEnabled(toolName string) bool
type Tool ¶ added in v0.0.19
type Tool[In, Out any] struct { Name string Title string Description string Handler ToolHandlerFunc[In, Out] Permissions []string Annotations *mcp.ToolAnnotations }
type ToolHandlerFunc ¶ added in v0.0.21
type ToolMetadata ¶ added in v0.0.24
ToolMetadata stores metadata about a registered tool
type ToolMiddleware ¶ added in v0.0.19
type ToolMiddleware interface {
ToolHandle(ctx context.Context, toolRequest *mcp.CallToolRequest, next CallToolFunc) (*mcp.CallToolResult, error)
}
type ToolMiddlewareFunc ¶ added in v0.0.19
type ToolMiddlewareFunc func(ctx context.Context, toolRequest *mcp.CallToolRequest, next CallToolFunc) (*mcp.CallToolResult, error)
func (ToolMiddlewareFunc) ToolHandle ¶ added in v0.0.21
func (f ToolMiddlewareFunc) ToolHandle(ctx context.Context, toolRequest *mcp.CallToolRequest, next CallToolFunc) (*mcp.CallToolResult, error)