The recent consolidation of backup tools (Issue #8320) introduced a multipart/form-data definition and complex response schemas that broke the Memory Core.
Root Causes:
- Tool Shape Incompatibility: The
multipart/form-data content type and format: binary for the file argument are incompatible with text-based LLM interactions and standard MCP tool definitions.
- Schema Validation Failure: The use of
oneOf in the manage_database_backup response schema caused zod-to-json-schema conversion errors (expected "object") during tool discovery, preventing the server from listing tools.
- Implementation Mismatch: The
DatabaseService.mjs implementation returned inconsistent data structures (e.g., missing message in imports, returning total) that did not align with the defined OpenAPI schema.
Solution:
- Simplify Input Schema: Change
requestBody to application/json and file to a string path.
- Unified Response Schema: Replace
oneOf with a single BackupActionResponse schema containing nullable fields (imported, skipped, total, mode) and a mandatory message.
- Standardize Service Output: Update
DatabaseService.mjs to return a consistent object structure matching the new schema.
The recent consolidation of backup tools (Issue #8320) introduced a
multipart/form-datadefinition and complex response schemas that broke the Memory Core.Root Causes:
multipart/form-datacontent type andformat: binaryfor thefileargument are incompatible with text-based LLM interactions and standard MCP tool definitions.oneOfin themanage_database_backupresponse schema causedzod-to-json-schemaconversion errors (expected "object") during tool discovery, preventing the server from listing tools.DatabaseService.mjsimplementation returned inconsistent data structures (e.g., missingmessagein imports, returningtotal) that did not align with the defined OpenAPI schema.Solution:
requestBodytoapplication/jsonandfileto a string path.oneOfwith a singleBackupActionResponseschema containing nullable fields (imported,skipped,total,mode) and a mandatorymessage.DatabaseService.mjsto return a consistent object structure matching the new schema.