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 yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:72dd3ebae519b3fc20bc89a7aefbf82d03bac1fbff00fd4555e41e19c2a008a5 | sha256sum