{"serverId":"mcp-registry/io.github.carrasquelalex1/hipocampo","tools":[{"name":"add_watch_dir","fixed":{"name":"add_watch_dir","description":"Agrega un directorio al watch list para auto-reindexación.","inputSchema":{"type":"object","title":"add_watch_dirArguments","required":["path"],"properties":{"path":{"type":"string","title":"Path"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"delete_hipocampo","fixed":{"name":"delete_hipocampo","description":"\n    Elimina un recuerdo del Hipocampo (memoria_vectorial) por su ID.\n\n    Esta operación es irreversible. Una vez eliminado, el recuerdo\n    no podrá recuperarse ni aparecerá en búsquedas futuras.\n\n    Args:\n        id: ID numérico del recuerdo a eliminar.\n\n    Returns:\n        Confirmación de eliminación.\n    ","inputSchema":{"type":"object","title":"delete_hipocampoArguments","required":["id"],"properties":{"id":{"type":"integer","title":"Id"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":141,"tokensAfter":141},{"name":"get_hipocampo","fixed":{"name":"get_hipocampo","description":"Obtiene una memoria exacta por ID, sin pasar por el ranking.\n\n    Acepta el ID numérico de memoria_vectorial (4039), con prefijo (#4039,\n    v4039) o el ID de memory_items (vmi<uuid>). Es la vía determinista para\n    \"tráeme el recuerdo N\": no compite con decenas de resultados.\n\n    Args:\n        id: ID de la memoria (numérico o vmi<uuid>).\n        format: \"compact\" (default), \"full\" o \"json\".\n\n    Returns:\n        La memoria completa (compact muestra un fragmento de 800 chars;\n        full/json","inputSchema":{"type":"object","title":"get_hipocampoArguments","required":["id"],"properties":{"id":{"type":"string","title":"Id"},"format":{"type":"string","title":"Format","default":"compact"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":211,"tokensAfter":211},{"name":"hipocampo_checkpoint","fixed":{"name":"hipocampo_checkpoint","description":"\n    Comprime memorias antiguas usando checkpointing logarítmico.\n\n    Con dry_run=True (default) es solo lectura — seguro, no modifica datos.\n    Con dry_run=False es destructivo: comprime memorias antiguas de forma\n    irreversible (las originales se eliminan tras comprimir). Idempotente:\n    ejecutar múltiples veces no daña datos.\n\n    Para ejecutar checkpoint como parte del ciclo completo de mantenimiento,\n    usar hipocampo_maintenance (paso 3 del ciclo). Esta herramienta es para\n    ejecuc","inputSchema":{"type":"object","title":"hipocampo_checkpointArguments","properties":{"dry_run":{"type":"boolean","title":"Dry Run","default":true}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":197,"tokensAfter":197},{"name":"hipocampo_health","fixed":{"name":"hipocampo_health","description":"\n    Ejecuta un health check completo del sistema Hipocampo.\n\n    Verifica: PostgreSQL, NVIDIA API, tablas, espacio en disco, extensiones.\n\n    Returns:\n        Reporte formateado del estado del sistema.\n    ","inputSchema":{"type":"object","title":"hipocampo_healthArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":96,"tokensAfter":96},{"name":"hipocampo_stats","fixed":{"name":"hipocampo_stats","description":"\n    Muestra estadísticas de rendimiento del sistema Hipocampo.\n\n    Analiza latencia de queries, métodos usados, scores promedios\n    y da recomendaciones de optimización.\n\n    Returns:\n        Reporte de métricas y recomendaciones.\n    ","inputSchema":{"type":"object","title":"hipocampo_statsArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"list_trade_knowledge","fixed":{"name":"list_trade_knowledge","description":"Lista todas las memorias marcadas como conocimiento del oficio.\n\n    Muestra id, preview, reusability, domain_profile y days since last access.\n    ","inputSchema":{"type":"object","title":"list_trade_knowledgeArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"list_watch_dirs","fixed":{"name":"list_watch_dirs","description":"Lista los directorios configurados para auto-reindexación.","inputSchema":{"type":"object","title":"list_watch_dirsArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"list_watches","fixed":{"name":"list_watches","description":"\n    Lista todos los webhooks registrados.\n\n    Returns:\n        Lista de watches con ID, patrón y URL.\n    ","inputSchema":{"type":"object","title":"list_watchesArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"quick_hipocampo_search","fixed":{"name":"quick_hipocampo_search","description":"\n    Búsqueda rápida en el Hipocampo (alias corto de search_hipocampo).\n\n    Es solo lectura — no modifica datos. Comportamiento y argumentos idénticos\n    a search_hipocampo (filtros code:/category:/id:/after:, format compact/full/json,\n    rerank auto/always/never).\n    ","inputSchema":{"type":"object","title":"quick_hipocampo_searchArguments","properties":{"k":{"type":"integer","title":"K","default":5},"ids":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"title":"Ids","default":null},"code":{"type":"string","title":"Code","default":""},"nivel":{"type":"string","title":"Nivel","default":""},"query":{"type":"string","title":"Query","default":""},"format":{"type":"string","title":"Format","default":"compact"},"offset":{"type":"integer","title":"Offset","default":0},"rerank":{"type":"string","title":"Rerank","default":"auto"},"explain":{"type":"boolean","title":"Explain","default":false},"categories":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Categories","default":null},"session_id":{"type":"string","title":"Session Id","default":""},"memory_type":{"type":"string","title":"Memory Type","default":""},"rerank_top_k":{"type":"integer","title":"Rerank Top K","default":8},"created_after":{"type":"string","title":"Created After","default":""},"snippet_chars":{"type":"integer","title":"Snippet Chars","default":300},"created_before":{"type":"string","title":"Created Before","default":""},"include_scores":{"type":"boolean","title":"Include Scores","default":false},"include_pending":{"type":"boolean","title":"Include Pending","default":true},"rerank_budget_ms":{"type":"integer","title":"Rerank Budget Ms","default":800}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":487,"tokensAfter":487},{"name":"remove_watch_dir","fixed":{"name":"remove_watch_dir","description":"Elimina un directorio del watch list.","inputSchema":{"type":"object","title":"remove_watch_dirArguments","required":["path"],"properties":{"path":{"type":"string","title":"Path"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"rollback_checkpoint","fixed":{"name":"rollback_checkpoint","description":"\n    Revierte un checkpoint usando el snapshot guardado previamente.\n\n    Busca el snapshot por ID y verifica qué IDs originales fueron comprimidos.\n    Si los originales aún existen, reporta que no se necesita rollback.\n    Si fueron eliminados, intenta restaurarlos.\n\n    Args:\n        snapshot_id: ID del snapshot [CHECKPOINT SNAPSHOT] guardado.\n\n    Returns:\n        Reporte de la operación de rollback.\n    ","inputSchema":{"type":"object","title":"rollback_checkpointArguments","required":["snapshot_id"],"properties":{"snapshot_id":{"type":"integer","title":"Snapshot Id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":178,"tokensAfter":178},{"name":"search_code","fixed":{"name":"search_code","description":"\n    Busca código fuente indexado en Hipocampo (RAG).\n\n    Similar a search_hipocampo pero filtra solo recuerdos de tipo\n    code_snippet y devuelve fragmentos de código real con\n    ubicación de archivo.\n\n    Args:\n        query: Consulta en lenguaje natural.\n        k: Número de resultados (default 5, max 20).\n        language: Filtrar por lenguaje (php, javascript, python, sql, etc.).\n                  Vacío = todos los lenguajes.\n\n    Returns:\n        Fragmentos de código relevantes con meta","inputSchema":{"type":"object","title":"search_codeArguments","required":["query"],"properties":{"k":{"type":"integer","title":"K","default":5},"query":{"type":"string","title":"Query"},"language":{"type":"string","title":"Language","default":""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":223,"tokensAfter":223},{"name":"search_hipocampo","fixed":{"name":"search_hipocampo","description":"Busca en el Hipocampo con carriles estructurados + semánticos.\n\n    Es solo lectura (no modifica memorias). Devuelve una salida compacta por\n    defecto: id, relevancia, code/fecha/nivel, un fragmento corto y el motivo.\n\n    Sintaxis de query (opcional, se puede combinar con texto libre):\n      code:opencode_session_forensics\n      category:infraestructura,trigger:mcp\n      nivel:automatica  |  type:decision  |  id:4039  |  #4039\n      after:2026-10-01  |  since:7d  |  before:today\n      \"frase ","inputSchema":{"type":"object","title":"search_hipocampoArguments","properties":{"k":{"type":"integer","title":"K","default":5},"ids":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"title":"Ids","default":null},"code":{"type":"string","title":"Code","default":""},"nivel":{"type":"string","title":"Nivel","default":""},"query":{"type":"string","title":"Query","default":""},"format":{"type":"string","title":"Format","default":"compact"},"offset":{"type":"integer","title":"Offset","default":0},"rerank":{"type":"string","title":"Rerank","default":"auto"},"explain":{"type":"boolean","title":"Explain","default":false},"categories":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Categories","default":null},"session_id":{"type":"string","title":"Session Id","default":""},"memory_type":{"type":"string","title":"Memory Type","default":""},"rerank_top_k":{"type":"integer","title":"Rerank Top K","default":8},"created_after":{"type":"string","title":"Created After","default":""},"snippet_chars":{"type":"integer","title":"Snippet Chars","default":300},"created_before":{"type":"string","title":"Created Before","default":""},"include_scores":{"type":"boolean","title":"Include Scores","default":false},"include_pending":{"type":"boolean","title":"Include Pending","default":true},"rerank_budget_ms":{"type":"integer","title":"Rerank Budget Ms","default":800}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":548,"tokensAfter":548},{"name":"set_nivel_hipocampo","fixed":{"name":"set_nivel_hipocampo","description":"\n    Cambia el nivel jerárquico de un recuerdo.\n\n    Niveles:\n      - \"episodica\" — detalle completo, comprimible por checkpoint\n      - \"semantica\" — conocimiento consolidado, protegido de compresión\n      - \"automatica\" — regla permanente, nunca se comprime/checkpointea\n\n    Args:\n        id: ID del recuerdo.\n        nivel: Nuevo nivel: \"episodica\", \"semantica\", o \"automatica\".\n\n    Returns:\n        Confirmación del cambio.\n    ","inputSchema":{"type":"object","title":"set_nivel_hipocampoArguments","required":["id","nivel"],"properties":{"id":{"type":"integer","title":"Id"},"nivel":{"type":"string","title":"Nivel"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":194,"tokensAfter":194},{"name":"update_hipocampo","fixed":{"name":"update_hipocampo","description":"\n    Actualiza un recuerdo existente en el Hipocampo (memoria_vectorial).\n\n    Si se proporciona content, el embedding se regenera en BACKGROUND (no\n    bloquea la llamada, igual que save_hipocampo): la fila conserva su\n    embedding anterior hasta el backfill y la búsqueda semántica pasa al\n    nuevo en cuanto esté listo. Los campos no proporcionados no se modifican.\n\n    Args:\n        id: ID numérico del recuerdo a actualizar.\n        content: Nuevo texto del recuerdo (opcional). Si se provee,","inputSchema":{"type":"object","title":"update_hipocampoArguments","required":["id"],"properties":{"id":{"type":"integer","title":"Id"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","default":null},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content","default":null},"categories":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Categories","default":null},"meta_patch":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Meta Patch","default":null},"memory_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memory Type","default":null}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":335,"tokensAfter":335},{"name":"validate_immune_rule","fixed":{"name":"validate_immune_rule","description":"\n    Valida una regla inmunológica (Nivel 4).\n\n    Analiza una regla 'automatica' marcada como REGLA INMUNOLÓGICA:\n    1. Verifica snapshots pre-cambio vinculados en memory_links\n    2. Detecta reglas contradictorias sobre el mismo archivo/proyecto\n    3. Reporta reglas huérfanas (>30d sin enlaces entrantes)\n\n    Args:\n        rule_id: ID de la regla inmunológica a validar.\n\n    Returns:\n        Reporte de validación con recomendaciones.\n    ","inputSchema":{"type":"object","title":"validate_immune_ruleArguments","required":["rule_id"],"properties":{"rule_id":{"type":"integer","title":"Rule Id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":185,"tokensAfter":185}],"toolsChanged":17,"tokensSaved":0,"todo":[{"tool":"add_watch_dir","params":["path"]},{"tool":"compress_hipocampo","params":["k","query","method","budget_ratio","target_token","include_metadata"]},{"tool":"consolidate_hipocampo","params":["dry_run","min_age_days"]},{"tool":"contradicciones_hipocampo","params":["memory_id"]},{"tool":"decay_hipocampo","params":["dry_run","min_age_days"]},{"tool":"delete_hipocampo","params":["id"]},{"tool":"get_hipocampo","params":["id","format"]},{"tool":"graph_hipocampo","params":["depth","node_id","max_nodes"]},{"tool":"hipocampo_budget","params":["dry_run"]},{"tool":"hipocampo_checkpoint","params":["dry_run"]},{"tool":"hipocampo_dedup","params":["merge"]},{"tool":"index_project","params":["force","project_path"]},{"tool":"link_hipocampo","params":["weight","source_id","target_id","relation_type"]},{"tool":"path_hipocampo","params":["to_id","from_id","max_depth"]},{"tool":"preload_context","params":["k","rerank","project_path"]},{"tool":"profile_hipocampo","params":["extra","summary","categories"]},{"tool":"quick_hipocampo_search","params":["k","ids","code","nivel","query","format","offset","rerank","explain","categories","session_id","memory_type","rerank_top_k","created_after","snippet_chars","created_before","include_scores","include_pending","rerank_budget_ms"]},{"tool":"reindex_now","params":["path"]},{"tool":"remove_watch_dir","params":["path"]},{"tool":"restaurar_historica","params":["historica_id"]},{"tool":"review_automatica","params":["dry_run","max_age_days"]},{"tool":"review_trade_knowledge","params":["dry_run"]},{"tool":"rollback_checkpoint","params":["snapshot_id"]},{"tool":"save_hipocampo","params":["code","autor","force","nivel","content","critico","auto_link","categories","session_id","memory_type","snapshot_for"]},{"tool":"search_code","params":["k","query","language"]},{"tool":"search_hipocampo","params":["k","ids","code","nivel","query","format","offset","rerank","explain","categories","session_id","memory_type","rerank_top_k","created_after","snippet_chars","created_before","include_scores","include_pending","rerank_budget_ms"]},{"tool":"set_nivel_hipocampo","params":["id","nivel"]},{"tool":"unlink_hipocampo","params":["id","source_id","target_id","relation_type"]},{"tool":"unwatch_hipocampo","params":["id"]},{"tool":"update_hipocampo","params":["id","code","content","categories","meta_patch","memory_type"]},{"tool":"validate_immune_rule","params":["rule_id"]},{"tool":"watch_hipocampo","params":["pattern","webhook_url"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}