Skip to main content
Glama

Knowerage — Gestión de cobertura de análisis mediante IA

Servidor MCP local que realiza un seguimiento de la cobertura y la frescura del análisis de código heredado.

Fuente: github.com/MTimma/knowerage

Inicio rápido

Requisitos: Node.js 18 o superiornpx debe estar en tu PATH (viene con npm, que se incluye con Node).

Related MCP server: Atlas

Configuración del servidor MCP

Registra Knowerage donde tu host MCP espere las definiciones del servidor (por ejemplo, algunos clientes usan .cursor/mcp.json o .vscode/mcp.json; otros usan variables de entorno o una interfaz de usuario; sigue la documentación de tu host). Usa la misma estructura de entrada del servidor:

{
  "mcpServers": {
    "knowerage": {
      "command": "npx",
      "args": ["@mtimma/knowerage"],
      "env": {
        "KNOWERAGE_WORKSPACE_ROOT": "${workspaceFolder}",
        "KNOWERAGE_AUTO_FULL_RECONCILE": "true"
      }
    }
  }
}

Reemplaza ${workspaceFolder} con la raíz de tu proyecto si tu host no expande esa variable.

KNOWERAGE_AUTO_FULL_RECONCILE es opcional: cuando no está configurado, está vacío o no tiene un valor verdadero, el observador de archivos está desactivado por defecto. Configúralo en 1, true, yes o on (recortado, sin distinguir entre mayúsculas y minúsculas) para activarlo. Cuando está activado, el servidor observa knowerage/ y, tras un breve periodo de espera, ejecuta knowerage_reconcile_all ante cambios en el sistema de archivos. Eso no es lo mismo que ejecutar una reconciliación completa después de cada llamada a una herramienta MCP; solo reacciona a los cambios de archivo en knowerage/. Las escrituras del registro en registry.json son ignoradas por el observador para que los guardados no entren en bucle.

Cómo usar Knowerage

Una vez configurado el servidor MCP, hablas con tu asistente en frases normales. No necesitas memorizar nombres de herramientas.

Analizar o documentar código

Señala los archivos, clases o comportamientos que te interesen. Por ejemplo:

  • Usando Knowerage, analiza el flujo de trabajo del algoritmo lógico en main.java.

  • Analiza la lógica de reconciliación y control de versiones de entidades de datos en el servicio ETL.

El asistente crea o actualiza archivos markdown en knowerage/analysis/ y registra la cobertura en knowerage/registry.json (consulta Cómo funciona a continuación).

Cobertura y brechas (mismo proyecto, chat posterior u otro agente)

Cuando ya tienes análisis en el árbol, puedes preguntar:

  • En porcentaje, ¿cuánto del código ha cubierto nuestro análisis?

  • ¿Qué parte de este repositorio de código aún no se ha analizado?

Knowerage responde a esto a partir del registro y los asistentes de cobertura (por ejemplo, resumen, estado por archivo y listas de elementos obsoletos), no mediante suposiciones sobre el repositorio.

Enfoques alternativos

Instalar mediante npm

npx @mtimma/knowerage

O compilar desde el código fuente

cargo build --release
./target/release/knowerage-mcp

Cómo funciona

  1. El agente de IA crea archivos de análisis .md con frontmatter YAML que declara el archivo fuente y los rangos de líneas cubiertos

  2. El registro (knowerage/registry.json) realiza un seguimiento de los registros de análisis con hashes SHA-256 para verificar la frescura

  3. Las herramientas MCP exponen operaciones de creación, reconciliación, consulta y exportación

  4. El agente dice "analiza X" → el flujo de trabajo completo se ejecuta automáticamente (crear → reconciliar → registrar)

Estructura del archivo de registro (knowerage/registry.json)

El formato en disco es un objeto JSON cuyas claves son rutas de análisis (cadenas). Cada valor es un registro (consulta contracts/contracts.md). Un ejemplo completo con dos registros se encuentra en examples/registry.sample.json.

flowchart TB
  subgraph file["knowerage/registry.json"]
    O["Top-level JSON object"]
    O --> K["Each key: analysis markdown path, e.g. knowerage/analysis/.../topic.md"]
    K --> V["Value: one RegistryRecord"]
  end

  subgraph rec["RegistryRecord fields"]
    ap["analysis_path · source_path"]
    cr["covered_ranges: [[start,end], ...]"]
    h["analysis_hash · source_hash (sha256:… )"]
    t["record_created_at · record_updated_at (ISO 8601)"]
    st["status: fresh | stale_doc | stale_src | missing_src | dangling_doc"]
  end

  V --> rec

El frontmatter para los archivos de análisis .md se especifica por separado en el documento de contratos (esquema de metadatos), no dentro de registry.json.

Herramientas MCP

Herramienta

Propósito

knowerage_create_or_update_doc

Crear/actualizar documento de análisis

knowerage_parse_doc_metadata

Analizar y validar frontmatter

knowerage_reconcile_record

Reconciliar un registro de análisis

knowerage_reconcile_all

Reescaneo/reconstrucción completa

knowerage_get_file_status

Rangos analizados vs. faltantes

knowerage_list_stale

Listar registros obsoletos/problemáticos

knowerage_list_registry

Instantánea completa del registro (misma forma que registry.json, claves ordenadas)

knowerage_get_tree

Cobertura en árbol/agrupada

registry_export_report

Exportar instantánea (JSON/YAML/TXT/HTML)

knowerage_generate_bundle

Exportación fragmentada de análisis seleccionados (toc*.md, combined*.md, manifest.json)

Estructura del proyecto

knowerage/                  # Created per-project
├── analysis/              # Analysis markdown files
│   └── **/*.md
└── registry.json          # Coverage registry

src/                       # Rust MCP server
├── main.rs
├── lib.rs
├── types.rs
├── parser.rs
├── registry.rs
├── mcp.rs
├── security.rs
└── export.rs

Documentación

Seguridad

  • Todas las rutas validadas contra la raíz del espacio de trabajo

  • Recorrido de rutas (..) rechazado

  • Escrituras atómicas para el registro (a prueba de fallos)

  • Sin secretos en archivos de análisis o informes

  • Frescura basada en hash SHA-256 (sobrevive a git pull)

Licencia

MIT — copyright Martins Timma.

Partes de este proyecto fueron escritas o refinadas con asistentes de codificación de IA generativa. La revisión humana se aplica al diseño, al comportamiento sensible a la seguridad y a las versiones.

Install Server
A
license - permissive license
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Local MCP server that indexes documentation from URLs/files into a vector database, enabling coding agents to search and use up-to-date library and API documentation.

View all related MCP servers

Related MCP Connectors

  • An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform

  • MCP server for accessing curated awesome list documentation

  • An MCP server that gives your AI access to the source code and docs of all public github repos

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MTimma/knowerage'

If you have feedback or need assistance with the MCP directory API, please join our Discord server