Skip to main content
Glama

track_progress

Use this tool to log progress and update Memory Bank files via SSH, documenting actions like feature implementations or bug fixes with detailed descriptions.

Instructions

Track progress and update Memory Bank files

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAction performed (e.g., 'Implemented feature', 'Fixed bug')
descriptionYesDetailed description of the progress
updateActiveContextNoWhether to update the active context file

Implementation Reference

  • Handler function that executes the track_progress tool by calling ProgressTracker.trackProgress and returning a response.
    export async function handleTrackProgress( progressTracker: ProgressTracker, action: string, description: string ) { await progressTracker.trackProgress(action, { description }); return { content: [ { type: 'text', text: `Progress tracked: ${action} - ${description}`, }, ], }; }
  • Input schema definition for the track_progress tool, including parameters for action and description.
    export const progressTools = [ { name: 'track_progress', description: 'Track progress and update Memory Bank files', inputSchema: { type: 'object', properties: { action: { type: 'string', description: "Action performed (e.g., 'Implemented feature', 'Fixed bug')", }, description: { type: 'string', description: 'Detailed description of the progress', }, updateActiveContext: { type: 'boolean', description: 'Whether to update the active context file', default: true, }, }, required: ['action', 'description'], }, }, ];
  • Registration and dispatching of the track_progress tool in the main tool call handler switch statement.
    case 'track_progress': { const progressTracker = getProgressTracker(); if (!progressTracker) { return { content: [ { type: 'text', text: 'Memory Bank not found. Use initialize_memory_bank to create one.', }, ], isError: true, }; } const { action, description } = request.params.arguments as { action: string; description: string; }; if (!action) { throw new McpError(ErrorCode.InvalidParams, 'Action not specified'); } if (!description) { throw new McpError(ErrorCode.InvalidParams, 'Description not specified'); } return handleTrackProgress(progressTracker, action, description); }
  • Core implementation of progress tracking, updating progress.md and active-context.md files in the Memory Bank.
    async trackProgress(action: string, details: ProgressDetails): Promise<string> { try { // Add GitHub profile URL to details if not already present if (!details.userId) { details.userId = this.userId; } // Update the progress file const updatedContent = await this.updateProgressFile(action, details); // Update the active context file await this.updateActiveContextFile(action, details); // Return the updated progress content return updatedContent; } catch (error) { console.error(`Error tracking progress: ${error}`); throw new Error(`Failed to track progress: ${error}`); } }

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/aakarsh-sasi/memory-bank-mcp'

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