mcpField
C
Ckb   Code Knowledge Backend

Ckb Code Knowledge Backend

ローカル
github.com/SimplyLizメモリ・ナレッジ1116 週間前に更新

Ckb Code Knowledge Backend について

CKB(Code Knowledge Backend)は、コードベースをクエリ可能なナレッジベースに変換し、コマンドライン、HTTP API、AI アシスタントから利用できるようにします。変更の影響分析、オーナー特定、デッドコード検出が必要な開発者やチーム向けです。

主な機能

  1. 01コールグラフとシンボル参照のクエリ
  2. 02リスクスコア付きの影響分析
  3. 03オーナー検索とレビュアー提案
  4. 04デッドコードとホットスポットの検出
  5. 05シークレットスキャンとセキュリティ関連コードの特定
  6. 06MCP 経由で公開されるプリセットツールセット

活用シーン

  1. 01コード変更前に影響範囲を評価し、実行すべきテストを選ぶ
  2. 02PR レビューで破壊的変更やリスクの高い箇所を特定する
  3. 03不慣れなコードベースのアーキテクチャと呼び出し関係を把握する

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"CodeMCP": {
"command": "npx",
"args": [
"-y",
"@tastehub/ckb"
]
}
}
}
起動コマンドnpx -y @tastehub/ckb

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

パッケージ
npm@tastehub/ckb8.0.3

ツール

19

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

パラメーター型必須説明
depthenumいいえ探索の詳細度:shallow(簡易概要)、standard(バランス型)、deep(包括的)shallow | standard | deep
focusenumいいえ重点を置く側面:structure(シンボル/型)、dependencies(インポート/エクスポート)、changes(ホットスポット/履歴)structure | dependencies | changes
targetstringはい探索するファイル、ディレクトリ、またはモジュールのパス

詳細

CKB — Code Knowledge Backend

コードを把握し、安全に変更し、自信を持ってリリースしましょう。

npm version Website Documentation MCP Badge LIP LIP docs

CKB は、コードベースを検索可能なナレッジベースに変換します。CLI、API、AI アシスタントを通じて、質問への回答、影響範囲の把握、担当者の特定、デッドコードの検出ができます。

あらゆるコード行、あらゆる決定、あらゆる担当者を把握していて、質問に24時間いつでも答えてくれる、シニアエンジニアのようなものだと考えてください。


難しい質問にもすぐに回答

質問CKB なしCKB あり
「これを変更したら、何が壊れますか?」Grep して、あとは祈るリスクスコア付きの正確な影響範囲
「この PR は誰にレビューしてもらうべきですか?」git blame から推測データに基づくレビュアーの提案
「このコードはまだ使われていますか?」削除して、何が壊れるか確認信頼度スコア付きのデッドコード検出
「どのテストを実行すべきですか?」すべて実行(30分)影響を受けるテストだけを実行(2分)
「このシステムはどのように動作しますか?」何時間もコードを読むアーキテクチャをすぐに検索
「このコードの担当者は誰ですか?」CODEOWNERS を手動で検索ドリフト検出付きの担当者情報
「公開されたシークレットはありますか?」パターンを手動で Grep26種類のパターンによる自動スキャン

できること

🔍 把握 — セマンティック検索、呼び出しグラフ、使用状況のトレース、アーキテクチャマップ

⚡ 分析 — 影響分析、リスクスコアリング、ホットスポット検出、結合度分析

🛡️ 保護 — 影響を受けるテストの検出、破壊的変更の警告、PR リスク評価

🔐 セキュリティ確保 — シークレット検出、認証情報のスキャン、セキュリティ上重要なコードの特定

👥 共同作業 — 担当者の検索、レビュアーの提案、アーキテクチャ上の決定(ADR)

📊 改善 — デッドコード検出、技術的負債の追跡、ドキュメントカバレッジ

🚀 複合操作 — 単一呼び出しのツール(explore、understand、prepareChange)により、AI ツールの呼び出しを60~70%削減

🔗 連携 — CLI、HTTP API、AI ツール向け MCP、CI/CD パイプライン、カスタムスクリプト


今すぐ試す

# See what's risky in your codebase
ckb hotspots --format=human

# Check what changed and what might break
ckb diff-summary --format=human

# Scan for exposed secrets
ckb audit --format=human

# Check architecture at a glance
ckb arch --format=human

# Check system status
ckb status

あらゆる環境で動作

AI アシスタントCI/CDお使いのツール
Claude Code、Cursor、Windsurf、VS Code、GrokGitHub Actions、GitLab CICLI、HTTP API、スクリプト

スマートプリセットによりトークンを83%削減し、必要なツールだけを読み込みます。

# One command to connect to Claude Code
ckb setup

独自のツールを構築していますか? CLI、HTTP API、または MCP を介して、CKB をバックエンドとして使用できます。Node.js、Python、Go、シェルスクリプトの例については、**連携ガイド**をご覧ください。


詳細情報

リソース説明
📖 機能ガイド例を含む機能の全一覧
💬 プロンプト集実際の問題に役立つ実用的なプロンプト
🔌 連携ガイドCKB を独自のツールやスクリプトで使用する方法
⚡ 影響分析影響範囲、影響を受けるテスト、PR リスク
🔧 CI/CD 連携GitHub Actions、GitLab CI のテンプレート

クイックスタート

オプション 1:npm(推奨)
# Install globally
npm install -g @tastehub/ckb

# Or run directly with npx (no install needed)
npx @tastehub/ckb init
オプション 2:Homebrew(macOS/Linux)
brew install simplyliz/ckb/ckb

完全修飾名を使用してください。Homebrew 6.0 では、読み込み前にサードパーティーのタップを信頼する必要があります。この方法でインストールすると、このフォーミュラに限って信頼が付与されます。先にタップしてから短縮名でインストールすると、Refusing to load formula ... from untrusted tap というエラーが発生します。

オプション 3:ソースからビルド
git clone https://github.com/SimplyLiz/CodeMCP.git
cd CodeMCP
go build -o ckb ./cmd/ckb
セットアップ
# 1. Initialize in your project
cd /path/to/your/project
ckb init   # or: npx @tastehub/ckb init

# 2. Generate SCIP index (optional but recommended)
ckb index  # auto-detects language and runs appropriate indexer

# 3. Connect to Claude Code
ckb setup  # creates .mcp.json automatically

# Or manually:
claude mcp add --transport stdio ckb -- npx @tastehub/ckb mcp

起動時に表示されるトークン効率:

CKB MCP Server v9.3.1
  Active tools: 25 / 110 (22%)
  Estimated context: ~4k tokens
  Preset: core

これで Claude は、次のような質問に回答できるようになります。

  • 「HandleRequest 関数を呼び出しているのは何ですか?」
  • 「API から ProcessPayment にはどのように到達しますか?」
  • 「UserService を変更した場合の影響範囲はどのくらいですか?」
  • 「internal/api モジュールの担当者は誰ですか?」
  • 「このレガシーコードはまだ使われていますか?」

CKB を使う理由

CKB なしCKB あり
AI がパターンを grep しますAI が意味に基づいてナビゲートします
「Handler が 47 件見つかりました」「HandleRequest は CheckoutService 経由で 3 つのルートから呼び出されています」
影響を推測しますリスクスコアで影響範囲を把握できます
コンテキストを把握するためにファイル全体を読みます関連する情報だけを取得できます
「担当者は誰ですか?」→ CODEOWNERS を検索レビュアーの候補とともに、担当者をすぐに把握できます
「安全に変更できますか?」→ 祈るホットスポットの傾向と影響分析

3 つの利用方法

インターフェース主な用途
MCPAI 支援開発 — Claude、Cursor、Windsurf、VS Code、OpenCode、Grok
CLIターミナルからの簡単な検索、スクリプト作成
HTTP APIIDE プラグイン、CI 連携、カスタムツール

インデックス作成の仕組み

CKB は SCIP インデックスを使ってコードを理解します。すべての関数の定義場所、呼び出し元、そしてコード全体のつながりを把握するデータベースのようなものです。

基本
# 1. Generate an index (auto-detects language)
ckb index

# 2. Check if your index is fresh
ckb status

インデックスがなくても、CKB は tree-sitter 解析を使って動作します(基本モード)。ただし、インデックスがあれば、次の機能を利用できます。

  • ファイルをまたいだ参照(「この関数を呼び出しているのは誰ですか?」)
  • 正確な影響分析
  • 呼び出しグラフのナビゲーション
言語サポート

言語によってサポート状況は異なります。CKB は、インデクサーの成熟度に基づいて言語を品質ティアに分類しています。

ティア品質言語
ティア 1完全サポート、すべての機能に対応Go
ティア 2完全サポート、一部の例外的なケースありTypeScript、JavaScript、Python
ティア 3基本サポート、呼び出しグラフが不完全な場合ありRust、Java、Kotlin、C++、Ruby、Dart
ティア 4実験的C#、PHP

主な制限事項:

  • インクリメンタルインデックス作成に対応しているのは Go のみです。他の言語ではインデックスをすべて作り直す必要があります。
  • TypeScript のモノレポでは --infer-tsconfig フラグが必要な場合があります。
  • C/C++ では compile_commands.json が必要です。
  • Python は仮想環境を有効化した状態での使用が最適です。

ckb doctor --tier standard を実行して、言語ツールが正しくインストールされているか確認してください。

インデクサーのインストール方法、既知の問題、機能の全一覧については、**言語サポート**をご覧ください。

インデックスを最新に保つ

コミットを作成すると、インデックスが古くなります。CKB では、次の方法で最新の状態を保てます。

方法コマンド使用する場面
手動ckb index単発の更新、スクリプト
監視モードckb index --watch開発中の自動更新
MCP 監視ckb mcp --watchAI セッション中の自動更新
CI webhookPOST /api/v1/refreshCI/CD からの実行

AI セッションですぐに使うには:

ckb mcp --watch  # Auto-reindexes every 30s when stale

古くなっているか確認するには:

ckb status
# Shows: "5 commits behind HEAD" or "Up to date"

Go プロジェクトでは、CKB はインクリメンタルインデックス作成を使用します。変更されたファイルだけを処理するため、更新が速くなります。

詳細については、**インデックス管理ガイド**をご覧ください。

機能

機能説明
複合操作explore、understand、prepareChange — AI のオーバーヘッドを 60~70% 削減する単一呼び出しのツール
コードナビゲーションセマンティック検索、呼び出しグラフ、使用箇所の追跡、エントリーポイントの検索
影響分析影響範囲、リスクスコアリング、影響を受けるテスト、破壊的変更(compareAPI)
アーキテクチャモジュール概要、ADR、依存関係グラフ、起源の説明
所有権CODEOWNERS + git blame、レビュアーの提案、乖離の検出
コード品質デッドコードの検出(findDeadCode)、結合度分析、複雑度
セキュリティシークレットの検出、認証情報のスキャン、許可リスト
ドキュメントドキュメントとシンボルのリンク、陳腐化の検出、カバレッジ指標
マルチリポジトリフェデレーション、API コントラクト、リモートインデックスの提供
ランタイムOpenTelemetry の統合、観測された使用状況、本番環境のデッドコード
ストリーミングfindReferences、searchSymbols の SSE ストリーミングとリアルタイムの進捗表示
自動化デーモンモード、監視モード、Webhook、増分インデックス作成

📖 機能ガイド全文 — 例を含む詳細なドキュメント

📋 変更履歴 — バージョン履歴

PR レビュー

CKB のレビューは、シークレット、破壊的変更、デッドコード、複雑度、テストの不足、バグのパターンなど、21 項目の品質チェックを 5 秒で実行します。トークンも API 呼び出しも不要です。

AI アシスタント(Claude Code、Cursor、Windsurf)が PR をレビューするとき、まず CKB を呼び出し、約 1k トークンで構造化された分析結果を取得します。その後、重要なファイルだけを読み取るため、大規模な PR ではトークンを 50~80% 節約できます。

ckb review --base=main              # Human-readable review
ckb review --base=main --ci         # CI mode (exit codes)
ckb review --base=main --post=123   # Post as PR comment

LLM を使わずに CI で動作します。

- run: npx @tastehub/ckb review --base=main --ci --format=sarif > review.sarif
CKB なしCKB あり
100 ファイルの PR で使用する LLM トークン~200k~50k
LLM が読み取るファイルすべて~10(CKB がフラグを付けたもの)
シークレット/破壊的変更/デッドコードのチェックいいえはい(全ファイル)

📖 AI レビューへの活用方法 · ベンチマーク · CI の統合 · クイックスタート

CLI

ckb status           # System health (with remediation suggestions)
ckb search Handler   # Find symbols
ckb diff-summary     # Analyze what changed
ckb hotspots         # Risky areas
ckb arch             # Architecture overview
ckb ownership        # File/path ownership
ckb mcp              # Start MCP server

複合操作(MCP 経由):

# These tools combine multiple queries into single calls
explore      # Area exploration: symbols, dependencies, hotspots
understand   # Symbol deep-dive: refs, callers, explanation
prepareChange # Pre-change analysis: impact, tests, risk
batchGet     # Fetch up to 50 symbols at once
batchSearch  # Run up to 10 searches at once

📖 ユーザーガイド — CLI コマンドとオプションの一覧

HTTP API

# Start the HTTP server
ckb serve --port 8080

# Example calls
curl http://localhost:8080/health
curl http://localhost:8080/status
curl "http://localhost:8080/search?q=NewServer"
curl http://localhost:8080/architecture
curl "http://localhost:8080/ownership?path=internal/api"
curl http://localhost:8080/hotspots

# Index Server Mode (v7.3) - serve indexes to remote clients
ckb serve --port 8080 --index-server --index-config config.toml

# Index server endpoints
curl http://localhost:8080/index/repos
curl http://localhost:8080/index/repos/company%2Fcore-lib/meta
curl "http://localhost:8080/index/repos/company%2Fcore-lib/symbols?limit=100"
curl "http://localhost:8080/index/repos/company%2Fcore-lib/search/symbols?q=Handler"

# Upload endpoints (with compression + auth)
curl -X POST http://localhost:8080/index/repos \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ckb_xxx" \
  -d '{"id":"my-org/my-repo","name":"My Repo"}'

gzip -c index.scip | curl -X POST http://localhost:8080/index/repos/my-org%2Fmy-repo/upload \
  -H "Content-Encoding: gzip" \
  -H "Authorization: Bearer ckb_xxx" \
  --data-binary @-

# Token management (index server admin)
ckb token create --name "ci-upload" --scope upload    # Create API key
ckb token list                                         # List all tokens
ckb token revoke ckb_xxx                              # Revoke a token
ckb token rotate ckb_xxx                              # Rotate (new secret, same ID)

MCP 統合

CKB は、MCP 互換の AI コーディングツールであればどれでも使用できます。

Claude Code
# Auto-configure for current project
npx @tastehub/ckb setup

# Or add globally for all projects
npx @tastehub/ckb setup --global

または、.mcp.json に手動で追加します:

{
  "mcpServers": {
    "ckb": {
      "command": "npx",
      "args": ["@tastehub/ckb", "mcp"]
    }
  }
}
Cursor

~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト)に追加します:

{
  "mcpServers": {
    "ckb": {
      "command": "npx",
      "args": ["@tastehub/ckb", "mcp"]
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json に追加します:

{
  "mcpServers": {
    "ckb": {
      "command": "npx",
      "args": ["@tastehub/ckb", "mcp"]
    }
  }
}
VS Code

VS Code の settings.json に追加します:

{
  "mcp": {
    "servers": {
      "ckb": {
        "type": "stdio",
        "command": "npx",
        "args": ["@tastehub/ckb", "mcp"]
      }
    }
  }
}
OpenCode

プロジェクトのルートにある opencode.json に追加します:

{
  "mcp": {
    "ckb": {
      "type": "local",
      "command": ["npx", "@tastehub/ckb", "mcp"],
      "enabled": true
    }
  }
}
Grok
# Auto-configure for current project
npx @tastehub/ckb setup --tool=grok

# Or add globally
npx @tastehub/ckb setup --tool=grok --global

または、.grok/settings.json(プロジェクト)または ~/.grok/user-settings.json(グローバル)に手動で追加します:

{
  "mcpServers": {
    "ckb": {
      "name": "ckb",
      "transport": "stdio",
      "command": "npx",
      "args": ["@tastehub/ckb", "mcp"]
    }
  }
}
Claude Desktop

Claude Desktop にはプロジェクトコンテキストがないため、リポジトリのパスを指定する必要があります。

自動セットアップ(推奨):

cd /path/to/your/repo
ckb setup --tool=claude-desktop

手動設定 — ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します:

{
  "mcpServers": {
    "ckb": {
      "command": "npx",
      "args": ["-y", "@tastehub/ckb", "mcp"],
      "env": {
        "CKB_REPO": "/path/to/your/repo"
      }
    }
  }
}

CKB_REPO 環境変数で、解析するリポジトリを CKB に指定します。Claude Desktop で同時に扱えるリポジトリは 1 つだけです。

Windows

上記のどの設定でも、cmd /c ラッパーを使用します:

{
  "mcpServers": {
    "ckb": {
      "command": "cmd",
      "args": ["/c", "npx", "@tastehub/ckb", "mcp"]
    }
  }
}
プリセット(トークンの最適化)

CKB は 110 個以上のツールを提供していますが、ほとんどのセッションで必要なのはその一部だけです。プリセットを使うと、トークンのオーバーヘッドを最大 77% 削減できます:

# List all available presets with tool counts and token estimates
ckb mcp --list-presets

# Default: core preset (25 essential tools)
ckb mcp

# Workflow-specific presets
ckb mcp --preset=core        # 25 tools - search, explain, impact (default)
ckb mcp --preset=review      # 42 tools - core + diff, ownership, PR review
ckb mcp --preset=refactor    # 42 tools - core + coupling, dead code
ckb mcp --preset=federation  # 46 tools - core + cross-repo
ckb mcp --preset=docs        # 34 tools - core + doc-symbol linking
ckb mcp --preset=ops         # 43 tools - core + jobs, webhooks, metrics
ckb mcp --preset=full        # 110 tools - complete feature set

MCP の設定に追加します:

{
  "mcpServers": {
    "ckb": {
      "command": "npx",
      "args": ["@tastehub/ckb", "mcp", "--preset=review"]
    }
  }
}

AI は expandToolset ツールを使って、セッション中にツールセットを動的に拡張できます。

内部の仕組み

CKB は複数のコードインテリジェンスバックエンドを統合し、利用可能なものを使いながら、それぞれの強みを組み合わせます。実行するバックエンドが増えるほど、回答も充実します:

  • Cartographer — アーキテクチャ、依存関係、影響範囲、結合度、ディレクトリの集計を高速に構造解析します。インデックスは不要で、CKB のインストール直後から使用できます。バイナリにコンパイルされるため、npm および Homebrew のビルドにデフォルトで含まれます。
  • SCIP — 定義、参照、呼び出しグラフを正確に取得するための、事前インデックス化済みのシンボルデータです(ckb index を実行)
  • LSP — リアルタイムの言語サーバークエリ
  • Git — Blame、履歴、変更頻度の分析、所有権
  • LIP — 最近傍検索と再ランキングを行うセマンティック埋め込みデーモンです。別個のオプションデーモンとして動作するため、CKB と併せてインストールして起動してください。

結果はインテリジェントに統合され、LLM のコンテキスト上限に合わせて圧縮されます。Git 以外のバックエンドはすべてオプションです。CKB は利用可能なバックエンドに応じて、機能を損なわずに動作します。

LIP はセマンティック検索、PR の新規性検出、テストの検出、ファイル境界の分析、アーキテクチャの結合度シグナルを強化します。 LIP を CKB と併せて実行すると、特にシンボル名と文字どおりには一致しない自然言語のクエリで、検索品質が大幅に向上します。詳しくは、ハイブリッド検索またはLIP のドキュメントをご覧ください。

永続的なナレッジはセッションをまたいで保持されます:

  • モジュールレジストリ — 境界、責務、タグ
  • 所有権レジストリ — CODEOWNERS と git-blame(時間減衰を適用)
  • ホットスポットトラッカー — トレンド分析付きの過去のスナップショット
  • 意思決定ログ — 全文検索に対応した ADR

CKB はどのような人に適していますか?

  • AI アシスタントを使う開発者 — AI ツールに強力な機能を追加できます
  • 大規模なコードベースを扱うチーム — 複雑さを効率的に把握できます
  • リファクタリングを行う人 — 変更前に影響を把握できます
  • コードレビュー担当者 — 変更の全体像を確認できます
  • テックリード — アーキテクチャの健全性を継続的に追跡できます

制限事項(率直な評価)

CKB が得意なこと:

  • 静的コードナビゲーション — 定義、参照、呼び出しグラフの検索
  • 安全なリファクタリングのための影響分析
  • 所有者の検索(CODEOWNERS + git blame)
  • アーキテクチャとモジュールの理解

CKB では対応できないこと:

  • 動的ディスパッチ/実行時の動作(デバッガーを使用してください)
  • インデックスされていない生成コード
  • コード生成、リント、フォーマット
  • リポジトリをまたいだ呼び出し(その場合はフェデレーションを使用してください)

CKB は静的解析であり、魔法ではありません。重要な判断を下す際は、必ず実際のコードを読んで確認してください。

📖 実践的な制限事項 — 精度、見落としやすい点、結果を信頼できる場面についての完全ガイド

ドキュメント

以下については、**ドキュメント Wiki 全体**をご覧ください。

要件

npm を使用する場合(推奨):

  • Node.js 16+
  • Git

ソースからビルドする場合:

  • Go 1.21+
  • Git

任意(分析機能を強化する場合):

  • 使用する言語向けの SCIP インデクサー(scip-go、scip-typescript など) — ckb index を実行すると自動インストールされます
  • LIP v2.3+ セマンティック埋め込みデーモン(Rust/cargo が必要) — 検索品質を最大限に高めるため、強く推奨します(ドキュメント、crates.io):
    cargo install lip-cli
    lip daemon --socket ~/.local/share/lip/lip.sock
    

ライセンス

以下の用途は無料です:

  • 個人利用
  • オープンソースプロジェクト
  • 年間収益が 25,000 ドル未満のスタートアップおよび中小企業

年間収益が 25,000 ドル以上の組織には、商用ライセンスが必要です。Team および Enterprise プランについては料金をご覧ください。ライセンス条件の全文はLICENSEをご確認ください。

コメント

MCP は初めてですか?

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

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