Documentation
¶
Overview ¶
Package registry provides access to the MCP server registry
Index ¶
- type EmbeddedRegistryProvider
- func (p *EmbeddedRegistryProvider) GetRegistry() (*Registry, error)
- func (p *EmbeddedRegistryProvider) GetServer(name string) (*ImageMetadata, error)
- func (p *EmbeddedRegistryProvider) ListServers() ([]*ImageMetadata, error)
- func (p *EmbeddedRegistryProvider) SearchServers(query string) ([]*ImageMetadata, error)
- type EnvVar
- type ImageMetadata
- type Metadata
- type Provenance
- type Provider
- type Registry
- type RemoteRegistryProvider
- func (p *RemoteRegistryProvider) GetRegistry() (*Registry, error)
- func (p *RemoteRegistryProvider) GetServer(name string) (*ImageMetadata, error)
- func (p *RemoteRegistryProvider) ListServers() ([]*ImageMetadata, error)
- func (p *RemoteRegistryProvider) SearchServers(query string) ([]*ImageMetadata, error)
- type VerifiedAttestation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EmbeddedRegistryProvider ¶ added in v0.0.43
type EmbeddedRegistryProvider struct {
// contains filtered or unexported fields
}
EmbeddedRegistryProvider provides registry data from embedded JSON files
func NewEmbeddedRegistryProvider ¶ added in v0.0.43
func NewEmbeddedRegistryProvider() *EmbeddedRegistryProvider
NewEmbeddedRegistryProvider creates a new embedded registry provider
func (*EmbeddedRegistryProvider) GetRegistry ¶ added in v0.0.43
func (p *EmbeddedRegistryProvider) GetRegistry() (*Registry, error)
GetRegistry returns the embedded registry data
func (*EmbeddedRegistryProvider) GetServer ¶ added in v0.0.43
func (p *EmbeddedRegistryProvider) GetServer(name string) (*ImageMetadata, error)
GetServer returns a specific server by name
func (*EmbeddedRegistryProvider) ListServers ¶ added in v0.0.43
func (p *EmbeddedRegistryProvider) ListServers() ([]*ImageMetadata, error)
ListServers returns all available servers
func (*EmbeddedRegistryProvider) SearchServers ¶ added in v0.0.43
func (p *EmbeddedRegistryProvider) SearchServers(query string) ([]*ImageMetadata, error)
SearchServers searches for servers matching the query
type EnvVar ¶
type EnvVar struct { // Name is the environment variable name (e.g., API_KEY) Name string `json:"name"` // Description is a human-readable explanation of the variable's purpose Description string `json:"description"` // Required indicates whether this environment variable must be provided // If true and not provided via command line or secrets, the user will be prompted for a value Required bool `json:"required"` // Default is the value to use if the environment variable is not explicitly provided // Only used for non-required variables Default string `json:"default,omitempty"` // Secret indicates whether this environment variable contains sensitive information // If true, the value will be stored as a secret rather than as a plain environment variable Secret bool `json:"secret,omitempty"` }
EnvVar represents an environment variable for an MCP server
type ImageMetadata ¶ added in v0.0.48
type ImageMetadata struct { // Name is the identifier for the MCP server, used when referencing the server in commands // If not provided, it will be auto-generated from the image name Name string `json:"name,omitempty"` // Image is the Docker image reference for the MCP server Image string `json:"image"` // Description is a human-readable description of the server's purpose and functionality Description string `json:"description"` // Tier represents the tier classification level of the server, e.g., "official" or "community" driven Tier string `json:"tier"` // The Status indicates whether the server is currently active or deprecated Status string `json:"status"` // Transport defines the communication protocol for the server (stdio, sse, or streamable-http) Transport string `json:"transport"` // TargetPort is the port for the container to expose (only applicable to SSE and Streamable HTTP transports) TargetPort int `json:"target_port,omitempty"` // Permissions defines the security profile and access permissions for the server Permissions *permissions.Profile `json:"permissions"` // Tools is a list of tool names provided by this MCP server Tools []string `json:"tools"` // EnvVars defines environment variables that can be passed to the server EnvVars []*EnvVar `json:"env_vars"` // Args are the default command-line arguments to pass to the MCP server container. // These arguments will be prepended to any command-line arguments provided by the user. Args []string `json:"args"` // Metadata contains additional information about the server such as popularity metrics Metadata *Metadata `json:"metadata"` // RepositoryURL is the URL to the source code repository for the server RepositoryURL string `json:"repository_url,omitempty"` // Tags are categorization labels for the server to aid in discovery and filtering Tags []string `json:"tags,omitempty"` // DockerTags lists the available Docker tags for this server image DockerTags []string `json:"docker_tags,omitempty"` // Provenance contains verification and signing metadata Provenance *Provenance `json:"provenance,omitempty"` }
ImageMetadata represents the metadata for an MCP server image stored in our registry.
type Metadata ¶
type Metadata struct { // Stars represents the popularity rating or number of stars for the server Stars int `json:"stars"` // Pulls indicates how many times the server image has been downloaded Pulls int `json:"pulls"` // LastUpdated is the timestamp when the server was last updated, in RFC3339 format LastUpdated string `json:"last_updated"` }
Metadata represents metadata about an MCP server
type Provenance ¶ added in v0.0.35
type Provenance struct { SigstoreURL string `json:"sigstore_url"` RepositoryURI string `json:"repository_uri"` RepositoryRef string `json:"repository_ref"` SignerIdentity string `json:"signer_identity"` RunnerEnvironment string `json:"runner_environment"` CertIssuer string `json:"cert_issuer"` Attestation *VerifiedAttestation `json:"attestation,omitempty"` }
Provenance contains metadata about the image's provenance and signing status
type Provider ¶ added in v0.0.43
type Provider interface { // GetRegistry returns the complete registry data GetRegistry() (*Registry, error) // GetServer returns a specific server by name GetServer(name string) (*ImageMetadata, error) // SearchServers searches for servers matching the query SearchServers(query string) ([]*ImageMetadata, error) // ListServers returns all available servers ListServers() ([]*ImageMetadata, error) }
Provider defines the interface for registry storage implementations
func GetDefaultProvider ¶ added in v0.0.43
GetDefaultProvider returns the default registry provider instance This maintains backward compatibility with the existing singleton pattern
func NewRegistryProvider ¶ added in v0.0.43
NewRegistryProvider creates a new registry provider based on the configuration
type Registry ¶
type Registry struct { // Version is the schema version of the registry Version string `json:"version"` // LastUpdated is the timestamp when the registry was last updated, in RFC3339 format LastUpdated string `json:"last_updated"` // Servers is a map of server names to their corresponding server definitions Servers map[string]*ImageMetadata `json:"servers"` }
Registry represents the top-level structure of the MCP registry
type RemoteRegistryProvider ¶ added in v0.0.43
type RemoteRegistryProvider struct {
// contains filtered or unexported fields
}
RemoteRegistryProvider provides registry data from a remote HTTP endpoint
func NewRemoteRegistryProvider ¶ added in v0.0.43
func NewRemoteRegistryProvider(registryURL string, allowPrivateIp bool) *RemoteRegistryProvider
NewRemoteRegistryProvider creates a new remote registry provider
func (*RemoteRegistryProvider) GetRegistry ¶ added in v0.0.43
func (p *RemoteRegistryProvider) GetRegistry() (*Registry, error)
GetRegistry returns the remote registry data
func (*RemoteRegistryProvider) GetServer ¶ added in v0.0.43
func (p *RemoteRegistryProvider) GetServer(name string) (*ImageMetadata, error)
GetServer returns a specific server by name
func (*RemoteRegistryProvider) ListServers ¶ added in v0.0.43
func (p *RemoteRegistryProvider) ListServers() ([]*ImageMetadata, error)
ListServers returns all available servers
func (*RemoteRegistryProvider) SearchServers ¶ added in v0.0.43
func (p *RemoteRegistryProvider) SearchServers(query string) ([]*ImageMetadata, error)
SearchServers searches for servers matching the query
type VerifiedAttestation ¶ added in v0.0.35
type VerifiedAttestation struct { PredicateType string `json:"predicate_type,omitempty"` Predicate any `json:"predicate,omitempty"` }
VerifiedAttestation represents the verified attestation information