Skip to main content
Glama
nicavcrm

Memory Bank MCP Server

by nicavcrm

creative_mode

Design and architect complex components by defining names, creative types, and requirements. Supports architecture, algorithm, and UI/UX development for structured project workflows.

Instructions

Design and architecture work for complex components

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
component_nameYes
creative_typeYes
requirementsYes

Implementation Reference

  • The core handler function for the 'creative_mode' tool. It generates a creative design template document based on the input component name, type, and requirements, stores it using the storage system, updates the tasks status, and returns a success response.
    handler: async (input: CreativeModeInput): Promise<ToolResponse> => { const timestamp = new Date().toISOString(); const creativeDoc = `# 🎨🎨🎨 ENTERING CREATIVE PHASE: ${input.creative_type.toUpperCase()} ## Component: ${input.component_name} **Type**: ${input.creative_type} **Started**: ${timestamp} ## Requirements & Constraints ${input.requirements} ## Design Options *To be filled with multiple design approaches* ### Option 1: [Name] **Pros:** - **Cons:** - ### Option 2: [Name] **Pros:** - **Cons:** - ## Recommended Approach *Selection with justification* ## Implementation Guidelines *How to implement the selected solution* ## Verification *Does solution meet requirements?* # 🎨🎨🎨 EXITING CREATIVE PHASE `; this.storage.setCreativeContent(input.component_name, creativeDoc); // Update tasks const currentTasks = this.storage.getTasks(); const updatedTasks = currentTasks.replace( '- [ ] CREATIVE Mode: Design decisions (if required)', '- [x] CREATIVE Mode: Design decisions ✅' ); this.storage.setTasks(updatedTasks); return { content: [{ type: 'text', text: `✅ CREATIVE Mode initialized for ${input.component_name}!\n\n**Creative Type**: ${input.creative_type}\n**Status**: Design template created\n**Next**: Complete the design options and analysis, then proceed to IMPLEMENT mode.` }] }; } };
  • src/server.ts:57-71 (registration)
    MCP server registration of the 'creative_mode' tool, including Zod input schema validation and a wrapper handler that delegates to the core handler in tools.ts.
    this.server.registerTool( 'creative_mode', { title: 'CREATIVE Mode', description: 'Design and architecture work for complex components', inputSchema: { component_name: z.string(), creative_type: z.enum(['architecture', 'algorithm', 'uiux']), requirements: z.string() } }, async (args) => { return await (this.tools.creativeTool.handler as any)(args); } );
  • TypeScript interface defining the input shape for the creative_mode tool handler.
    interface CreativeModeInput { component_name: string; creative_type: 'architecture' | 'algorithm' | 'uiux'; requirements: string; }
  • JSON Schema definition for the creative_mode tool input, used in the internal tool definition.
    inputSchema: { type: 'object', properties: { component_name: { type: 'string', description: 'Name of the component requiring creative design' }, creative_type: { type: 'string', enum: ['architecture', 'algorithm', 'uiux'], description: 'Type of creative work needed' }, requirements: { type: 'string', description: 'Requirements and constraints for the component' } }, required: ['component_name', 'creative_type', 'requirements'] },
  • src/tools.ts:172-251 (registration)
    Internal definition and registration of the creative_mode tool within the MemoryBankTools class, including name, description, schema, and handler.
    creativeTool: MemoryBankTool<CreativeModeInput> = { name: 'creative_mode', description: 'Design and architecture work for complex components', inputSchema: { type: 'object', properties: { component_name: { type: 'string', description: 'Name of the component requiring creative design' }, creative_type: { type: 'string', enum: ['architecture', 'algorithm', 'uiux'], description: 'Type of creative work needed' }, requirements: { type: 'string', description: 'Requirements and constraints for the component' } }, required: ['component_name', 'creative_type', 'requirements'] }, handler: async (input: CreativeModeInput): Promise<ToolResponse> => { const timestamp = new Date().toISOString(); const creativeDoc = `# 🎨🎨🎨 ENTERING CREATIVE PHASE: ${input.creative_type.toUpperCase()} ## Component: ${input.component_name} **Type**: ${input.creative_type} **Started**: ${timestamp} ## Requirements & Constraints ${input.requirements} ## Design Options *To be filled with multiple design approaches* ### Option 1: [Name] **Pros:** - **Cons:** - ### Option 2: [Name] **Pros:** - **Cons:** - ## Recommended Approach *Selection with justification* ## Implementation Guidelines *How to implement the selected solution* ## Verification *Does solution meet requirements?* # 🎨🎨🎨 EXITING CREATIVE PHASE `; this.storage.setCreativeContent(input.component_name, creativeDoc); // Update tasks const currentTasks = this.storage.getTasks(); const updatedTasks = currentTasks.replace( '- [ ] CREATIVE Mode: Design decisions (if required)', '- [x] CREATIVE Mode: Design decisions ✅' ); this.storage.setTasks(updatedTasks); return { content: [{ type: 'text', text: `✅ CREATIVE Mode initialized for ${input.component_name}!\n\n**Creative Type**: ${input.creative_type}\n**Status**: Design template created\n**Next**: Complete the design options and analysis, then proceed to IMPLEMENT mode.` }] }; } };

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nicavcrm/memory-bank-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server