Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,537Letters: 14Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:72dd3ebae519b3fc20bc89a7aefbf82d03bac1fbff00fd4555e41e19c2a008a5
What it is
What a remote MCP server returned when asked what it offers: 37 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Agrega un directorio al watch list para auto-reindexación.", "inputSchema": { "properties": { "path": { "title": "Path", "type": "string" } }, "required": [ "path" ], "title": "add_watch_dirArguments", "type": "object" }, "name": "add_watch_dir", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "add_watch_dirOutput", "type": "object" } }, { "description": "\n Compress retrieved memories using a hybrid approach (extractive + LLM).\n\n First searches Hipocampo (SSC v1.0), then compresses the top-k results:\n - method=\"extractive\": sentence-level keyword relevance (fast, no API cost)\n - method=\"llm\": summarization via NVIDIA NIM (highest quality, API cost)\n - method=\"hybrid\" (default): uses LLM for technical/code content, extractive for generic text\n\n Use this tool BEFORE sending context to another LLM to reduce prompt size\n while preserving critical information.\n\n Args:\n query: Natural language search query.\n k: Number of memories to retrieve (default 5, max 20).\n method: Compression method: \"hybrid\" (default), \"extractive\", or \"llm\".\n target_token: Target token count (-1 = auto, based on content).\n include_metadata: Include per-memory details in output.\n budget_ratio: Scale factor for auto-estimated tokens (default 1.0).\n\n Returns:\n Compressed context as plain text with compression statistics.\n Includes: compressed text, original/compressed char counts, ratio, latency.\n ", "inputSchema": { "properties": { "budget_ratio": { "default": 1, "title": "Budget Ratio", "type": "number" }, "include_metadata": { "default": false, "title": "Include Metadata", "type": "boolean" }, "k": { "default": 5, "title": "K", "type": "integer" }, "method": { "default": "hybrid", "title": "Method", "type": "string" }, "query": { "title": "Query", "type": "string" }, "target_token": { "default": -1, "title": "Target Token", "type": "integer" } }, "required": [ "query" ], "title": "compress_hipocampoArguments", "type": "object" }, "name": "compress_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "compress_hipocampoOutput", "type": "object" } }, { "description": "\n Consolidación jerárquica: migra memorias episódicas antiguas a semánticas.\n\n Busca recuerdos con nivel 'episodica' más antiguos que min_age_days\n y los promueve a 'semantica', opcionalmente comprimiendo su contenido.\n\n Args:\n min_age_days: Edad mínima en días para consolidar (default 7).\n dry_run: Si True, solo muestra qué se consolidaría.\n\n Returns:\n Reporte de la consolidación.\n ", "inputSchema": { "properties": { "dry_run": { "default": true, "title": "Dry Run", "type": "boolean" }, "min_age_days": { "default": 7, "title": "Min Age Days", "type": "integer" } }, "title": "consolidate_hipocampoArguments", "type": "object" }, "name": "consolidate_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "consolidate_hipocampoOutput", "type": "object" } }, { "description": "\n Detecta contradicciones semánticas de una memoria existente.\n\n Usa negation-probe embedding: embedea \"AFIRMACIÓN: {contenido} — ¿Esto es FALSO según: ...\"\n y compara con el embedding original. Si la distancia de la sonda de negación\n es MENOR que la del contenido original → señal de contradicción.\n\n Args:\n memory_id: ID numérico de la memoria en memoria_vectorial.\n ", "inputSchema": { "properties": { "memory_id": { "title": "Memory Id", "type": "integer" } }, "required": [ "memory_id" ], "title": "contradicciones_hipocampoArguments", "type": "object" }, "name": "contradicciones_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "contradicciones_hipocampoOutput", "type": "object" } }, { "description": "\n Aplica decaimiento temporal a enlaces del grafo Y memorias antiguas.\n\n ENLACES: peso exponencial, half-life 90 días. Elimina enlaces < 0.01.\n MEMORIAS: archiva episodica sin acceso ni protección a memoria_historica.\n\n Protecciones (nunca se archivan):\n - nivel = automatica o semantica\n - metadatos.critico = true\n - con enlaces entrantes en memory_links\n\n Args:\n dry_run: True (default) = solo lectura. False = ejecuta cambios.\n min_age_days: Edad mínima en días para considerar memoria candidata.\n\n Returns:\n Reporte del decaimiento aplicado.\n ", "inputSchema": { "properties": { "dry_run": { "default": true, "title": "Dry Run", "type": "boolean" }, "min_age_days": { "default": 30, "title": "Min Age Days", "type": "integer" } }, "title": "decay_hipocampoArguments", "type": "object" }, "name": "decay_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "decay_hipocampoOutput", "type": "object" } }, { "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": { "properties": { "id": { "title": "Id", "type": "integer" } }, "required": [ "id" ], "title": "delete_hipocampoArguments", "type": "object" }, "name": "delete_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "delete_hipocampoOutput", "type": "object" } }, { "description": "\n Explora el grafo de memoria desde un nodo raíz.\n\n Args:\n node_id: ID del recuerdo raíz. Si es 0, lista todos los nodos\n con enlaces (vista general).\n depth: Profundidad de exploración (default 2, max 5).\n max_nodes: Máximo de nodos a mostrar (default 50).\n\n Returns:\n Árbol ASCII del grafo de memoria.\n ", "inputSchema": { "properties": { "depth": { "default": 2, "title": "Depth", "type": "integer" }, "max_nodes": { "default": 50, "title": "Max Nodes", "type": "integer" }, "node_id": { "default": 0, "title": "Node Id", "type": "integer" } }, "title": "graph_hipocampoArguments", "type": "object" }, "name": "graph_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "graph_hipocampoOutput", "type": "object" } }, { "description": "\n Intenta reparar automáticamente problemas detectados en el sistema.\n\n Reparaciones posibles:\n - Reiniciar PostgreSQL si está caído\n - Crear tablas faltantes desde esquema.sql\n - Verificar/configurar NVIDIA_API_KEY\n\n Returns:\n Reporte de reparaciones ejecutadas.\n ", "inputSchema": { "properties": {}, "title": "hipocampo_auto_repairArguments", "type": "object" }, "name": "hipocampo_auto_repair", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "hipocampo_auto_repairOutput", "type": "object" } }, { "description": "\n Gestiona el presupuesto de memoria (budget + tiering automático).\n\n 3 tiers:\n - HOT: embedding presente (memoria_vectorial con pgvector)\n - WARM: embedding=NULL (excluido de HNSW, sigue buscable léxicamente)\n - COLD: contenido movido a memoria_historica (fuera de búsqueda principal)\n\n Protecciones: automatica/semantica/critico/enlazadas → exemptas.\n\n Args:\n dry_run: True (default) = solo análisis. False = ejecuta tiering.\n ", "inputSchema": { "properties": { "dry_run": { "default": true, "title": "Dry Run", "type": "boolean" } }, "title": "hipocampo_budgetArguments", "type": "object" }, "name": "hipocampo_budget", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "hipocampo_budgetOutput", "type": "object" } }, { "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 ejecución puntual o previsualización.\n\n Recomendado ejecutar periódicamente (semanal o mensual) para mantener\n el rendimiento del sistema.\n\n Args:\n dry_run: Si es True (default), solo muestra qué se comprimiría.\n Si es False, ejecuta la compresión (irreversible).\n\n Returns:\n Reporte del checkpointing ejecutado o simulado.\n Incluye: cantidad de registros comprimidos, espacio liberado.\n ", "inputSchema": { "properties": { "dry_run": { "default": true, "title": "Dry Run", "type": "boolean" } }, "title": "hipocampo_checkpointArguments", "type": "object" }, "name": "hipocampo_checkpoint", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "hipocampo_checkpointOutput", "type": "object" } }, { "description": "\n Detecta y opcionalmente fusiona duplicados en las tablas de memoria.\n\n Con merge=False (default) es solo lectura — seguro de ejecutar, no modifica datos.\n Con merge=True es destructivo: consolida filas duplicadas en una sola, operación\n irreversible. Usar con precaución. Ejecutar primero sin merge para previsualizar.\n\n ¿Qué es un duplicado? Dos registros con alta similitud semántica (embedding\n + texto), por encima del umbral configurable (default 0.95).\n\n El reporte incluye: cantidad de duplicados encontrados, IDs afectados y\n resumen de fusión si se ejecutó merge.\n\n Para ejecutar dedup como parte del ciclo completo de mantenimiento, usar\n hipocampo_maintenance (paso 2 del ciclo). Esta herramienta es para uso\n puntual o previsualización antes del merge.\n\n Args:\n merge: Si es True, fusiona los duplicados encontrados (irreversible).\n Si es False (default), solo muestra análisis (seguro).\n\n Returns:\n Reporte de duplicados encontrados o fusionados.\n ", "inputSchema": { "properties": { "merge": { "default": false, "title": "Merge", "type": "boolean" } }, "title": "hipocampo_dedupArguments", "type": "object" }, "name": "hipocampo_dedup", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "hipocampo_dedupOutput", "type": "object" } }, { "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": { "properties": {}, "title": "hipocampo_healthArguments", "type": "object" }, "name": "hipocampo_health", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "hipocampo_healthOutput", "type": "object" } }, { "description": "\n Ejecuta el ciclo completo de mantenimiento:\n 1. Health check → auto-repair si es necesario\n 2. Dedup → fusiona duplicados\n 3. Checkpoint → comprime memorias antiguas\n 4. Purge → limpia access logs antiguos (>30d)\n 5. Tune → ajusta thresholds según métricas\n\n Nota: hipocampo_budget y decay_hipocampo se ejecutan manualmente\n o via cron separado (son destructivos y requieren dry_run previo).\n\n Returns:\n Reporte consolidado del mantenimiento.\n ", "inputSchema": { "properties": {}, "title": "hipocampo_maintenanceArguments", "type": "object" }, "name": "hipocampo_maintenance", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "hipocampo_maintenanceOutput", "type": "object" } }, { "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": { "properties": {}, "title": "hipocampo_statsArguments", "type": "object" }, "name": "hipocampo_stats", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "hipocampo_statsOutput", "type": "object" } }, { "description": "\n Ajusta automáticamente los thresholds y pesos del SSC\n basado en las métricas de rendimiento acumuladas.\n\n Es destructivo: modifica los thresholds y pesos de forma irreversible.\n Sin embargo, es idempotente: ejecutarlo múltiples veces converge al\n mismo resultado. Usar con precaución.\n\n Para solo ver estadísticas sin modificar nada, usar hipocampo_stats\n (solo lectura). Para ejecutar el ciclo completo de mantenimiento\n (que incluye tune como paso 5), usar hipocampo_maintenance.\n\n Recomendado ejecutar solo después de acumular suficientes métricas\n (al menos 100 consultas registradas). No usar si el sistema funciona\n correctamente sin degradación.\n\n Returns:\n Reporte de ajustes aplicados (nuevos thresholds y pesos).\n ", "inputSchema": { "properties": {}, "title": "hipocampo_tuneArguments", "type": "object" }, "name": "hipocampo_tune", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "hipocampo_tuneOutput", "type": "object" } }, { "description": "\n Indexa archivos de código fuente de un proyecto en Hipocampo (RAG).\n\n Escanea archivos PHP, JS, TS, Python, SQL, HTML, CSS, JSON, YAML,\n los divide en chunks significativos y los guarda como recuerdos con\n embedding para búsqueda semántica.\n\n La segunda corrida solo indexa archivos modificados (por mtime).\n\n Args:\n project_path: Ruta absoluta del proyecto a indexar.\n Si está vacía, usa el directorio actual.\n force: Si True, re-indexa todo aunque no haya cambios.\n\n Returns:\n Estadísticas de la indexación.\n ", "inputSchema": { "properties": { "force": { "default": false, "title": "Force", "type": "boolean" }, "project_path": { "default": "", "title": "Project Path", "type": "string" } }, "title": "index_projectArguments", "type": "object" }, "name": "index_project", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "index_projectOutput", "type": "object" } }, { "description": "\n Crea un enlace entre dos recuerdos en el grafo de memoria.\n\n Args:\n source_id: ID del recuerdo origen (numérico: memoria_vectorial; string: memory_items).\n target_id: ID del recuerdo destino.\n relation_type: Tipo de relación. Valores comunes:\n \"related\" (default), \"follow_up\", \"part_of\",\n \"references\", \"similar\", \"chain\", \"validates\", \"contradicts\".\n weight: Peso de la relación (0.0 a 1.0, default 1.0).\n\n Returns:\n Confirmación del enlace creado.\n ", "inputSchema": { "properties": { "relation_type": { "default": "related", "title": "Relation Type", "type": "string" }, "source_id": { "title": "Source Id", "type": "integer" }, "target_id": { "title": "Target Id", "type": "integer" }, "weight": { "default": 1, "title": "Weight", "type": "number" } }, "required": [ "source_id", "target_id" ], "title": "link_hipocampoArguments", "type": "object" }, "name": "link_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "link_hipocampoOutput", "type": "object" } }, { "description": "Lista los directorios configurados para auto-reindexación.", "inputSchema": { "properties": {}, "title": "list_watch_dirsArguments", "type": "object" }, "name": "list_watch_dirs", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "list_watch_dirsOutput", "type": "object" } }, { "description": "\n Lista todos los webhooks registrados.\n\n Returns:\n Lista de watches con ID, patrón y URL.\n ", "inputSchema": { "properties": {}, "title": "list_watchesArguments", "type": "object" }, "name": "list_watches", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "list_watchesOutput", "type": "object" } }, { "description": "\n Encuentra el camino más corto entre dos recuerdos en el grafo de memoria.\n\n Args:\n from_id: ID del recuerdo origen.\n to_id: ID del recuerdo destino.\n max_depth: Profundidad máxima de búsqueda (default 5, max 10).\n\n Returns:\n Camino encontrado como secuencia de nodos.\n ", "inputSchema": { "properties": { "from_id": { "title": "From Id", "type": "integer" }, "max_depth": { "default": 5, "title": "Max Depth", "type": "integer" }, "to_id": { "title": "To Id", "type": "integer" } }, "required": [ "from_id", "to_id" ], "title": "path_hipocampoArguments", "type": "object" }, "name": "path_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "path_hipocampoOutput", "type": "object" } }, { "description": "\n Pre-load context for a project or workspace. Extracts relevant memories\n from the project path and returns them as a compressed summary.\n\n Use this when starting work on a known project to restore working context.\n\n Args:\n project_path: Absolute path to the project or workspace.\n If empty, uses current working directory.\n k: Number of relevant memories to retrieve (default 8, max 20).\n\n Returns:\n Compressed context summary with project-relevant memories.\n ", "inputSchema": { "properties": { "k": { "default": 8, "title": "K", "type": "integer" }, "project_path": { "default": "", "title": "Project Path", "type": "string" } }, "title": "preload_contextArguments", "type": "object" }, "name": "preload_context", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "preload_contextOutput", "type": "object" } }, { "description": "\n Guarda un dato de perfil personal en Hipocampo (memory_items).\n\n A diferencia de save_hipocampo (que guarda en memoria_vectorial técnica),\n esta herramienta guarda en memory_items, que está diseñado para datos\n personales: gustos, familia, preferencias, datos biográficos.\n\n Args:\n summary: Texto corto con el dato personal. Ej: \"Al usuario le gusta el té de hierbas\".\n extra: Información adicional en texto plano (opcional).\n categories: Categorías (opcional). Ej: [\"personal_info\", \"gustos\"].\n\n Returns:\n Confirmación con el ID asignado.\n ", "inputSchema": { "properties": { "categories": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Categories" }, "extra": { "default": "", "title": "Extra", "type": "string" }, "summary": { "title": "Summary", "type": "string" } }, "required": [ "summary" ], "title": "profile_hipocampoArguments", "type": "object" }, "name": "profile_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "profile_hipocampoOutput", "type": "object" } }, { "description": "\n Búsqueda rápida en el Hipocampo (alias corto de search_hipocampo).\n\n Es solo lectura — no modifica datos, no tiene efectos secundarios.\n Comportamiento y salida idénticos a search_hipocampo.\n\n Útil cuando el cliente MCP prefiera nombres de herramienta más cortos.\n Para nombre descriptivo, usar search_hipocampo.\n\n Args:\n query: Texto de búsqueda en lenguaje natural. Igual que\n search_hipocampo. Ej: \"API REST en Python\", \"presupuesto\".\n session_id: Opcional. Filtra resultados a una sesión específica.\n\n Returns:\n Mismo formato que search_hipocampo: resultados como texto plano\n con scores de relevancia y metadatos.\n ", "inputSchema": { "properties": { "query": { "title": "Query", "type": "string" }, "session_id": { "default": "", "title": "Session Id", "type": "string" } }, "required": [ "query" ], "title": "quick_hipocampo_searchArguments", "type": "object" }, "name": "quick_hipocampo_search", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "quick_hipocampo_searchOutput", "type": "object" } }, { "description": "Fuerza reindexación inmediata de un directorio (o todos los watch).", "inputSchema": { "properties": { "path": { "default": "", "title": "Path", "type": "string" } }, "title": "reindex_nowArguments", "type": "object" }, "name": "reindex_now", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "reindex_nowOutput", "type": "object" } }, { "description": "Elimina un directorio del watch list.", "inputSchema": { "properties": { "path": { "title": "Path", "type": "string" } }, "required": [ "path" ], "title": "remove_watch_dirArguments", "type": "object" }, "name": "remove_watch_dir", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "remove_watch_dirOutput", "type": "object" } }, { "description": "\n Restaura una memoria desde memoria_historica a memoria_vectorial.\n\n Reconstruye embedding automáticamente. La memoria vuelve al tier HOT.\n\n Args:\n historica_id: ID de la memoria en memoria_historica.\n ", "inputSchema": { "properties": { "historica_id": { "title": "Historica Id", "type": "integer" } }, "required": [ "historica_id" ], "title": "restaurar_historicaArguments", "type": "object" }, "name": "restaurar_historica", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "restaurar_historicaOutput", "type": "object" } }, { "description": "\n Revisa reglas 'automatica' sin revisión en los últimos N días.\n\n Las reglas automatica son permanentes por diseño, pero pueden degradarse\n a 'semantica' si no han sido útiles (review_count=0) después de max_age_days.\n\n Con dry_run=True solo lista las reglas candidatas a degradación.\n Con dry_run=False las degrada a 'semantica' (no se borran, solo pierden\n inmunidad de compresión).\n\n Args:\n max_age_days: Edad máxima sin revisión antes de considerar degradación (default 30).\n dry_run: Si True, solo muestra qué se degradaría.\n\n Returns:\n Reporte de reglas encontradas.\n ", "inputSchema": { "properties": { "dry_run": { "default": true, "title": "Dry Run", "type": "boolean" }, "max_age_days": { "default": 30, "title": "Max Age Days", "type": "integer" } }, "title": "review_automaticaArguments", "type": "object" }, "name": "review_automatica", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "review_automaticaOutput", "type": "object" } }, { "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": { "properties": { "snapshot_id": { "title": "Snapshot Id", "type": "integer" } }, "required": [ "snapshot_id" ], "title": "rollback_checkpointArguments", "type": "object" }, "name": "rollback_checkpoint", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "rollback_checkpointOutput", "type": "object" } }, { "description": "\n Guarda un recuerdo en el Hipocampo (memoria_vectorial).\n\n INSERT inmediato y NO bloqueante: el embedding se genera en background\n (_finalize_save_bg) junto con dedup semántico, auto-link y auditoría de\n contradicciones. Hasta que el embedding se backfillea (~segundos), la\n memoria queda en tier WARM (embedding=NULL) y es recuperable por texto.\n\n Si ya existe un recuerdo casi idéntico (trigram), se advierte y se omite\n el guardado a menos que force=True. El dedup semántico (>0.9) corre en\n background y solo loguea — no bloquea.\n\n Args:\n content: Texto del recuerdo a guardar.\n memory_type: Tipo de memoria. Valores comunes:\n \"event\" (evento/experiencia),\n \"decision\" (decisión tomada),\n \"profile\" (dato personal).\n Por defecto: \"event\".\n code: Código o etiqueta corta para agrupar recuerdos (opcional).\n Ej: \"documentacion\", \"bugfix\", \"feature\", \"setup\".\n categories: Lista de categorías (opcional).\n Ej: [\"python\", \"mcp\", \"infraestructura\"].\n session_id: Opcional. Identificador de sesión para aislar memorias.\n force: Si True, guarda incluso si existe un recuerdo muy similar.\n auto_link: Si True, busca recuerdos semánticamente similares (>0.75)\n y crea enlaces \"similar\" automáticamente.\n nivel: Nivel de memoria jerárquica:\n \"episodica\" (default) — detalle completo, comprimible,\n \"semantica\" — conocimiento consolidado, protegido,\n \"automatica\" — regla permanente, nunca se comprime.\n critico: Si True, la memoria NUNCA se olvida ni se archiva.\n Protección de por vida independiente del nivel.\n\n Returns:\n Confirmación con el ID asignado.\n ", "inputSchema": { "properties": { "auto_link": { "default": false, "title": "Auto Link", "type": "boolean" }, "categories": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Categories" }, "code": { "default": "", "title": "Code", "type": "string" }, "content": { "title": "Content", "type": "string" }, "critico": { "default": false, "title": "Critico", "type": "boolean" }, "force": { "default": false, "title": "Force", "type": "boolean" }, "memory_type": { "default": "event", "title": "Memory Type", "type": "string" }, "nivel": { "default": "episodica", "title": "Nivel", "type": "string" }, "session_id": { "default": "", "title": "Session Id", "type": "string" } }, "required": [ "content" ], "title": "save_hipocampoArguments", "type": "object" }, "name": "save_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "save_hipocampoOutput", "type": "object" } }, { "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 metadatos de archivo.\n ", "inputSchema": { "properties": { "k": { "default": 5, "title": "K", "type": "integer" }, "language": { "default": "", "title": "Language", "type": "string" }, "query": { "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "search_codeArguments", "type": "object" }, "name": "search_code", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "search_codeOutput", "type": "object" } }, { "description": "\n Busca en el Hipocampo (memoria dual con SSC / BIRE v3.6).\n\n Es solo lectura — no modifica datos, no tiene efectos secundarios.\n Sin límites de tasa (rate limits).\n\n Realiza búsqueda semántica + léxica híbrida en las bases de datos de\n memoria del usuario, incluyendo memoria técnica (*memoria_vectorial*) y\n de perfil (*memory_items*).\n\n Si se proporciona session_id, filtra solo memorias de esa sesión.\n\n Para búsquedas rápidas cuando el nombre corto sea preferido, usar\n quick_hipocampo_search (alias idéntico). Esta herramienta es la\n versión completa con nombre descriptivo.\n\n Args:\n query: Texto de búsqueda en lenguaje natural. Máximo 500 caracteres.\n Ejemplos: \"proyecto contable\", \"perro\", \"planta medicinal\",\n \"API REST en Python\", \"gusta del té\".\n session_id: Opcional. Filtra resultados a una sesión específica.\n\n Returns:\n Resultados formateados del BIRE como texto plano.\n Incluye: contenido encontrado, scores de relevancia, y metadatos.\n Si no hay coincidencias, indica búsqueda exitosa pero sin resultados.\n ", "inputSchema": { "properties": { "query": { "title": "Query", "type": "string" }, "session_id": { "default": "", "title": "Session Id", "type": "string" } }, "required": [ "query" ], "title": "search_hipocampoArguments", "type": "object" }, "name": "search_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "search_hipocampoOutput", "type": "object" } }, { "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": { "properties": { "id": { "title": "Id", "type": "integer" }, "nivel": { "title": "Nivel", "type": "string" } }, "required": [ "id", "nivel" ], "title": "set_nivel_hipocampoArguments", "type": "object" }, "name": "set_nivel_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "set_nivel_hipocampoOutput", "type": "object" } }, { "description": "\n Elimina un enlace del grafo de memoria.\n\n Args:\n id: ID del enlace a eliminar (si se conoce).\n source_id: Si no se provee id, elimina por source+target+type.\n target_id: ID destino (requerido si no hay id).\n relation_type: Tipo de relación (opcional si no hay id).\n\n Returns:\n Confirmación de eliminación.\n ", "inputSchema": { "properties": { "id": { "default": 0, "title": "Id", "type": "integer" }, "relation_type": { "default": "", "title": "Relation Type", "type": "string" }, "source_id": { "default": 0, "title": "Source Id", "type": "integer" }, "target_id": { "default": 0, "title": "Target Id", "type": "integer" } }, "title": "unlink_hipocampoArguments", "type": "object" }, "name": "unlink_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "unlink_hipocampoOutput", "type": "object" } }, { "description": "\n Elimina un webhook registrado por su ID.\n\n Args:\n id: ID del watch a eliminar.\n\n Returns:\n Confirmación de eliminación.\n ", "inputSchema": { "properties": { "id": { "title": "Id", "type": "integer" } }, "required": [ "id" ], "title": "unwatch_hipocampoArguments", "type": "object" }, "name": "unwatch_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "unwatch_hipocampoOutput", "type": "object" } }, { "description": "\n Actualiza un recuerdo existente en el Hipocampo (memoria_vectorial).\n\n Si se proporciona content, se regenera el embedding automáticamente.\n 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, se regenera el embedding.\n memory_type: Nuevo tipo de memoria (opcional). Ej: \"event\", \"decision\".\n code: Código o etiqueta corta (opcional).\n categories: Nueva lista de categorías (opcional).\n\n Returns:\n Confirmación de la actualización.\n ", "inputSchema": { "properties": { "categories": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Categories" }, "code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Code" }, "content": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Content" }, "id": { "title": "Id", "type": "integer" }, "memory_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Memory Type" } }, "required": [ "id" ], "title": "update_hipocampoArguments", "type": "object" }, "name": "update_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "update_hipocampoOutput", "type": "object" } }, { "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": { "properties": { "rule_id": { "title": "Rule Id", "type": "integer" } }, "required": [ "rule_id" ], "title": "validate_immune_ruleArguments", "type": "object" }, "name": "validate_immune_rule", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "validate_immune_ruleOutput", "type": "object" } }, { "description": "\n Registra un webhook que se dispara cuando se crea/modifica/elimina\n un recuerdo cuyo contenido o metadatos contengan el patrón dado.\n\n Args:\n pattern: Texto a buscar en contenido o metadatos del recuerdo.\n webhook_url: URL que recibirá un POST con event, id, content, metadatos.\n\n Returns:\n Confirmación con ID del watch creado.\n ", "inputSchema": { "properties": { "pattern": { "title": "Pattern", "type": "string" }, "webhook_url": { "title": "Webhook Url", "type": "string" } }, "required": [ "pattern", "webhook_url" ], "title": "watch_hipocampoArguments", "type": "object" }, "name": "watch_hipocampo", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "watch_hipocampoOutput", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:72dd3ebae519b3fc20bc89a7aefbf82d03bac1fbff00fd4555e41e19c2a008a5 | sha256sum