/** * MCP Configuration - Load/save MCP server configs from ~/.0xkobold/mcp.json * * Also supports Claude Desktop's config format at: * - ~/.claude/mcp.json * - ~/.config/claude-code/mcp.json * * DRY: Single source of truth for MCP server configuration * KISS: Plain JSON, no ORM, no migration * FP: Pure functions for loading/saving */ import type { MCPServerConfig } from "../client/index.js"; export interface MCPConfig { servers: MCPServerConfig[]; /** Import servers from Claude Desktop config */ importClaudeDesktop?: boolean; } /** Create a default config with common servers disabled */ export declare function createDefaultConfig(): MCPConfig; /** Merge global config with project-local config. * Project servers override global servers with the same name (by name). */ export declare function mergeProjectConfig(global: MCPConfig, project: MCPConfig): MCPConfig; export declare function loadConfig(): MCPConfig; /** Save config to disk */ export declare function saveConfig(config: MCPConfig): void; /** * Import servers from Claude Desktop's config format. * Claude Desktop uses: { "mcpServers": { "name": { "command": ..., "args": ... } } } */ export declare function importClaudeDesktopServers(): MCPServerConfig[]; /** * Get all enabled servers from config, optionally merging Claude Desktop servers */ export declare function getEnabledServers(config: MCPConfig): MCPServerConfig[]; /** Add or update a server config */ export declare function upsertServer(config: MCPConfig, server: MCPServerConfig): MCPConfig; /** Remove a server config by name */ export declare function removeServer(config: MCPConfig, name: string): MCPConfig; /** Toggle a server's enabled state */ export declare function toggleServer(config: MCPConfig, name: string): MCPConfig; /** Normalize raw parsed config into well-typed MCPConfig */ export declare function normalizeConfig(raw: any): MCPConfig; //# sourceMappingURL=index.d.ts.map