gateway

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2025 License: MIT Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Capabilities

type Capabilities struct {
	Tools             []ToolRegistration
	Prompts           []PromptRegistration
	Resources         []ResourceRegistration
	ResourceTemplates []ResourceTemplateRegistration
}

func (*Capabilities) PromptNames

func (c *Capabilities) PromptNames() []string

func (*Capabilities) ToolNames

func (c *Capabilities) ToolNames() []string

type Config

type Config struct {
	Options
	ServerNames        []string
	CatalogPath        []string
	ConfigPath         []string
	RegistryPath       []string
	ToolsPath          []string
	SecretsPath        string
	MCPRegistryServers []catalog.Server // catalog.Server objects from MCP registries
}

type Configuration

type Configuration struct {
	// contains filtered or unexported fields
}

func (*Configuration) DockerImages

func (c *Configuration) DockerImages() []string

func (*Configuration) Find

func (c *Configuration) Find(serverName string) (*catalog.ServerConfig, *map[string]catalog.Tool, bool)

func (*Configuration) ServerNames

func (c *Configuration) ServerNames() []string

type Configurator

type Configurator interface {
	Read(ctx context.Context) (Configuration, chan Configuration, func() error, error)
}

type FileBasedConfiguration

type FileBasedConfiguration struct {
	CatalogPath        []string
	ServerNames        []string // Takes precedence over the RegistryPath
	RegistryPath       []string
	ConfigPath         []string
	ToolsPath          []string
	SecretsPath        string           // Optional, if not set, use Docker Desktop's secrets API
	OciRef             []string         // OCI references to fetch server definitions from
	MCPRegistryServers []catalog.Server // Servers fetched from MCP registries
	Watch              bool
	Central            bool
	// contains filtered or unexported fields
}

func (*FileBasedConfiguration) Read

type Gateway

type Gateway struct {
	Options
	// contains filtered or unexported fields
}

func NewGateway

func NewGateway(config Config, docker docker.Client) *Gateway

func (*Gateway) GetSessionCache added in v0.14.0

func (g *Gateway) GetSessionCache(ss *mcp.ServerSession) *ServerSessionCache

GetSessionCache returns the cached information for a server session

func (*Gateway) ListRoots added in v0.14.0

func (g *Gateway) ListRoots(ctx context.Context, ss *mcp.ServerSession)

ListRoots checks if client supports Roots, gets them, and caches the result

func (*Gateway) RefreshCapabilities added in v0.20.0

func (g *Gateway) RefreshCapabilities(ctx context.Context, server *mcp.Server, serverSession *mcp.ServerSession) error

RefreshCapabilities implements the CapabilityRefresher interface This method updates the server's capabilities by reloading the configuration

func (*Gateway) RemoveSessionCache added in v0.14.0

func (g *Gateway) RemoveSessionCache(ss *mcp.ServerSession)

RemoveSessionCache removes the cached information for a server session

func (*Gateway) Run

func (g *Gateway) Run(ctx context.Context) error

type Options

type Options struct {
	Port                    int
	Transport               string
	ToolNames               []string
	Interceptors            []string
	OciRef                  []string
	Verbose                 bool
	LongLived               bool
	DebugDNS                bool
	LogCalls                bool
	BlockSecrets            bool
	BlockNetwork            bool
	VerifySignatures        bool
	DryRun                  bool
	Watch                   bool
	Cpus                    int
	Memory                  string
	Static                  bool
	Central                 bool
	OAuthInterceptorEnabled bool
	DynamicTools            bool
}

type PromptRegistration added in v0.14.0

type PromptRegistration struct {
	Prompt  *mcp.Prompt
	Handler mcp.PromptHandler
}

type ResourceRegistration added in v0.14.0

type ResourceRegistration struct {
	Resource *mcp.Resource
	Handler  mcp.ResourceHandler
}

type ResourceTemplateRegistration added in v0.14.0

type ResourceTemplateRegistration struct {
	ResourceTemplate mcp.ResourceTemplate
	Handler          mcp.ResourceHandler
}

type ServerMatch added in v0.20.0

type ServerMatch struct {
	Name   string
	Server catalog.Server
	Score  int
}

ServerMatch represents a search result

type ServerSessionCache added in v0.14.0

type ServerSessionCache struct {
	Roots []*mcp.Root
}

type ToolRegistration added in v0.14.0

type ToolRegistration struct {
	Tool    *mcp.Tool
	Handler mcp.ToolHandler
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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