process_umb_command
Execute the Update Memory Bank (UMB) command to manage and update the central knowledge base on the MCP server with SSH support.
Instructions
Processes the Update Memory Bank (UMB) command
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | Complete UMB command |
Implementation Reference
- src/server/tools/ModeTools.ts:136-185 (handler)The main handler function that implements the process_umb_command tool logic: validates memory bank, checks UMB trigger in command, activates UMB mode if valid.export function handleProcessUmbCommand(memoryBankManager: MemoryBankManager, command: string) { if (!memoryBankManager.getMemoryBankDir()) { return { content: [ { type: 'text', text: 'Memory Bank not found. Use initialize_memory_bank to create one.', }, ], isError: true, }; } const isUmbTrigger = memoryBankManager.checkUmbTrigger(command); if (!isUmbTrigger) { return { content: [ { type: 'text', text: 'Invalid UMB command. Use "Update Memory Bank" or "UMB".', }, ], isError: true, }; } const success = memoryBankManager.activateUmbMode(); if (!success) { return { content: [ { type: 'text', text: 'Failed to activate UMB mode. Check if the current mode supports UMB.', }, ], isError: true, }; } return { content: [ { type: 'text', text: '[MEMORY BANK: UPDATING] UMB mode activated. You can temporarily update Memory Bank files.', }, ], }; }
- src/server/tools/ModeTools.ts:29-42 (schema)Tool schema definition including name, description, and input schema requiring a 'command' string.{ name: 'process_umb_command', description: 'Processes the Update Memory Bank (UMB) command', inputSchema: { type: 'object', properties: { command: { type: 'string', description: 'Complete UMB command', }, }, required: ['command'], }, },
- src/server/tools/index.ts:30-38 (registration)Registers the tool for discovery by including it in the modeTools array within the list of all tools handled by ListToolsRequestSchema.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ ...coreTools, ...progressTools, ...contextTools, ...decisionTools, ...modeTools, ], }));
- src/server/tools/index.ts:265-271 (registration)Dispatches calls to the process_umb_command tool by extracting arguments and invoking the handleProcessUmbCommand handler in the main tool call switch statement.case 'process_umb_command': { const { command } = request.params.arguments as { command: string }; if (!command) { throw new McpError(ErrorCode.InvalidParams, 'Command not specified'); } return handleProcessUmbCommand(memoryBankManager, command); }