docs_update
Update project documentation automatically after development changes by specifying modified files and change context to maintain accurate technical records.
Instructions
Update documentation after completing development work
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | Array of file paths that were modified | |
| context | Yes | Description of changes made | |
| category | No | Primary category of work (optional, auto-detected if not provided) |
Implementation Reference
- src/tools/documentation/index.ts:103-110 (handler)The handler function for the 'docs_update' MCP tool. It receives input arguments and forwards them to the DocumentationService.processDocumentationRequest method with action set to 'update', which handles the actual documentation update logic.
tools.set('docs_update', async (args: any) => { return await documentationService.processDocumentationRequest({ action: 'update', files: args.files, context: args.context, category: args.category }); }); - The input schema definition for the 'docs_update' tool, specifying required files and context, optional category, used for MCP tool validation.
{ name: 'docs_update', description: 'Update documentation after completing development work', inputSchema: { type: 'object', properties: { files: { type: 'array', items: { type: 'string' }, description: 'Array of file paths that were modified' }, context: { type: 'string', description: 'Description of changes made' }, category: { type: 'string', enum: ['frontend', 'backend', 'electron', 'database', 'testing'], description: 'Primary category of work (optional, auto-detected if not provided)' } }, required: ['files', 'context'] } }, - src/index.ts:411-412 (registration)Registration of all documentation tools, including 'docs_update', into the main MCP tools map and toolDefinitions array in the primary server entry point.
const docTools = registerDocumentationTools(this.tools, this.documentationService); this.toolDefinitions.push(...docTools); - Core helper method implementing the documentation update logic for action 'update'. Orchestrates updates to category READMEs, master documentation, and change history recording.
private async updateDocumentation(context: DocumentationContext, changes: string): Promise<DocumentationResponse> { const updates: string[] = []; try { // Update category-specific documentation const categoryUpdates = await this.updateCategoryDocumentation(context, changes); updates.push(...categoryUpdates); // Update master documentation const masterUpdates = await this.updateMasterDocumentation(context, changes); updates.push(...masterUpdates); // Record change history await this.recordChangeHistory(context, changes); updates.push('Updated change history'); return { success: true, updates, message: `Successfully updated ${updates.length} documentation sections` }; } catch (error) { return { success: false, message: `Documentation update failed: ${(error as any).message}` }; } } - Entry point in DocumentationService that dispatches to specific actions, calling updateDocumentation for the 'docs_update' tool's action.
async processDocumentationRequest(request: DocumentationRequest): Promise<DocumentationResponse> { try { const context = this.buildDocumentationContext(request); if (request.action === 'reference') { return await this.referenceDocumentation(context); } else if (request.action === 'update') { return await this.updateDocumentation(context, request.context); } else { throw new Error(`Unknown action: ${request.action}`); } } catch (error: any) { return { success: false, message: `Documentation processing failed: ${error.message}` }; } }