Documentation
¶
Index ¶
- func Execute(ctx context.Context) error
- func InstallMCPForClient(opts InstallOptions) error
- type ArgsLenAtDashProvider
- type ClientInfo
- type ClientOption
- type CreatePATRecordData
- type CreateRoleResult
- type GetAllProjectsData
- type GetUserData
- type GraphQLClient
- type GraphQLError
- type GraphQLResponse
- type InstallOptions
- type MCPClient
- type MCPServerConfig
- type OutputService
- type PATRecordResponse
- type Project
- type User
- type VersionOutput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InstallMCPForClient ¶ added in v0.19.1
func InstallMCPForClient(opts InstallOptions) error
InstallMCPForClient installs an MCP server configuration for the specified client. This is a generic, configurable function exported for use by external projects via pkg/mcpinstall. Required options: ServerName, Command, Args must all be provided.
Types ¶
type ArgsLenAtDashProvider ¶
type ArgsLenAtDashProvider interface {
ArgsLenAtDash() int
}
ArgsLenAtDashProvider defines the interface for getting ArgsLenAtDash
type ClientInfo ¶ added in v0.19.1
type ClientInfo struct {
// Name is the human-readable display name (e.g., "Claude Code", "Cursor")
Name string
// ClientName is the identifier to use in InstallOptions.ClientName (e.g., "claude-code", "cursor")
ClientName string
}
ClientInfo contains information about a supported MCP client.
func SupportedClients ¶ added in v0.19.1
func SupportedClients() []ClientInfo
SupportedClients returns information about all supported MCP clients.
type ClientOption ¶ added in v0.4.0
type ClientOption struct {
Name string // Display name
ClientName string // Client name to pass to installMCPForClient
}
ClientOption represents a client choice for interactive selection
type CreatePATRecordData ¶
type CreatePATRecordData struct {
CreatePATRecord PATRecordResponse `json:"createPATRecord"`
}
CreatePATRecordData represents the data from the createPATRecord mutation
type CreateRoleResult ¶ added in v0.14.0
type CreateRoleResult struct {
RoleName string `json:"role_name"`
ReadOnly bool `json:"read_only,omitempty"`
StatementTimeout string `json:"statement_timeout,omitempty"`
FromRoles []string `json:"from_roles,omitempty"`
}
CreateRoleResult represents the output of a create role operation
type GetAllProjectsData ¶
type GetAllProjectsData struct {
GetAllProjects []Project `json:"getAllProjects"`
}
GetAllProjectsData represents the data from the getAllProjects query
type GetUserData ¶
type GetUserData struct {
GetUser User `json:"getUser"`
}
GetUserData represents the data from the getUser query
type GraphQLClient ¶
type GraphQLClient struct {
URL string
}
We currently use a few GraphQL endpoints as part of the OAuth login flow, because they were already available and they accept the OAuth access token for authentication (whereas savannah-public only accepts the client credentials/API Key).
type GraphQLError ¶
type GraphQLError struct {
Message string `json:"message"`
}
GraphQLError represents an error returned in a GraphQL response
type GraphQLResponse ¶
type GraphQLResponse[T any] struct { Data *T `json:"data"` Errors []GraphQLError `json:"errors,omitempty"` }
GraphQLResponse represents a generic GraphQL response wrapper
type InstallOptions ¶ added in v0.19.1
type InstallOptions struct {
// ClientName is the name of the client to configure (required)
ClientName string
// ServerName is the name to register the MCP server as (required)
ServerName string
// Command is the path to the MCP server binary (required)
Command string
// Args are the arguments to pass to the MCP server binary (required)
Args []string
// CreateBackup creates a backup of existing config files before modification
CreateBackup bool
// CustomConfigPath overrides the default config file location
CustomConfigPath string
}
InstallOptions configures the MCP server installation behavior
type MCPClient ¶ added in v0.4.0
type MCPClient string
MCPClient represents our internal client types
type MCPServerConfig ¶ added in v0.19.1
MCPServerConfig represents the MCP server configuration
type OutputService ¶ added in v0.5.0
type OutputService struct {
api.Service
common.ConnectionDetails
ConnectionString string `json:"connection_string,omitempty"`
ConsoleURL string `json:"console_url,omitempty"`
}
OutputService represents a service with computed fields for output
type PATRecordResponse ¶
type PATRecordResponse struct {
ClientCredentials struct {
AccessKey string `json:"accessKey"`
SecretKey string `json:"secretKey"`
} `json:"clientCredentials"`
}
PATRecordResponse represents the response from creating a PAT record
type VersionOutput ¶ added in v0.10.0
type VersionOutput struct {
Version string `json:"version"`
BuildTime string `json:"build_time"`
GitCommit string `json:"git_commit"`
GoVersion string `json:"go_version"`
Platform string `json:"platform"`
LatestVersion string `json:"latest_version,omitempty"`
UpdateAvailable *bool `json:"update_available,omitempty"`
}