mcpField
K
Knowerage

Knowerage

Local
github.com/MTimmaDeveloper Tools3Updated 26w ago

About Knowerage

Knowerage is a local MCP server for tracking documentation coverage across a code repository. It records covered ranges in analysis documents and a registry, checks file status and stale entries, and supports report exports.

Key features

  1. 01Create or update analysis documents
  2. 02Record covered code-line ranges
  3. 03Check analysis status by file
  4. 04Identify stale records
  5. 05Export coverage reports
  6. 06Reconcile automatically on file changes

Use cases

  1. 01Track analyzed and unanalyzed code in a repository
  2. 02Check whether analysis documents still match the code
  3. 03Review coverage gaps or stale records
  4. 04Export a snapshot of analysis coverage

MCP support

The MCP server provides an agent with tools to create, reconcile, query, and export analysis coverage data. When file watching is enabled, it responds to changes under the knowerage/ directory.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"knowerage": {
"command": "npx",
"args": [
"-y",
"@mtimma/knowerage"
],
"env": {
"KNOWERAGE_WORKSPACE_ROOT": "<KNOWERAGE_WORKSPACE_ROOT>",
"KNOWERAGE_AUTO_FULL_RECONCILE": "<KNOWERAGE_AUTO_FULL_RECONCILE>"
}
}
}
}
Run commandnpx -y @mtimma/knowerage
Environment variables to set
KNOWERAGE_WORKSPACE_ROOT
KNOWERAGE_AUTO_FULL_RECONCILE

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mtimma/knowerage

Tools

11

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
contentstringYesMarkdown body content for the analysis
source_pathstringYesRelative path to the source file being analyzed
analysis_pathstringYesRelative path for the analysis markdown file
covered_linesarrayYesArray of [start, end] line ranges

Details

From the project README
Knowerage project icon

Knowerage — AI Analysis Coverage Management

Links: GitHub · Glama MCP listing · npm @mtimma/knowerage

Quick Start

Requirements: Node.js 18 or newer — npx must be on your PATH (it comes with npm, which is included with Node).

MCP server configuration

Register Knowerage wherever your MCP host expects server definitions (for example some clients use .cursor/mcp.json or .vscode/mcp.json; others use environment variables or a UI—follow your host’s documentation). Use the same server entry shape:

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

Replace ${workspaceFolder} with your project root if your host does not expand that variable.

KNOWERAGE_AUTO_FULL_RECONCILE is optional: when unset, empty, or not a truthy value, the file watcher defaults to off. Set to 1, true, yes, or on (trimmed, case-insensitive) to enable. When on, the server watches knowerage/ and, after a short debounce, runs knowerage_reconcile_all on filesystem changes. That is not the same as running a full reconcile after every MCP tool call—it only reacts to file changes under knowerage/. Registry writes to registry.json are ignored by the watcher so saves do not loop.

How to use Knowerage

After the MCP server is configured, you talk to your assistant in normal sentences. You do not need to memorize tool names.

Analyse or document code

Point at files, classes, or behaviour you care about. For example:

  • Using Knowerage, analyse the logical algorithm workflow in main.java.
  • Analyze the data entity reconciliation and versioning logic in the ETL service.

The assistant creates or updates markdown under knowerage/analysis/ and records coverage in knowerage/registry.json (see How It Works below).

Coverage and gaps (same project, later chat or another agent)

When you already have analyses in the tree, you can ask:

  • In percentage, how much of the code has our analysis covered?
  • What part of this codebase is not yet analysed?

Knowerage answers these from the registry and coverage helpers (for example overview, per-file status, and stale lists)—not from hand-waving over the repo.

Alternative approaches

Install via npm
npx @mtimma/knowerage
Or build from source
cargo build --release
./target/release/knowerage-mcp

How It Works

  1. AI agent creates analysis .md files with YAML frontmatter declaring source file and covered line ranges
  2. Registry (knowerage/registry.json) tracks analysis records with SHA-256 hashes for freshness
  3. MCP tools expose create, reconcile, query, and export operations
  4. Agent says "analyze X" → full workflow runs automatically (create → reconcile → record)
Registry file shape (knowerage/registry.json)

The on-disk format is a JSON object whose keys are analysis paths (strings). Each value is one record (see contracts/contracts.md). A full sample with two records lives at 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

Frontmatter for analysis .md files is specified separately in the contracts doc (metadata schema), not inside registry.json.

MCP Tools

ToolPurpose
knowerage_create_or_update_docCreate/update analysis document
knowerage_parse_doc_metadataParse and validate frontmatter
knowerage_reconcile_recordReconcile one analysis record
knowerage_reconcile_allFull rescan/rebuild
knowerage_get_file_statusAnalyzed vs missing ranges
knowerage_list_staleList stale/problematic records
knowerage_list_registryFull registry snapshot (same shape as registry.json, sorted keys)
knowerage_get_treeTree/grouped coverage
registry_export_reportExport snapshot (JSON/YAML/TXT/HTML)
knowerage_generate_bundleChunked export of selected analyses (toc*.md, combined*.md, manifest.json)

Project Structure

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

Documentation

Security

  • All paths validated against workspace root
  • Path traversal (..) rejected
  • Atomic writes for registry (crash-safe)
  • No secrets in analysis files or reports
  • SHA-256 hash-based freshness (survives git pull)

License

MIT — copyright Martins Timma.

Parts of this project were written or refined with generative AI coding assistants. Human review applies to design, security-sensitive behavior, and releases.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.