mcp

package
v0.0.0-...-d9d2748 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2025 License: MPL-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildArgs

type BuildArgs struct {
	Team        string `json:"team,omitempty" jsonschema:"Team slug for the build (defaults to current team if not specified)"`
	ProjectFile string `json:"project_file,omitempty" jsonschema:"Path to the suga.yaml project file (defaults to ./suga.yaml)"`
}

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

func (*DocsProxy) Close

func (d *DocsProxy) Close() error

Close closes the connection to the docs server

func (*DocsProxy) Connect

func (d *DocsProxy) Connect(ctx context.Context) error

Connect establishes a connection to the docs MCP server

func (*DocsProxy) GetTools

func (d *DocsProxy) GetTools() []*mcp.Tool

GetTools returns the list of tools available from 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 ListPlatformsArgs struct {
	Team   string `json:"team,omitempty" jsonschema:"Team slug to list platforms for (defaults to current team if not specified)"`
	Public bool   `json:"public,omitempty" jsonschema:"Whether to fetch from public platforms (defaults to false)"`
}

type ListPluginLibrariesArgs

type ListPluginLibrariesArgs struct {
	Team   string `json:"team,omitempty" jsonschema:"Team slug to list plugin libraries for (defaults to current team if not specified)"`
	Public bool   `json:"public,omitempty" jsonschema:"Whether to fetch from public plugin libraries (defaults to false)"`
}

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

func (*Server) Run

func (s *Server) Run(ctx context.Context) error

Run starts the MCP server with stdio transport

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL