model

package
v1.3.4 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2025 License: MIT Imports: 0 Imported by: 1

Documentation

Index

Constants

View Source
const (
	RegistryTypeNPM   = "npm"
	RegistryTypePyPI  = "pypi"
	RegistryTypeOCI   = "oci"
	RegistryTypeNuGet = "nuget"
	RegistryTypeMCPB  = "mcpb"
)

Registry Types - supported package registry types

View Source
const (
	RegistryURLNPM    = "https://registry.npmjs.org"
	RegistryURLPyPI   = "https://pypi.org"
	RegistryURLDocker = "https://docker.io"
	RegistryURLGHCR   = "https://ghcr.io"
	RegistryURLNuGet  = "https://api.nuget.org"
	RegistryURLGitHub = "https://github.com"
	RegistryURLGitLab = "https://gitlab.com"
)

Registry Base URLs - supported package registry base URLs

View Source
const (
	TransportTypeStreamableHTTP = "streamable-http"
	TransportTypeSSE            = "sse"
	TransportTypeStdio          = "stdio"
)

Transport Types - supported remote transport protocols

View Source
const (
	RuntimeHintNPX    = "npx"
	RuntimeHintUVX    = "uvx"
	RuntimeHintDocker = "docker"
	RuntimeHintDNX    = "dnx"
)

Runtime Hints - supported package runtime hints

View Source
const (
	// CurrentSchemaVersion is the current supported schema version date
	CurrentSchemaVersion = "2025-10-17"
	// CurrentSchemaURL is the full URL to the current schema
	CurrentSchemaURL = "https://static.modelcontextprotocol.io/schemas/" + CurrentSchemaVersion + "/server.schema.json"
)

Schema versions

Variables

This section is empty.

Functions

This section is empty.

Types

type Argument

type Argument struct {
	InputWithVariables `json:",inline"`
	Type               ArgumentType `json:"type" doc:"Argument type: 'positional' or 'named'" example:"positional"`
	Name               string       `` /* 143-byte string literal not displayed */
	ValueHint          string       `` /* 137-byte string literal not displayed */
	IsRepeated         bool         `json:"isRepeated,omitempty" doc:"Whether the argument can be repeated multiple times."`
}

type ArgumentType

type ArgumentType string
const (
	ArgumentTypePositional ArgumentType = "positional"
	ArgumentTypeNamed      ArgumentType = "named"
)

type Format

type Format string
const (
	FormatString   Format = "string"
	FormatNumber   Format = "number"
	FormatBoolean  Format = "boolean"
	FormatFilePath Format = "filepath"
)

type Icon added in v1.3.0

type Icon struct {
	Src      string   `` /* 393-byte string literal not displayed */
	MimeType *string  `` /* 266-byte string literal not displayed */
	Sizes    []string `` /* 320-byte string literal not displayed */
	Theme    *string  `` /* 337-byte string literal not displayed */
}

type Input

type Input struct {
	Description string   `json:"description,omitempty" doc:"A description of the input, which clients can use to provide context to the user."`
	IsRequired  bool     `json:"isRequired,omitempty" doc:"Whether the input is required"`
	Format      Format   `` /* 194-byte string literal not displayed */
	Value       string   `` /* 237-byte string literal not displayed */
	IsSecret    bool     `` /* 153-byte string literal not displayed */
	Default     string   `` /* 193-byte string literal not displayed */
	Placeholder string   `` /* 195-byte string literal not displayed */
	Choices     []string `` /* 126-byte string literal not displayed */
}

type InputWithVariables

type InputWithVariables struct {
	Input     `json:",inline"`
	Variables map[string]Input `` /* 189-byte string literal not displayed */
}

type KeyValueInput

type KeyValueInput struct {
	InputWithVariables `json:",inline"`
	Name               string `json:"name" doc:"Name of the header or environment variable." example:"SOME_VARIABLE"`
}

type Package

type Package struct {
	// RegistryType indicates how to download packages (e.g., "npm", "pypi", "oci", "nuget", "mcpb")
	RegistryType string `` /* 149-byte string literal not displayed */
	// RegistryBaseURL is the base URL of the package registry (used by npm, pypi, nuget; not used by oci, mcpb)
	RegistryBaseURL string `json:"registryBaseUrl,omitempty" format:"uri" doc:"Base URL of the package registry" example:"https://registry.npmjs.org"`
	// Identifier is the package identifier:
	//   - For NPM/PyPI/NuGet: package name or ID
	//   - For OCI: full image reference (e.g., "ghcr.io/owner/repo:v1.0.0")
	//   - For MCPB: direct download URL
	Identifier string `` /* 179-byte string literal not displayed */
	// Version is the package version (required for npm, pypi, nuget; optional for mcpb; not used by oci where version is in the identifier)
	Version string `` /* 186-byte string literal not displayed */
	// FileSHA256 is the SHA-256 hash for integrity verification (required for mcpb, optional for others)
	FileSHA256 string `` /* 473-byte string literal not displayed */
	// RunTimeHint suggests the appropriate runtime for the package
	RunTimeHint string `` /* 187-byte string literal not displayed */
	// Transport is required and specifies the transport protocol configuration
	Transport Transport `json:"transport" doc:"Transport protocol configuration for the package"`
	// RuntimeArguments are passed to the package's runtime command (e.g., docker, npx)
	RuntimeArguments []Argument `` /* 206-byte string literal not displayed */
	// PackageArguments are passed to the package's binary
	PackageArguments []Argument `json:"packageArguments,omitempty" doc:"A list of arguments to be passed to the package's binary."`
	// EnvironmentVariables are set when running the package
	EnvironmentVariables []KeyValueInput `json:"environmentVariables,omitempty" doc:"A mapping of environment variables to be set when running the package."`
}

Package represents a package configuration. The RegistryType field determines which other fields are relevant:

  • NPM: RegistryType, Identifier (package name), Version, RegistryBaseURL (optional)
  • PyPI: RegistryType, Identifier (package name), Version, RegistryBaseURL (optional)
  • NuGet: RegistryType, Identifier (package ID), Version, RegistryBaseURL (optional)
  • OCI: RegistryType, Identifier (full image reference like "ghcr.io/owner/repo:tag")
  • MCPB: RegistryType, Identifier (download URL), Version (optional), FileSHA256 (required)

type Repository

type Repository struct {
	URL       string `` /* 187-byte string literal not displayed */
	Source    string `` /* 142-byte string literal not displayed */
	ID        string `` /* 412-byte string literal not displayed */
	Subfolder string `` /* 202-byte string literal not displayed */
}

type Status

type Status string
const (
	StatusActive     Status = "active"
	StatusDeprecated Status = "deprecated"
	StatusDeleted    Status = "deleted"
)

type Transport

type Transport struct {
	Type    string          `json:"type" doc:"Transport type (stdio, streamable-http, or sse)" example:"stdio"`
	URL     string          `json:"url,omitempty" doc:"URL for streamable-http or sse transports" example:"https://api.example.com/mcp"`
	Headers []KeyValueInput `json:"headers,omitempty" doc:"HTTP headers for streamable-http or sse transports"`
}

Jump to

Keyboard shortcuts

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