No visible JSON Schema definitions for 40 of 42 tools. Tools are routed to external backend API with unvalidated arguments object. Input validation is delegated, not declared in MCP tool definitions.
memory_searchmemory_ingestmemory_about_userinitialise_conversation_sessionend_conversation_sessioninstantiate_contextmemory_multi_hop_searchget_integrationsimport_from_coreset_user_personacrawl_relationshipsget_graph_statisticsget_model_inforeembed_memoriesmemory_updatememory_deletememory_mergememory_splitmemory_decaymemory_reinforcememory_expirememory_supersedememory_tracememory_lineagememory_explainmemory_conflictsdetect_contradictionsdetect_hallucinationsverify_memory_integrityscan_loopsexport_workspaceexport_memoriesexport_graphexport_user_profileexport_markdownengineering_analyzeengineering_visualizeengineering_reasonworkspace_createworkspace_list
Tool descriptions are generic, non-specific, and lack LLM-optimization guidance. Average length ~40 chars. Descriptions like 'Search for memories in the knowledge base' do not explain WHEN to use this tool vs memory_multi_hop_search, what parameters it accepts, or what fields are returned.
memory_searchmemory_ingestmemory_about_userinitialise_conversation_sessionend_conversation_sessioninstantiate_contextmemory_multi_hop_searchget_integrationsimport_from_coreset_user_personacrawl_relationshipsget_graph_statisticsget_model_inforeembed_memoriesmemory_updatememory_deletememory_mergememory_splitmemory_decaymemory_reinforcememory_expirememory_supersedememory_tracememory_lineagememory_explainmemory_conflictsdetect_contradictionsdetect_hallucinationsverify_memory_integrityscan_loopsexport_workspaceexport_memories
Tool definitions are inferred via ToolDefinitions.GetAllTools() and ToolDefinitions.GetLazyTools(), but the actual ToolDefinitions class and schema registration is not visible in provided source. Cannot verify tool registration quality, schema completeness, or parameter typing.
memory_searchmemory_ingestmemory_about_userinitialise_conversation_sessionend_conversation_sessioninstantiate_contextmemory_multi_hop_searchget_integrationsimport_from_coreset_user_personacrawl_relationshipsget_graph_statisticsget_model_inforeembed_memoriesmemory_updatememory_deletememory_mergememory_splitmemory_decaymemory_reinforcememory_expirememory_supersedememory_tracememory_lineagememory_explainmemory_conflictsdetect_contradictionsdetect_hallucinationsverify_memory_integrityscan_loopsexport_workspaceexport_memories
Error handling is generic and does not guide recovery. Examples: 'API request failed', 'Unknown tool', 'Request timed out'. These errors do not suggest corrective actions or retry strategies, violating recovery guidance pattern.
memory_searchmemory_ingestmemory_about_userinitialise_conversation_sessionend_conversation_sessioninstantiate_contextmemory_multi_hop_searchget_integrationsimport_from_coreset_user_personacrawl_relationshipsget_graph_statisticsget_model_inforeembed_memoriesmemory_updatememory_deletememory_mergememory_splitmemory_decaymemory_reinforcememory_expirememory_supersedememory_tracememory_lineagememory_explainmemory_conflictsdetect_contradictionsdetect_hallucinationsverify_memory_integrityscan_loopsexport_workspaceexport_memoriesexport_graphexport_user_profile
40 tools with WRITE and DESTRUCTIVE risk levels lack input validation, dry-run support, or confirmation steps. memory_delete, reembed_memories, import_from_core, and similar destructive operations forward unvalidated arguments directly to backend API without safeguards.
memory_ingestinitialise_conversation_sessionend_conversation_sessionimport_from_coreset_user_personareembed_memoriesmemory_updatememory_deletememory_mergememory_splitmemory_decaymemory_reinforcememory_expirememory_supersedeworkspace_createexecute_tool
No visible parameter descriptions. The two tools with inline schemas (get_tools_in_category, execute_tool) have minimal parameter documentation. For 40 tools, parameters are forwarded to backend with no MCP-level validation or constraint declaration.
memory_searchmemory_ingestmemory_about_userinitialise_conversation_sessionend_conversation_sessioninstantiate_contextmemory_multi_hop_searchget_integrationsimport_from_coreset_user_personacrawl_relationshipsget_graph_statisticsget_model_inforeembed_memoriesmemory_updatememory_deletememory_mergememory_splitmemory_decaymemory_reinforcememory_expirememory_supersedememory_tracememory_lineagememory_explainmemory_conflictsdetect_contradictionsdetect_hallucinationsverify_memory_integrityscan_loopsexport_workspaceexport_memoriesexport_graph
Multiple tools operate on the same resource (memory) but naming does not clearly distinguish purpose: memory_search, memory_multi_hop_search, memory_about_user, memory_ingest, memory_update, memory_delete, memory_merge, memory_split all work with memories. LLMs will struggle to select the right tool.
memory_searchmemory_multi_hop_searchmemory_ingestmemory_about_usermemory_updatememory_deletememory_mergememory_splitmemory_decaymemory_reinforcememory_expirememory_supersedememory_tracememory_lineagememory_explainmemory_conflicts
No output schemas documented. Clients cannot predict what fields tools return, making downstream tool chaining unreliable. Memory operations should return memory_id for use in follow-up calls, but no schema visibility guarantees this.
memory_searchmemory_ingestmemory_about_userinitialise_conversation_sessionend_conversation_sessioninstantiate_contextmemory_multi_hop_searchget_integrationsimport_from_coreset_user_personacrawl_relationshipsget_graph_statisticsget_model_inforeembed_memoriesmemory_updatememory_deletememory_mergememory_splitmemory_decaymemory_reinforcememory_expirememory_supersedememory_tracememory_lineagememory_explainmemory_conflictsdetect_contradictionsdetect_hallucinationsverify_memory_integrityscan_loopsexport_workspaceexport_memoriesexport_graphexport_user_profile