Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DocsProxy ¶
type DocsProxy struct {
// contains filtered or unexported fields
}
DocsProxy manages a connection to the Suga docs MCP server and proxies requests
func NewDocsProxy ¶
func NewDocsProxy() *DocsProxy
NewDocsProxy creates a new proxy to the Suga docs MCP server
func (*DocsProxy) CallTool ¶
func (d *DocsProxy) CallTool(ctx context.Context, name string, arguments map[string]interface{}) (*mcp.CallToolResult, error)
CallTool proxies a tool call to the docs server
type GetBuildManifestArgs ¶
type GetBuildManifestArgs struct {
Team string `json:"team,omitempty" jsonschema:"Team slug that owns the platform (defaults to current team if not specified)"`
Platform string `json:"platform" jsonschema:"Name of the platform"`
Revision int `json:"revision" jsonschema:"Revision number of the platform"`
Public bool `json:"public,omitempty" jsonschema:"Whether to fetch from public platforms (defaults to false)"`
}
type GetPlatformArgs ¶
type GetPlatformArgs struct {
Team string `json:"team,omitempty" jsonschema:"Team slug that owns the platform (defaults to current team if not specified)"`
Name string `json:"name" jsonschema:"Name of the platform"`
Revision int `json:"revision" jsonschema:"Revision number of the platform"`
Public bool `json:"public,omitempty" jsonschema:"Whether to fetch from public platforms (defaults to false)"`
}
type GetPluginLibraryVersionArgs ¶
type GetPluginLibraryVersionArgs struct {
Team string `json:"team,omitempty" jsonschema:"Team slug that owns the plugin library (defaults to current team if not specified)"`
Library string `json:"library" jsonschema:"Name of the plugin library"`
LibraryVersion string `json:"library_version" jsonschema:"Version of the plugin library"`
Public bool `json:"public,omitempty" jsonschema:"Whether to fetch from public plugin libraries (defaults to false)"`
}
type GetPluginManifestArgs ¶
type GetPluginManifestArgs struct {
Team string `json:"team,omitempty" jsonschema:"Team slug that owns the plugin library (defaults to current team if not specified)"`
Library string `json:"library" jsonschema:"Name of the plugin library"`
LibraryVersion string `json:"library_version" jsonschema:"Version of the plugin library"`
PluginName string `json:"plugin_name" jsonschema:"Name of the plugin"`
Public bool `json:"public,omitempty" jsonschema:"Whether to fetch from public plugin libraries (defaults to false)"`
}
type GetTemplateArgs ¶
type GetTemplateArgs struct {
TeamSlug string `json:"team_slug,omitempty" jsonschema:"Team slug that owns the template (defaults to current team if not specified)"`
TemplateName string `json:"template_name" jsonschema:"Name of the template"`
Version string `json:"version,omitempty" jsonschema:"Version of the template (optional defaults to latest)"`
}
type ListPlatformsArgs ¶
type ListPluginLibrariesArgs ¶
type ListTemplatesArgs ¶
type ListTemplatesArgs struct {
Team string `json:"team,omitempty" jsonschema:"Team slug to list templates for (defaults to current team if not specified)"`
}
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server wraps the MCP server with Suga API client
func NewServer ¶
func NewServer(apiClient *api.SugaApiClient, cfg *config.Config, builder *build.BuilderService) (*Server, error)
NewServer creates a new MCP server with the given API client and config
Click to show internal directories.
Click to hide internal directories.