dollhouse_config
Manage configuration settings for AI persona management in DollhouseMCP, including getting, setting, resetting, and importing/exporting configuration data.
Instructions
Manage DollhouseMCP configuration settings. Replaces set_user_identity, get_user_identity, and clear_user_identity tools.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The configuration action to perform | |
| setting | No | Dot-notation path to setting (e.g., 'user.username', 'sync.enabled'). Required for 'set' action, optional for 'get'. | |
| value | No | Value to set (required for 'set' action). Can be string, number, boolean, or object. | |
| section | No | Configuration section to reset (optional for 'reset' action) | |
| format | No | Export format (default: yaml) | |
| data | No | Configuration data to import (required for 'import' action) |
Implementation Reference
- src/handlers/ConfigHandler.ts:55-97 (handler)Core handler function that dispatches dollhouse_config tool actions (get, set, reset, export, import, wizard) using ConfigManagerasync handleConfigOperation(options: ConfigOperationOptions, indicator: string = '') { try { await this.configManager.initialize(); switch (options.action) { case 'get': return this.handleGet(options, indicator); case 'set': return this.handleSet(options, indicator); case 'reset': return this.handleReset(options, indicator); case 'export': return this.handleExport(options, indicator); case 'import': return this.handleImport(options, indicator); case 'wizard': return await this.handleWizard(indicator); default: return { content: [{ type: "text", text: `${indicator}❌ Invalid action '${options.action}'.\n\n` + `Valid actions: get, set, reset, export, import, wizard` }] }; } } catch (error) { const sanitizedError = SecureErrorHandler.sanitizeError(error); return { content: [{ type: "text", text: `${indicator}❌ Configuration operation failed: ${sanitizedError.message}` }] }; } }
- JSON schema defining the input parameters and structure for the dollhouse_config toolinputSchema: { type: "object", properties: { action: { type: "string", enum: ["get", "set", "reset", "export", "import", "wizard"], description: "The configuration action to perform" }, setting: { type: "string", description: "Dot-notation path to setting (e.g., 'user.username', 'sync.enabled'). Required for 'set' action, optional for 'get'." }, value: { description: "Value to set (required for 'set' action). Can be string, number, boolean, or object." }, section: { type: "string", description: "Configuration section to reset (optional for 'reset' action)" }, format: { type: "string", enum: ["yaml", "json"], description: "Export format (default: yaml)" }, data: { type: "string", description: "Configuration data to import (required for 'import' action)" } }, required: ["action"] }
- src/server/tools/ConfigToolsV2.ts:10-47 (registration)Tool definition object registering 'dollhouse_config' with MCP server, including name, description, schema, and handler delegate{ tool: { name: "dollhouse_config", description: "Manage DollhouseMCP configuration settings. Replaces set_user_identity, get_user_identity, and clear_user_identity tools.", inputSchema: { type: "object", properties: { action: { type: "string", enum: ["get", "set", "reset", "export", "import", "wizard"], description: "The configuration action to perform" }, setting: { type: "string", description: "Dot-notation path to setting (e.g., 'user.username', 'sync.enabled'). Required for 'set' action, optional for 'get'." }, value: { description: "Value to set (required for 'set' action). Can be string, number, boolean, or object." }, section: { type: "string", description: "Configuration section to reset (optional for 'reset' action)" }, format: { type: "string", enum: ["yaml", "json"], description: "Export format (default: yaml)" }, data: { type: "string", description: "Configuration data to import (required for 'import' action)" } }, required: ["action"] } }, handler: (args: any) => server.handleConfigOperation(args) },
- src/server/ServerSetup.ts:75-86 (registration)Registration of ConfigToolsV2 (containing dollhouse_config) into the ToolRegistry during server setup// Register new unified config and sync tools this.toolRegistry.registerMany(getConfigToolsV2(instance)); // Register build info tools this.toolRegistry.registerMany(getBuildInfoTools(instance)); // Register Enhanced Index tools (semantic search and relationships) this.toolRegistry.registerMany(getEnhancedIndexTools(instance)); // Invalidate cache since tools have changed this.toolCache.invalidateToolList(); logger.debug('ToolDiscoveryCache: Cache invalidated due to tool registration');
- src/config/ConfigManager.ts:166-177 (helper)Type definition for the full DollhouseConfig structure used by the configuration systemexport interface DollhouseConfig { version: string; user: UserConfig; github: GitHubConfig; sync: SyncConfig; collection: CollectionConfig; autoLoad: AutoLoadConfig; elements: ElementsConfig; display: DisplayConfig; wizard: WizardConfig; source_priority?: SourcePriorityConfigData; }