Documentation
¶
Index ¶
- func ExampleConfigPath() string
- func LoadFallbackServers() (map[string]ServerConfig, error)
- func MergeFallbackServers(cfg *Config) error
- func MergeFallbackServersForCWD(cfg *Config, cwd string) error
- func Save(cfg *Config) error
- func SaveTo(path string, cfg *Config) error
- func Validate(cfg *Config) error
- func ValidateForCurrentEnv(cfg *Config) error
- type Config
- type ServerConfig
- type ServerOrigin
- type ServerOriginKind
- type ToolConfig
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 LoadFallbackServers ¶
func LoadFallbackServers() (map[string]ServerConfig, error)
LoadFallbackServers imports server configs from standard mcpServers JSON documents used by existing MCP clients.
func MergeFallbackServers ¶
MergeFallbackServers fills cfg.Servers from external MCP fallback sources when the primary config has no servers.
func MergeFallbackServersForCWD ¶ added in v0.1.6
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 ValidateForCurrentEnv ¶ added in v0.1.13
ValidateForCurrentEnv checks config invariants after expanding ${ENV_VAR} placeholders against the current process environment.
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 ¶
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
LoadForEdit reads the config file for in-place edits. Unlike Load, it preserves raw ${ENV_VAR} placeholders.
func LoadForEditFrom ¶ added in v0.1.13
LoadForEditFrom reads and parses a config file at the given path for edits. It intentionally skips env expansion so writes do not bake secrets.
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" )
type ToolConfig ¶
type ToolConfig struct {
Cache *bool `toml:"cache"`
}
ToolConfig holds per-tool overrides.