config

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExampleConfigPath

func ExampleConfigPath() string

ExampleConfigPath returns the default config file path (for help messages).

func FailedFallbackSourcePaths added in v1.0.1

func FailedFallbackSourcePaths(err error) []string

FailedFallbackSourcePaths extracts failed fallback source paths from err.

func LoadFallbackServers

func LoadFallbackServers() (map[string]ServerConfig, error)

LoadFallbackServers imports server configs from standard mcpServers JSON documents used by existing MCP clients.

func MergeFallbackServers

func MergeFallbackServers(cfg *Config) error

MergeFallbackServers fills cfg.Servers from external MCP fallback sources. Managed entries already present in cfg.Servers always win over discovered ones.

func MergeFallbackServersForCWD added in v0.1.6

func MergeFallbackServersForCWD(cfg *Config, cwd string) error

MergeFallbackServersForCWD is like MergeFallbackServers but resolves project-scoped fallback files against the provided working directory. When cwd is empty, it falls back to the process working directory.

func RuntimeConfigSourcePathsForCWD added in v1.0.1

func RuntimeConfigSourcePathsForCWD(cfg *Config, cwd string) []string

RuntimeConfigSourcePathsForCWD returns the ordered file paths that can affect the runtime config for the given working directory.

func Save added in v0.1.13

func Save(cfg *Config) error

Save writes the config to the default config path atomically.

func SaveTo added in v0.1.13

func SaveTo(path string, cfg *Config) error

SaveTo writes cfg to path atomically.

func Validate

func Validate(cfg *Config) error

Validate checks configuration invariants and returns actionable errors.

func ValidateForCurrentEnv added in v0.1.13

func ValidateForCurrentEnv(cfg *Config) error

ValidateForCurrentEnv checks config invariants after expanding ${ENV_VAR} placeholders against the current process environment.

func ValidateServerConfig added in v1.0.0

func ValidateServerConfig(name string, srv ServerConfig) error

ValidateServerConfig checks invariants for a single named server.

Types

type Config

type Config struct {
	Servers         map[string]ServerConfig `toml:"servers"`
	FallbackSources []string                `toml:"fallback_sources"`
	// ServerOrigins records where each server entry came from at runtime.
	// It is runtime metadata only and is not persisted to config.toml.
	ServerOrigins map[string]ServerOrigin `toml:"-" json:"-"`
}

Config is the top-level mcpx configuration.

func Load

func Load() (*Config, error)

Load reads the config file and returns the parsed Config. If the config file does not exist, it returns an empty Config (no error).

func LoadForEdit added in v0.1.13

func LoadForEdit() (*Config, error)

LoadForEdit reads the config file for in-place edits. Unlike Load, it preserves raw ${ENV_VAR} placeholders.

func LoadForEditFrom added in v0.1.13

func LoadForEditFrom(path string) (*Config, error)

LoadForEditFrom reads and parses a config file at the given path for edits. It intentionally skips env expansion so writes do not bake secrets.

func LoadFrom

func LoadFrom(path string) (*Config, error)

LoadFrom reads and parses a config file at the given path.

type FallbackSourceError added in v1.0.1

type FallbackSourceError struct {
	Path string
	Err  error
}

FallbackSourceError reports a source file that failed to load.

func (*FallbackSourceError) Error added in v1.0.1

func (e *FallbackSourceError) Error() string

func (*FallbackSourceError) Unwrap added in v1.0.1

func (e *FallbackSourceError) Unwrap() error

type ServerConfig

type ServerConfig struct {
	// Stdio transport
	Command string            `toml:"command"`
	Args    []string          `toml:"args"`
	Env     map[string]string `toml:"env"`

	// HTTP transport
	URL     string            `toml:"url"`
	Headers map[string]string `toml:"headers"`

	// Caching
	DefaultCacheTTL string                `toml:"default_cache_ttl"`
	NoCacheTools    []string              `toml:"no_cache_tools"`
	Tools           map[string]ToolConfig `toml:"tools"`
}

ServerConfig describes how to connect to a single MCP server.

func ExpandServerForCurrentEnv added in v0.1.13

func ExpandServerForCurrentEnv(server ServerConfig) ServerConfig

ExpandServerForCurrentEnv returns a copy of server with ${ENV_VAR} placeholders expanded from the current process environment.

func (ServerConfig) IsHTTP

func (s ServerConfig) IsHTTP() bool

IsHTTP returns true if the server uses HTTP transport.

func (ServerConfig) IsStdio

func (s ServerConfig) IsStdio() bool

IsStdio returns true if the server uses stdio transport.

type ServerOrigin added in v0.1.14

type ServerOrigin struct {
	Kind ServerOriginKind `json:"kind"`
	Path string           `json:"path,omitempty"`
}

ServerOrigin describes the source of a resolved server entry.

func NewServerOrigin added in v0.1.14

func NewServerOrigin(kind ServerOriginKind, path string) ServerOrigin

func NormalizeServerOrigin added in v0.1.14

func NormalizeServerOrigin(origin ServerOrigin) ServerOrigin

type ServerOriginKind added in v0.1.14

type ServerOriginKind string
const (
	ServerOriginKindCodexApps        ServerOriginKind = "codex_apps"
	ServerOriginKindMCPXConfig       ServerOriginKind = "mcpx_config"
	ServerOriginKindCursor           ServerOriginKind = "cursor"
	ServerOriginKindCodex            ServerOriginKind = "codex"
	ServerOriginKindClaude           ServerOriginKind = "claude"
	ServerOriginKindKiro             ServerOriginKind = "kiro"
	ServerOriginKindFallbackCustom   ServerOriginKind = "fallback_custom"
	ServerOriginKindRuntimeEphemeral ServerOriginKind = "runtime_ephemeral"
)

type ToolConfig

type ToolConfig struct {
	Cache *bool `toml:"cache"`
}

ToolConfig holds per-tool overrides.

Jump to

Keyboard shortcuts

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