Skip to main content
Glama
nicavcrm

Memory Bank MCP Server

by nicavcrm

IMPLEMENT Mode

implement_mode

Execute project plans and creative decisions using structured workflows for software development. Supports tailored implementation based on project phase and complexity levels.

Instructions

Execute the implementation based on plan and creative decisions

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
complexityNo
phaseNo

Implementation Reference

  • The async handler for 'implement_mode' tool: checks complexity, generates implementation guide, updates progress.md and tasks.md files, returns success message with next steps.
        handler: async (input: ImplementModeInput): Promise<ToolResponse> => {
          const currentTasks = this.storage.getTasks();
          const complexity = input.complexity || this.extractComplexityFromTasks(currentTasks);
    
          if (!complexity) {
            return {
              content: [{
                type: 'text',
                text: '❌ Error: Complexity level not found. Please run VAN mode first.'
              }]
            };
          }
    
          const implementationGuide = this.generateImplementationGuide(complexity, input.phase);
    
          // Update progress
          const progress = `# Implementation Progress
    
    ## Phase: ${input.phase || 'Main Implementation'}
    **Complexity Level**: ${complexity}
    **Started**: ${new Date().toISOString()}
    
    ## Build Steps
    ${implementationGuide}
    
    ## Status
    - [ ] Core implementation
    - [ ] Testing
    - [ ] Integration
    - [ ] Documentation
    
    ## Notes
    *Implementation notes and decisions*
    `;
    
          this.storage.setProgress(progress);
    
          // Update tasks
          const updatedTasks = currentTasks.replace(
            '- [ ] IMPLEMENT Mode: Code implementation',
            '- [x] IMPLEMENT Mode: Code implementation ✅'
          );
          this.storage.setTasks(updatedTasks);
    
          return {
            content: [{
              type: 'text',
              text: `✅ IMPLEMENT Mode started!\n\n**Complexity**: Level ${complexity}\n**Phase**: ${input.phase || 'Main Implementation'}\n**Status**: Implementation guide created\n**Next**: Complete implementation then proceed to REFLECT+ARCHIVE mode.`
            }]
          };
        }
  • src/server.ts:74-89 (registration)
    Registers the 'implement_mode' tool with the MCP server, defining title, description, Zod input schema, and handler delegating to MemoryBankTools.implementTool.handler.
    this.server.registerTool(
      'implement_mode',
      {
        title: 'IMPLEMENT Mode',
        description: 'Execute the implementation based on plan and creative decisions',
        inputSchema: {
          phase: z.string().optional(),
          complexity: z.string().refine(val => ['1', '2', '3', '4'].includes(val), {
            message: 'Complexity must be 1, 2, 3, or 4'
          }).optional()
        }
      },
      async (args) => {
        return await (this.tools.implementTool.handler as any)(args);
      }
    );
  • TypeScript interface defining the input shape for the implement_mode tool handler.
    interface ImplementModeInput {
      phase?: string;
      complexity?: '1' | '2' | '3' | '4';
    }
  • JSON Schema definition for input validation within the tool object.
    inputSchema: {
      type: 'object',
      properties: {
        phase: {
          type: 'string',
          description: 'Implementation phase (for complex projects)'
        },
        complexity: {
          type: 'string',
          enum: ['1', '2', '3', '4'],
          description: 'Complexity level (optional, will read from tasks.md if not provided)'
        }
      }
    },
  • Helper method called by the handler to generate complexity-specific implementation guide strings.
      private generateImplementationGuide(complexity: string, phase?: string): string {
        if (complexity === '1') {
          return `### Level 1 Build Process:
    1. 🔍 Review bug report
    2. 👁️ Examine relevant code
    3. ⚒️ Implement targeted fix
    4. ✅ Test fix
    5. 📝 Update documentation`;
        } else if (complexity === '2') {
          return `### Level 2 Build Process:
    1. 📋 Follow build plan
    2. 🔨 Build each component
    3. ✅ Test each component
    4. 🔄 Verify integration
    5. 📝 Document build details`;
        } else {
          return `### Level ${complexity} Build Process:
    **Phase**: ${phase || 'Core Implementation'}
    
    1. 🎨 Review creative phase decisions
    2. 🏗️ Build in planned phases
    3. ✅ Test each phase thoroughly
    4. 🔄 Integration testing
    5. 📝 Detailed documentation
    6. 🔍 Comprehensive review`;
        }
      }
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but fails to deliver. 'Execute the implementation' suggests a potentially destructive or state-changing operation, but there's no information about side effects, permissions required, idempotency, error conditions, or what 'execution' entails. The description doesn't mention whether this is a read-only operation, what happens upon completion, or any behavioral constraints. This leaves the agent completely in the dark about how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise - a single sentence that gets straight to the point without unnecessary words. It's front-loaded with the core action ('Execute the implementation'). While the content is inadequate, the form is efficient with no wasted verbiage. The sentence structure is clear and direct, making good use of limited space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an 'implementation' tool with no annotations, no output schema, and 2 undocumented parameters, the description is woefully incomplete. The agent needs to understand what 'implementation' means in this system, what happens when executed, what the parameters control, and how this differs from related modes. The description provides only the barest hint of functionality without the necessary context for safe and effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for both parameters (complexity and phase), the description must compensate but provides no parameter information whatsoever. The description mentions 'plan and creative decisions' which might relate to parameters, but doesn't map to the actual parameters 'complexity' and 'phase' in the schema. For a tool with 2 undocumented parameters, this represents a significant gap in understanding what inputs are required and what they mean.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Execute the implementation based on plan and creative decisions' is tautological - it essentially restates the tool name 'implement_mode' as 'execute the implementation'. While it mentions 'plan and creative decisions' as inputs, it doesn't specify what resource or system is being implemented, what 'implementation' means in this context, or how it differs from sibling tools like 'creative_mode' or 'plan_mode'. The purpose remains vague rather than specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, sequencing (e.g., 'use after plan_mode'), or contextual triggers. With sibling tools like 'creative_mode', 'plan_mode', and 'reflect_archive_mode' available, the agent receives no help in selecting the appropriate tool for a given situation. The phrase 'based on plan and creative decisions' hints at dependencies but doesn't constitute clear usage guidelines.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

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