Documentation
¶
Index ¶
- Constants
- type Capabilities
- type DBQueryInput
- type DBQueryOutput
- type DBSchemaInput
- type DBSchemaOutput
- type FeedbackInput
- type FeedbackOutput
- type MetricLabelFilterInput
- type ProxyClient
- func (p *ProxyClient) Close() error
- func (p *ProxyClient) RegisterPrompts(ctx context.Context, server *mcp.Server) error
- func (p *ProxyClient) RegisterResourceTemplates(ctx context.Context, server *mcp.Server) error
- func (p *ProxyClient) RegisterResources(ctx context.Context, server *mcp.Server) error
- func (p *ProxyClient) RegisterTools(ctx context.Context, server *mcp.Server) error
- type ResourceInfo
- type Server
- type ServiceBackupsInput
- type ServiceBackupsOutput
- type ServiceCreateInput
- type ServiceCreateOutput
- type ServiceDeleteInput
- type ServiceDeleteOutput
- type ServiceDetail
- type ServiceForkInput
- type ServiceForkOutput
- type ServiceGetInput
- type ServiceGetOutput
- type ServiceInfo
- type ServiceListInput
- type ServiceListOutput
- type ServiceLogsInput
- type ServiceLogsOutput
- type ServiceMetricsAvailableInput
- type ServiceMetricsAvailableOutput
- type ServiceMetricsSeriesInput
- type ServiceMetricsSeriesOutput
- type ServiceRenameInput
- type ServiceRenameOutput
- type ServiceResizeInput
- type ServiceResizeOutput
- type ServiceStartInput
- type ServiceStartOutput
- type ServiceStopInput
- type ServiceStopOutput
- type ServiceUpdatePasswordInput
- type ServiceUpdatePasswordOutput
Constants ¶
const (
ServerName = "tiger"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Capabilities ¶
type Capabilities struct {
Tools []*mcp.Tool `json:"tools"`
Prompts []*mcp.Prompt `json:"prompts"`
Resources []*mcp.Resource `json:"resources"`
ResourceTemplates []*mcp.ResourceTemplate `json:"resource_templates"`
}
Capabilities holds all MCP server capabilities
func (*Capabilities) Get ¶
func (c *Capabilities) Get(name string) any
Get finds any capability (tool, prompt, resource, or resource template) by name. Returns the capability if found, or nil if not found. Note that if there are duplicate names (e.g. a tool and a prompt with the same name) it will return the first found. We should therefore aim to avoid duplicate capability names.
func (*Capabilities) Names ¶
func (c *Capabilities) Names() []string
type DBQueryInput ¶ added in v0.24.0
type DBQueryInput struct {
ServiceID string `json:"service_id"`
Query string `json:"query,omitempty"`
File string `json:"file,omitempty"`
Parameters []string `json:"parameters,omitempty"`
TimeoutSeconds int `json:"timeout_seconds,omitempty"`
Role string `json:"role,omitempty"`
Pooled bool `json:"pooled,omitempty"`
}
DBQueryInput represents input for db_query
func (DBQueryInput) Schema ¶ added in v0.24.0
func (DBQueryInput) Schema() *jsonschema.Schema
type DBQueryOutput ¶ added in v0.24.0
type DBQueryOutput struct {
ResultSets []common.ResultSet `json:"result_sets"`
ExecutionTime string `json:"execution_time"`
Truncated bool `json:"truncated,omitempty"`
Notice string `json:"notice,omitempty"`
Warning string `json:"warning,omitempty"`
}
DBQueryOutput represents output for db_query
func (DBQueryOutput) Schema ¶ added in v0.24.0
func (DBQueryOutput) Schema() *jsonschema.Schema
type DBSchemaInput ¶
type DBSchemaInput struct {
ServiceID string `json:"service_id"`
SchemaName string `json:"schema,omitempty"`
Internal bool `json:"internal,omitempty"`
Definitions bool `json:"definitions,omitempty"`
Comments bool `json:"comments,omitempty"`
Role string `json:"role,omitempty"`
Pooled bool `json:"pooled,omitempty"`
}
DBSchemaInput represents input for db_schema
func (DBSchemaInput) Schema ¶
func (DBSchemaInput) Schema() *jsonschema.Schema
type DBSchemaOutput ¶
type DBSchemaOutput struct {
SchemaText string `json:"schema"`
Warning string `json:"warning,omitempty"`
}
DBSchemaOutput represents output for db_schema
func (DBSchemaOutput) Schema ¶
func (DBSchemaOutput) Schema() *jsonschema.Schema
type FeedbackInput ¶ added in v0.25.0
type FeedbackInput struct {
Message string `json:"message"`
}
FeedbackInput represents input for feedback
func (FeedbackInput) Schema ¶ added in v0.25.0
func (FeedbackInput) Schema() *jsonschema.Schema
type FeedbackOutput ¶ added in v0.25.0
type FeedbackOutput struct {
Success bool `json:"success"`
// SupportURL is project-specific, so it can't live in the tool description.
SupportURL string `json:"support_url"`
}
FeedbackOutput represents output for feedback
func (FeedbackOutput) Schema ¶ added in v0.25.0
func (FeedbackOutput) Schema() *jsonschema.Schema
type MetricLabelFilterInput ¶
MetricLabelFilterInput mirrors api.MetricLabelFilter for the tool schema.
type ProxyClient ¶
type ProxyClient struct {
// contains filtered or unexported fields
}
ProxyClient manages connection to a remote MCP server and forwards requests
func NewProxyClient ¶
NewProxyClient creates a new proxy client for the given remote server configuration
func (*ProxyClient) Close ¶
func (p *ProxyClient) Close() error
Close closes the connection to the remote MCP server
func (*ProxyClient) RegisterPrompts ¶
RegisterPrompts discovers prompts from remote server and registers them as proxy prompts
func (*ProxyClient) RegisterResourceTemplates ¶
RegisterResourceTemplates discovers resource templates from remote server and registers them as proxy resource templates
func (*ProxyClient) RegisterResources ¶
RegisterResources discovers resources from remote server and registers them as proxy resources
func (*ProxyClient) RegisterTools ¶
RegisterTools discovers tools from remote server and registers them as proxy tools
type ResourceInfo ¶
type ResourceInfo struct {
CPU string `json:"cpu,omitempty"`
Memory string `json:"memory,omitempty"`
}
ResourceInfo represents resource allocation information
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server wraps the MCP server with Tiger-specific functionality
func NewServer ¶
NewServer creates a new Tiger MCP server instance. The app must already be loaded: its config renders the read-only warning in the server instructions and gates which tools are registered, both evaluated once here at startup. A nil logger discards the server's log output.
func (*Server) HTTPHandler ¶
Returns an HTTP handler that implements the http transport
func (*Server) ListCapabilities ¶
func (s *Server) ListCapabilities(ctx context.Context) (*Capabilities, error)
ListCapabilities creates a temporary in-memory client connection to list all capabilities (tools, prompts, resources, and resource templates).
type ServiceBackupsInput ¶ added in v0.23.0
type ServiceBackupsInput struct {
ServiceID string `json:"service_id"`
}
ServiceBackupsInput represents input for service_backups
func (ServiceBackupsInput) Schema ¶ added in v0.23.0
func (ServiceBackupsInput) Schema() *jsonschema.Schema
type ServiceBackupsOutput ¶ added in v0.23.0
ServiceBackupsOutput represents output for service_backups
func (ServiceBackupsOutput) Schema ¶ added in v0.23.0
func (ServiceBackupsOutput) Schema() *jsonschema.Schema
type ServiceCreateInput ¶
type ServiceCreateInput struct {
Name string `json:"name,omitempty"`
Addons []string `json:"addons,omitempty"`
Region *string `json:"region,omitempty"`
CPUMemory string `json:"cpu_memory,omitempty"`
Replicas int `json:"replicas,omitempty"`
Environment api.EnvironmentTag `json:"environment,omitempty"`
Wait bool `json:"wait,omitempty"`
SetDefault bool `json:"set_default,omitempty"`
WithPassword bool `json:"with_password,omitempty"`
}
ServiceCreateInput represents input for service_create
func (ServiceCreateInput) Schema ¶
func (ServiceCreateInput) Schema() *jsonschema.Schema
type ServiceCreateOutput ¶
type ServiceCreateOutput struct {
Service ServiceDetail `json:"service"`
Message string `json:"message"`
PasswordStorage *common.PasswordStorageResult `json:"password_storage,omitempty"`
}
ServiceCreateOutput represents output for service_create
func (ServiceCreateOutput) Schema ¶
func (ServiceCreateOutput) Schema() *jsonschema.Schema
type ServiceDeleteInput ¶ added in v0.25.0
type ServiceDeleteInput struct {
ServiceID string `json:"service_id"`
}
ServiceDeleteInput represents input for service_delete
func (ServiceDeleteInput) Schema ¶ added in v0.25.0
func (ServiceDeleteInput) Schema() *jsonschema.Schema
type ServiceDeleteOutput ¶ added in v0.25.0
type ServiceDeleteOutput struct {
ServiceID string `json:"service_id"`
Deleted bool `json:"deleted"`
Message string `json:"message"`
}
ServiceDeleteOutput represents output for service_delete
func (ServiceDeleteOutput) Schema ¶ added in v0.25.0
func (ServiceDeleteOutput) Schema() *jsonschema.Schema
type ServiceDetail ¶
type ServiceDetail struct {
ServiceID string `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
Type string `json:"type"`
Region string `json:"region"`
Created string `json:"created,omitempty"`
Environment string `json:"environment"`
Resources *ResourceInfo `json:"resources,omitempty"`
Replicas int `json:"replicas"`
DirectEndpoint string `json:"direct_endpoint,omitempty"`
PoolerEndpoint string `json:"pooler_endpoint,omitempty"`
Password string `json:"password,omitempty"`
ConnectionString string `json:"connection_string"`
}
ServiceDetail represents detailed service information
func (ServiceDetail) Schema ¶
func (ServiceDetail) Schema() *jsonschema.Schema
type ServiceForkInput ¶
type ServiceForkInput struct {
ServiceID string `json:"service_id"`
Name string `json:"name,omitempty"`
ForkStrategy api.ForkStrategy `json:"fork_strategy"`
TargetTime *time.Time `json:"target_time,omitempty"`
CPUMemory string `json:"cpu_memory,omitempty"`
Environment api.EnvironmentTag `json:"environment,omitempty"`
Wait bool `json:"wait,omitempty"`
SetDefault bool `json:"set_default,omitempty"`
WithPassword bool `json:"with_password,omitempty"`
}
ServiceForkInput represents input for service_fork
func (ServiceForkInput) Schema ¶
func (ServiceForkInput) Schema() *jsonschema.Schema
type ServiceForkOutput ¶
type ServiceForkOutput struct {
Service ServiceDetail `json:"service"`
Message string `json:"message"`
PasswordStorage *common.PasswordStorageResult `json:"password_storage,omitempty"`
}
ServiceForkOutput represents output for service_fork
func (ServiceForkOutput) Schema ¶
func (ServiceForkOutput) Schema() *jsonschema.Schema
type ServiceGetInput ¶
type ServiceGetInput struct {
ServiceID string `json:"service_id"`
WithPassword bool `json:"with_password,omitempty"`
}
ServiceGetInput represents input for service_get
func (ServiceGetInput) Schema ¶
func (ServiceGetInput) Schema() *jsonschema.Schema
type ServiceGetOutput ¶
type ServiceGetOutput struct {
Service ServiceDetail `json:"service"`
}
ServiceGetOutput represents output for service_get
func (ServiceGetOutput) Schema ¶
func (ServiceGetOutput) Schema() *jsonschema.Schema
type ServiceInfo ¶
type ServiceInfo struct {
ServiceID string `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
Type string `json:"type"`
Region string `json:"region"`
Created string `json:"created,omitempty"`
Environment string `json:"environment"`
Resources *ResourceInfo `json:"resources,omitempty"`
}
ServiceInfo represents simplified service information for MCP output
func (ServiceInfo) Schema ¶
func (ServiceInfo) Schema() *jsonschema.Schema
type ServiceListInput ¶
type ServiceListInput struct{}
ServiceListInput represents input for service_list
func (ServiceListInput) Schema ¶
func (ServiceListInput) Schema() *jsonschema.Schema
type ServiceListOutput ¶
type ServiceListOutput struct {
Services []ServiceInfo `json:"services"`
}
ServiceListOutput represents output for service_list
func (ServiceListOutput) Schema ¶
func (ServiceListOutput) Schema() *jsonschema.Schema
type ServiceLogsInput ¶
type ServiceLogsInput struct {
ServiceID string `json:"service_id"`
Node *int `json:"node,omitempty"`
Tail int `json:"tail,omitempty"`
Since *time.Time `json:"since,omitempty"`
Until *time.Time `json:"until,omitempty"`
}
ServiceLogsInput represents input for service_logs
func (ServiceLogsInput) Schema ¶
func (ServiceLogsInput) Schema() *jsonschema.Schema
type ServiceLogsOutput ¶
type ServiceLogsOutput struct {
Logs []string `json:"logs"`
}
ServiceLogsOutput represents output for service_logs
func (ServiceLogsOutput) Schema ¶
func (ServiceLogsOutput) Schema() *jsonschema.Schema
type ServiceMetricsAvailableInput ¶
type ServiceMetricsAvailableInput struct {
ServiceID string `json:"service_id"`
}
ServiceMetricsAvailableInput represents input for service_metrics_available
func (ServiceMetricsAvailableInput) Schema ¶
func (ServiceMetricsAvailableInput) Schema() *jsonschema.Schema
type ServiceMetricsAvailableOutput ¶
type ServiceMetricsAvailableOutput struct {
Series []string `json:"series"`
}
ServiceMetricsAvailableOutput represents output for service_metrics_available
func (ServiceMetricsAvailableOutput) Schema ¶
func (ServiceMetricsAvailableOutput) Schema() *jsonschema.Schema
type ServiceMetricsSeriesInput ¶
type ServiceMetricsSeriesInput struct {
ServiceID string `json:"service_id"`
MetricName string `json:"metric_name"`
From string `json:"from"`
To string `json:"to"`
Role string `json:"role,omitempty"`
Filters []MetricLabelFilterInput `json:"filters,omitempty"`
BucketSeconds int `json:"bucket_seconds,omitempty"`
Fn string `json:"fn,omitempty"`
}
ServiceMetricsSeriesInput represents input for service_metrics_series
func (ServiceMetricsSeriesInput) Schema ¶
func (ServiceMetricsSeriesInput) Schema() *jsonschema.Schema
type ServiceMetricsSeriesOutput ¶
type ServiceMetricsSeriesOutput struct {
Series []api.MetricSeries `json:"series"`
}
ServiceMetricsSeriesOutput is the response from service_metrics_series. The endpoint returns one MetricSeries per distinct label set (e.g. one per replica).
func (ServiceMetricsSeriesOutput) Schema ¶
func (ServiceMetricsSeriesOutput) Schema() *jsonschema.Schema
type ServiceRenameInput ¶ added in v0.25.0
ServiceRenameInput represents input for service_rename
func (ServiceRenameInput) Schema ¶ added in v0.25.0
func (ServiceRenameInput) Schema() *jsonschema.Schema
type ServiceRenameOutput ¶ added in v0.25.0
type ServiceRenameOutput struct {
Message string `json:"message"`
ServiceID string `json:"service_id"`
Name string `json:"name"`
}
ServiceRenameOutput represents output for service_rename
func (ServiceRenameOutput) Schema ¶ added in v0.25.0
func (ServiceRenameOutput) Schema() *jsonschema.Schema
type ServiceResizeInput ¶
type ServiceResizeInput struct {
ServiceID string `json:"service_id"`
CPUMemory string `json:"cpu_memory"`
Wait bool `json:"wait,omitempty"`
}
ServiceResizeInput represents input for service_resize
func (ServiceResizeInput) Schema ¶
func (ServiceResizeInput) Schema() *jsonschema.Schema
type ServiceResizeOutput ¶
type ServiceResizeOutput struct {
Status string `json:"status"`
Resources *ResourceInfo `json:"resources,omitempty"`
Message string `json:"message"`
}
ServiceResizeOutput represents output for service_resize
func (ServiceResizeOutput) Schema ¶
func (ServiceResizeOutput) Schema() *jsonschema.Schema
type ServiceStartInput ¶
type ServiceStartInput struct {
ServiceID string `json:"service_id"`
Wait bool `json:"wait,omitempty"`
}
ServiceStartInput represents input for service_start
func (ServiceStartInput) Schema ¶
func (ServiceStartInput) Schema() *jsonschema.Schema
type ServiceStartOutput ¶
ServiceStartOutput represents output for service_start
func (ServiceStartOutput) Schema ¶
func (ServiceStartOutput) Schema() *jsonschema.Schema
type ServiceStopInput ¶
type ServiceStopInput struct {
ServiceID string `json:"service_id"`
Wait bool `json:"wait,omitempty"`
}
ServiceStopInput represents input for service_stop
func (ServiceStopInput) Schema ¶
func (ServiceStopInput) Schema() *jsonschema.Schema
type ServiceStopOutput ¶
ServiceStopOutput represents output for service_stop
func (ServiceStopOutput) Schema ¶
func (ServiceStopOutput) Schema() *jsonschema.Schema
type ServiceUpdatePasswordInput ¶
type ServiceUpdatePasswordInput struct {
ServiceID string `json:"service_id"`
Password string `json:"password"`
}
ServiceUpdatePasswordInput represents input for service_update_password
func (ServiceUpdatePasswordInput) Schema ¶
func (ServiceUpdatePasswordInput) Schema() *jsonschema.Schema
type ServiceUpdatePasswordOutput ¶
type ServiceUpdatePasswordOutput struct {
Message string `json:"message"`
PasswordStorage *common.PasswordStorageResult `json:"password_storage,omitempty"`
}
ServiceUpdatePasswordOutput represents output for service_update_password
func (ServiceUpdatePasswordOutput) Schema ¶
func (ServiceUpdatePasswordOutput) Schema() *jsonschema.Schema
Source Files
¶
- capabilities.go
- db_query.go
- db_schema.go
- errors.go
- feedback.go
- proxy.go
- server.go
- service_backups.go
- service_create.go
- service_delete.go
- service_fork.go
- service_get.go
- service_list.go
- service_logs.go
- service_metrics_available.go
- service_metrics_series.go
- service_rename.go
- service_resize.go
- service_start.go
- service_stop.go
- service_update_password.go
- utils.go