list_manuals
Access and browse all available Waferlock product manuals to find specific documentation for robot management and operation.
Instructions
List all uploaded Waferlock product manuals
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/services/mcpService.ts:186-211 (registration)Registration of the 'list_manuals' MCP tool, including description, empty input schema, and inline handler function that fetches the list of manuals via the manualProvider, serializes them, formats a text response, and provides structured content.this.server.registerTool( 'list_manuals', { description: 'List all available manuals with basic metadata (no download)', inputSchema: {} }, async () => { const manuals = await this.manualProvider.listManuals(); const serialised = manuals.map(serialiseManual); return { content: [ { type: 'text', text: serialised.length > 0 ? `Found ${serialised.length} manuals:\n\n${formatManualList(manuals)}` : 'No manuals found.', }, ], structuredContent: { manuals: serialised, }, }; } );
- src/services/manualApiProvider.ts:95-98 (handler)The core handler logic for listing manuals: makes an authenticated API request to '/api/files/list', parses the ListResponse, and maps API manuals to UploadedFile objects.async listManuals(): Promise<UploadedFile[]> { const data = await request<ListResponse>('/api/files/list'); return (data.files || []).map(toUploadedFile); },
- src/services/mcpService.ts:22-28 (helper)Helper function to serialize UploadedFile objects for JSON output, ensuring dates are strings and optional fields are null if missing.function serialiseManual(manual: UploadedFile) { return { ...manual, uploadedAt: manual.uploadedAt instanceof Date ? manual.uploadedAt.toISOString() : manual.uploadedAt, indexStartedAt: manual.indexStartedAt || null, indexCompletedAt: manual.indexCompletedAt || null, };
- Type definition for the API response from /api/files/list, defining the structure of the manuals list.interface ListResponse { files: ApiManual[]; }