mcpField
K
Knowerage

Knowerage

ローカル
github.com/MTimma開発ツール326 週間前に更新

Knowerage について

Knowerageは、コードリポジトリの分析ドキュメントのカバレッジを追跡するローカルMCPサーバーです。分析文書とレジストリに対象範囲を記録し、ファイルの状態や古い記録を確認して、レポートを出力できます。

主な機能

  1. 01分析ドキュメントの作成・更新
  2. 02対象コード行の範囲を記録
  3. 03ファイルごとの分析状態を確認
  4. 04古い記録を特定
  5. 05カバレッジレポートの出力
  6. 06ファイル変更時の自動照合

活用シーン

  1. 01リポジトリ内の分析済み・未分析コードを追跡
  2. 02分析文書とコードの整合性を確認
  3. 03カバレッジの不足や古い記録を確認
  4. 04分析カバレッジのスナップショットを出力

MCP 対応

MCPサーバーは、分析カバレッジの作成、照合、検索、出力を行うツールをエージェントに提供します。ファイル監視を有効にすると、knowerage/以下の変更に応じて処理します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"knowerage": {
"command": "npx",
"args": [
"-y",
"@mtimma/knowerage"
],
"env": {
"KNOWERAGE_WORKSPACE_ROOT": "<KNOWERAGE_WORKSPACE_ROOT>",
"KNOWERAGE_AUTO_FULL_RECONCILE": "<KNOWERAGE_AUTO_FULL_RECONCILE>"
}
}
}
}
起動コマンドnpx -y @mtimma/knowerage
設定が必要な環境変数
KNOWERAGE_WORKSPACE_ROOT
KNOWERAGE_AUTO_FULL_RECONCILE

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@mtimma/knowerage

ツール

11

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
contentstringはい分析の Markdown 本文
source_pathstringはい分析対象のソースファイルへの相対パス
analysis_pathstringはい分析 Markdown ファイルへの相対パス
covered_linesarrayはい[start, end] の行範囲の配列

詳細

Knowerage プロジェクトのアイコン

Knowerage — AI 分析カバレッジ管理

リンク: GitHub · Glama MCP listing · npm @mtimma/knowerage

クイックスタート

要件: Node.js 18 以降 — npx が PATH に含まれている必要があります(npm に付属しており、Node に含まれています)。

MCP サーバーの設定

MCP ホストがサーバー定義を受け付ける場所に Knowerage を登録します(たとえば、一部のクライアントでは .cursor/mcp.json や .vscode/mcp.json を使用します。他のクライアントでは環境変数や UI を使用します。ホストのドキュメントに従ってください)。同じ形式のサーバーエントリを使用します:

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

ホストがこの変数を展開しない場合は、${workspaceFolder} をプロジェクトのルートに置き換えてください。

KNOWERAGE_AUTO_FULL_RECONCILE は省略可能です。未設定、空、または真と判定されない値の場合、ファイルウォッチャーはデフォルトでオフになります。有効にするには、1、true、yes、on のいずれかを設定します(前後の空白は除去され、大文字と小文字は区別されません)。オンの場合、サーバーは knowerage/ を監視し、短いデバウンス時間の後、ファイルシステムの変更に応じて knowerage_reconcile_all を実行します。これは、MCP ツールを呼び出すたびに完全な照合を実行することとは異なります。knowerage/ 内のファイル変更にのみ反応します。レジストリによる registry.json への書き込みはウォッチャーで無視されるため、保存がループすることはありません。

Knowerage の使い方

MCP サーバーを設定したら、アシスタントに通常の文章で話しかけます。ツール名を覚える必要はありません。

コードを分析または文書化する

関心のあるファイル、クラス、または動作を指定します。たとえば:

  • Knowerage を使って、main.java の論理アルゴリズムのワークフローを分析してください。
  • ETL サービスのデータエンティティの照合とバージョン管理のロジックを分析してください。

アシスタントは knowerage/analysis/ 以下の Markdown ファイルを作成または更新し、カバレッジを knowerage/registry.json に記録します(詳しくは以下の 仕組み を参照)。

カバレッジと不足箇所(同じプロジェクトでの後のチャット、または別のエージェント)

ツリー内にすでに分析結果がある場合は、次のように尋ねられます:

  • コードのうち、分析でカバーできているのは何パーセントですか?
  • このコードベースで、まだ分析されていない部分はどこですか?

Knowerage はレジストリとカバレッジヘルパー(たとえば、概要、ファイルごとのステータス、古くなった項目の一覧)に基づいて回答します。リポジトリについて曖昧な推測をするわけではありません。

別の方法

npm でインストール
npx @mtimma/knowerage
またはソースからビルド
cargo build --release
./target/release/knowerage-mcp

仕組み

  1. AI エージェントが、対象ソースファイルとカバーする行範囲を宣言する YAML フロントマター付きの分析 .md ファイルを作成します
  2. レジストリ(knowerage/registry.json)は、鮮度を確認するための SHA-256 ハッシュとともに分析レコードを追跡します
  3. MCP ツールは、作成、照合、クエリ、エクスポートの操作を提供します
  4. エージェントが「X を分析して」と指示すると、完全なワークフローが自動的に実行されます(作成 → 照合 → 記録)
レジストリファイルの形式(knowerage/registry.json)

ディスク上の形式は、キーが分析パス(文字列)であるJSON オブジェクトです。各値は 1 つのレコードです(contracts/contracts.md を参照)。2 つのレコードを含む完全なサンプルは、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

分析 .md ファイルのフロントマターは、registry.json 内ではなく、コントラクトのドキュメントで別途指定されています(メタデータスキーマ)。

MCP ツール

ツール目的
knowerage_create_or_update_doc分析ドキュメントを作成/更新
knowerage_parse_doc_metadataフロントマターを解析して検証
knowerage_reconcile_record1件の分析レコードを調整
knowerage_reconcile_all全件を再スキャン/再構築
knowerage_get_file_status分析済み範囲と未分析範囲
knowerage_list_stale古いレコードや問題のあるレコードを一覧表示
knowerage_list_registryレジストリの全スナップショット(registry.json と同じ形式、キー順)
knowerage_get_treeツリー/グループ別のカバレッジ
registry_export_reportスナップショットをエクスポート(JSON/YAML/TXT/HTML)
knowerage_generate_bundle選択した分析結果を分割してエクスポート(toc*.md、combined*.md、manifest.json)

プロジェクト構成

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

ドキュメント

セキュリティ

  • すべてのパスをワークスペースのルートに照らして検証
  • パストラバーサル(..)を拒否
  • レジストリへの書き込みはアトミック(クラッシュセーフ)
  • 分析ファイルやレポートにシークレットを含めない
  • SHA-256 ハッシュベースの鮮度判定(git pull 後も有効)

ライセンス

MIT — 著作権者 Martins Timma。

このプロジェクトの一部は、生成 AI コーディングアシスタントを使用して作成または改良されています。設計、セキュリティ上重要な動作、リリースについては人間がレビューしています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。