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 ServiceBackupListInput
- type ServiceBackupListOutput
- type ServiceBackupRegionAddInput
- type ServiceBackupRegionAddOutput
- type ServiceBackupRegionListInput
- type ServiceBackupRegionListOutput
- type ServiceBackupRegionRemoveInput
- type ServiceBackupRegionRemoveOutput
- 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 ServiceMetricsDetailsInput
- type ServiceMetricsDetailsOutput
- 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 ¶
type MetricLabelFilterInput struct {
Key string `json:"key"`
Value string `json:"value"`
MatchType string `json:"match_type,omitempty"`
}
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 ServiceBackupListInput ¶ added in v0.26.0
type ServiceBackupListInput struct {
ServiceID string `json:"service_id"`
}
ServiceBackupListInput represents input for service_backup_list
func (ServiceBackupListInput) Schema ¶ added in v0.26.0
func (ServiceBackupListInput) Schema() *jsonschema.Schema
type ServiceBackupListOutput ¶ added in v0.26.0
ServiceBackupListOutput represents output for service_backup_list
func (ServiceBackupListOutput) Schema ¶ added in v0.26.0
func (ServiceBackupListOutput) Schema() *jsonschema.Schema
type ServiceBackupRegionAddInput ¶ added in v0.26.0
type ServiceBackupRegionAddInput struct {
ServiceID string `json:"service_id"`
RegionCode string `json:"region_code"`
}
ServiceBackupRegionAddInput represents input for service_backup_region_add
func (ServiceBackupRegionAddInput) Schema ¶ added in v0.26.0
func (ServiceBackupRegionAddInput) Schema() *jsonschema.Schema
type ServiceBackupRegionAddOutput ¶ added in v0.26.0
type ServiceBackupRegionAddOutput struct {
Region api.BackupRegion `json:"region"`
Message string `json:"message"`
}
ServiceBackupRegionAddOutput represents output for service_backup_region_add
func (ServiceBackupRegionAddOutput) Schema ¶ added in v0.26.0
func (ServiceBackupRegionAddOutput) Schema() *jsonschema.Schema
type ServiceBackupRegionListInput ¶ added in v0.26.0
type ServiceBackupRegionListInput struct {
ServiceID string `json:"service_id"`
}
ServiceBackupRegionListInput represents input for service_backup_region_list
func (ServiceBackupRegionListInput) Schema ¶ added in v0.26.0
func (ServiceBackupRegionListInput) Schema() *jsonschema.Schema
type ServiceBackupRegionListOutput ¶ added in v0.26.0
type ServiceBackupRegionListOutput struct {
Regions []api.BackupRegion `json:"regions"`
}
ServiceBackupRegionListOutput represents output for service_backup_region_list
func (ServiceBackupRegionListOutput) Schema ¶ added in v0.26.0
func (ServiceBackupRegionListOutput) Schema() *jsonschema.Schema
type ServiceBackupRegionRemoveInput ¶ added in v0.26.0
type ServiceBackupRegionRemoveInput struct {
ServiceID string `json:"service_id"`
RegionCode string `json:"region_code"`
}
ServiceBackupRegionRemoveInput represents input for service_backup_region_remove
func (ServiceBackupRegionRemoveInput) Schema ¶ added in v0.26.0
func (ServiceBackupRegionRemoveInput) Schema() *jsonschema.Schema
type ServiceBackupRegionRemoveOutput ¶ added in v0.26.0
type ServiceBackupRegionRemoveOutput struct {
Removed bool `json:"removed"`
Message string `json:"message"`
}
ServiceBackupRegionRemoveOutput represents output for service_backup_region_remove
func (ServiceBackupRegionRemoveOutput) Schema ¶ added in v0.26.0
func (ServiceBackupRegionRemoveOutput) 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 ServiceMetricsDetailsInput ¶ added in v0.26.0
type ServiceMetricsDetailsInput struct {
ServiceID string `json:"service_id"`
MetricName string `json:"metric_name"`
}
ServiceMetricsDetailsInput represents input for service_metrics_details
func (ServiceMetricsDetailsInput) Schema ¶ added in v0.26.0
func (ServiceMetricsDetailsInput) Schema() *jsonschema.Schema
type ServiceMetricsDetailsOutput ¶ added in v0.26.0
type ServiceMetricsDetailsOutput struct {
Details api.MetricDetails `json:"details"`
}
ServiceMetricsDetailsOutput represents output for service_metrics_details
func (ServiceMetricsDetailsOutput) Schema ¶ added in v0.26.0
func (ServiceMetricsDetailsOutput) 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"`
GroupBy []string `json:"group_by,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"`
WithPassword bool `json:"with_password,omitempty"`
}
ServiceUpdatePasswordInput represents input for service_update_password.
Unlike `tiger service update-password`, the tool takes no password. One passed as an argument is invented by the model or typed into the chat by the user, so it lands in the model's context. Asking for it through an elicitation form would keep it out of the context, but not out of session transcripts or the MCP client, which can't be trusted with it, and the MCP spec says servers MUST NOT request passwords through form elicitation. So the tool always generates the password, and the CLI remains the way to set a specific one.
func (ServiceUpdatePasswordInput) Schema ¶
func (ServiceUpdatePasswordInput) Schema() *jsonschema.Schema
type ServiceUpdatePasswordOutput ¶
type ServiceUpdatePasswordOutput struct {
Updated bool `json:"updated"`
Message string `json:"message"`
Password string `json:"password,omitempty"`
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
- elicitation.go
- errors.go
- feedback.go
- proxy.go
- server.go
- service_backup_list.go
- service_backup_region_add.go
- service_backup_region_list.go
- service_backup_region_remove.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_details.go
- service_metrics_series.go
- service_rename.go
- service_resize.go
- service_start.go
- service_stop.go
- service_update_password.go
- utils.go