MCP Hub
Back to servers

CodeMCP

A high-performance code intelligence server that provides AI assistants with deep semantic understanding of codebases, including symbol navigation, impact analysis, architectural mapping, and ownership tracking.

Stars
28
Forks
1
Tools
64
Updated
Jan 20, 2026
Validated
Jan 22, 2026

CKB — Code Knowledge Backend

npm version codecov Documentation

The missing link between your codebase and AI assistants.

CKB gives AI assistants deep understanding of your code. Instead of grepping through files, your AI can now navigate code like a senior engineer—with knowledge of who owns what, what's risky to change, and how everything connects.

CKB analyzes and explains your code but never modifies it. Think of it as a librarian who knows everything about the books but never rewrites them.

The Problem

AI Assistants Are Blind to Code Structure

When you ask an AI "what calls this function?", it typically:

  1. Searches for text patterns (error-prone)
  2. Reads random files hoping to find context (inefficient)
  3. Gives up and asks you to provide more context (frustrating)

Existing Tools Don't Talk to Each Other

Your codebase has valuable intelligence scattered across SCIP indexes, language servers, git history, and CODEOWNERS files. Each speaks a different language. None are optimized for AI consumption.

Context Windows Are Limited

Even with 100K+ token context, you can't dump your entire codebase into an LLM. You need relevant information only, properly compressed, with smart truncation.

What CKB Gives You

You: "What's the impact of changing UserService.authenticate()?"

CKB provides:
├── Symbol details (signature, visibility, location)
├── 12 direct callers across 4 modules
├── Risk score: HIGH (public API, many dependents)
├── Affected modules: auth, api, admin, tests
├── Code owners: @security-team, @api-team
└── Suggested drilldowns for deeper analysis
You: "Show me the architecture of this codebase"

CKB provides:
├── Module dependency graph
├── Key symbols per module
├── Module responsibilities and ownership
├── Import/export relationships
└── Compressed to fit LLM context
You: "Is it safe to rename this function?"

CKB provides:
├── All references (not just text matches)
├── Cross-module dependencies
├── Test coverage of affected code
├── Hotspot risk assessment
└── Breaking change warnings

Quick Start

Option 1: npm (Recommended)

# Install globally
npm install -g @tastehub/ckb

# Or run directly with npx (no install needed)
npx @tastehub/ckb init

Option 2: Build from Source

git clone https://github.com/SimplyLiz/CodeMCP.git
cd CodeMCP
go build -o ckb ./cmd/ckb

Setup

# 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

Now Claude can answer questions like:

  • "What calls the HandleRequest function?"
  • "How is ProcessPayment reached from the API?"
  • "What's the blast radius if I change UserService?"
  • "Who owns the internal/api module?"
  • "Is this legacy code still used?"

Why CKB?

Without CKBWith CKB
AI greps for patternsAI navigates semantically
"I found 47 matches for Handler""HandleRequest is called by 3 routes via CheckoutService"
Guessing at impactKnowing the blast radius with risk scores
Reading entire files for contextGetting exactly what's relevant
"Who owns this?" → search CODEOWNERSInstant ownership with reviewer suggestions
"Is this safe to change?" → hopeHotspot trends + impact analysis

Three Ways to Use It

InterfaceBest For
MCPAI-assisted development — Claude, Cursor, Windsurf, VS Code, OpenCode
CLIQuick lookups from terminal, scripting
HTTP APIIDE plugins, CI integration, custom tooling

Features

Core Intelligence

  • Symbol Navigation — Find any function, class, or variable in milliseconds
  • Call Flow & Tracing — Trace how code is reached from API endpoints, CLI commands, or jobs
  • Impact Analysis — Know exactly what breaks before refactoring, with risk scores
  • Architecture Maps — Module dependency graphs, responsibilities, domain concepts
  • Dead Code Detection — Keep/investigate/remove verdicts based on usage analysis

Ownership & Risk

  • Ownership Intelligence — CODEOWNERS + git blame with time-weighted analysis
  • Hotspot Detection — Track churn trends, get 30-day risk projections
  • Architectural Decisions — Record and query ADRs with full-text search

Advanced Capabilities

  • Federation — Query across multiple repos organization-wide
  • Multi-Repo Management — Named repo registry with quick MCP context switching
  • Daemon Mode — Always-on service with HTTP API, scheduled tasks, webhooks
  • Contract Analysis — Protobuf and OpenAPI discovery with cross-repo impact
  • Runtime Observability — OpenTelemetry integration for dead code detection
  • Developer Intelligence — Symbol origins, co-change coupling, risk audit

Fast Indexing

  • Zero-Index Operation — Tree-sitter fallback works without SCIP index
  • Incremental Updates — O(changed files) instead of full reindex (Go, TypeScript, Python, Dart, Rust)
  • Smart Caching — Skip-if-fresh, watch mode, transitive invalidation
  • Auto Index Updates — Watch mode, daemon file watcher, webhook API for CI/CD

Remote Index Server

  • Index Serving — Serve symbol indexes over HTTP for federation
  • Index Upload — Push SCIP indexes with compression (gzip/zstd)
  • Delta Updates — Upload only changed files
  • API Key Auth — Scoped keys with rate limiting
  • Remote Federation — Connect to remote CKB servers and query alongside local repos

📋 Full Changelog — Detailed version history from v5.1 to current

Zero-Friction UX (v7.0+)

  • npm Distributionnpm install -g @tastehub/ckb or npx @tastehub/ckb
  • Auto-Setupckb setup configures Claude Code integration automatically
  • Update Notifications — Automatic update check for npm installs (disable with CKB_NO_UPDATE_CHECK=1)

Zero-Index Operation (v7.1)

  • Tree-sitter Fallback — Symbol search works without SCIP index (8 languages)
  • Auto-Indexckb index detects language and runs the right SCIP indexer
  • Install Guidance — Shows indexer install commands when missing
  • Universal MCP Docs — Setup for Claude Code, Cursor, Windsurf, VS Code, OpenCode, Claude Desktop

Smart Indexing & Explicit Tiers (v7.2)

  • Skip-if-Freshckb index automatically skips if index is current with HEAD
  • Freshness Tracking — Tracks commits behind HEAD + uncommitted changes
  • Index Statusckb status shows index freshness with commit hash
  • Watch Modeckb mcp --watch polls every 30s and auto-reindexes when stale
  • Lock File — Prevents concurrent indexing with flock-based locking
  • Explicit Tiers — Control analysis mode: --tier=fast|standard|full or CKB_TIER env var
  • Tier Diagnosticsckb doctor --tier enhanced shows exactly what's missing and how to fix it

Doc-Symbol Linking (v7.3)

  • Backtick Detection — Automatically detect Symbol.Name references in markdown
  • Directive Support — Explicit <!-- ckb:symbol --> and <!-- ckb:module --> directives
  • Fence Scanning — Extract symbols from fenced code blocks via tree-sitter (8 languages)
  • Staleness Detection — Find broken references when symbols are renamed or deleted
  • Rename Awareness — Suggest new names when documented symbols are renamed
  • CI Enforcement--fail-under flag for documentation coverage thresholds

Standardized Response Envelope (v7.4)

  • Unified Metadata — All 76 MCP tool responses now include structured metadata
  • Confidence Tiers — High/Medium/Low/Speculative tiers based on data freshness and source
  • Provenance Tracking — Know which backends (SCIP, Git, LSP) contributed to results
  • Truncation Awareness — Metadata shows when results are truncated and total counts
  • Suggested Next Calls — Structured drilldown suggestions for follow-up queries

Production Hardening (v7.3)

  • Delta Artifacts — CI-generated diffs for O(delta) ingestion instead of O(N)
  • FTS5 Search — SQLite FTS5 for instant search (replaces LIKE scans)
  • Compaction Scheduler — Automatic snapshot cleanup and database maintenance
  • Prometheus Metrics/metrics endpoint for monitoring and alerting
  • Load Shedding — Graceful degradation under load with priority endpoints
  • Health Details/health/detailed endpoint with per-repo and storage metrics

Language Quality (v7.3)

  • Quality Tiers — 4-tier classification (Tier 1: Go, Tier 2: TS/Python, Tier 3: Rust/Java, Tier 4: Experimental)
  • Quality Assessment — Per-language metrics (ref accuracy, callgraph quality)
  • Python Venv Detection — Auto-detect virtual environments with activation recommendations
  • TypeScript Monorepo — Detect pnpm, lerna, nx, yarn workspaces with per-package tsconfig status

Auto Index Updates (v7.5)

  • Watch Modeckb index --watch and ckb mcp --watch --watch-interval 15s
  • Daemon File Watcher — Automatic incremental refresh on git changes
  • Webhook APIPOST /api/v1/refresh for CI/CD integration
  • Index Stalenessckb status and getStatus show commits behind, index age, staleness reasons
  • Token Efficiency Visibility — Startup banner shows active tools, estimated tokens, preset savings (83% with core)

Multi-Language Incremental (v7.5)

  • Expanded Support — Go, TypeScript, Python, Dart, Rust (automatic indexer detection)
  • Graceful Degradation — Install hints when indexer is missing
  • Unified APIIndexIncrementalWithLang(ctx, since, lang) for all languages

Performance Improvements (v7.5)

  • SCIP Backend — Up to 2,500x faster: FindReferences (136x), SearchSymbols (7x), FindSymbolLocation (2,500x)
  • Git Backend — 53x faster getHotspots (single git command vs 4 per file)
  • Pre-computed Indexes — RefIndex, ConvertedSymbols cache, ContainerIndex for O(1) lookups

MCP Tools (76 Available)

CKB exposes code intelligence through the Model Context Protocol:

v5.1 — Core Navigation
ToolPurpose
searchSymbolsFind symbols by name with filtering
getSymbolGet symbol details
findReferencesFind all usages
explainSymbolAI-friendly symbol explanation
justifySymbolKeep/investigate/remove verdict
getCallGraphCaller/callee relationships
getModuleOverviewModule statistics
analyzeImpactChange risk analysis
getStatusSystem health
doctorDiagnostics
v5.2 — Discovery & Flow
ToolPurpose
traceUsageHow is this symbol reached?
listEntrypointsSystem entrypoints (API, CLI, jobs)
explainFileFile-level orientation
explainPathWhy does this path exist?
summarizeDiffWhat changed, what might break?
getArchitectureModule dependency overview
getHotspotsVolatile areas with trends
listKeyConceptsDomain concepts in codebase
recentlyRelevantWhat matters now?
v6.0 — Architectural Memory
ToolPurpose
getOwnershipWho owns this code?
getModuleResponsibilitiesWhat does this module do?
recordDecisionCreate an ADR
getDecisionsQuery architectural decisions
annotateModuleAdd module metadata
refreshArchitectureRebuild architectural model
v6.1 — Production Ready
ToolPurpose
getJobStatusQuery background job status
listJobsList jobs with filters
cancelJobCancel queued/running job
summarizePrPR risk analysis & reviewers
getOwnershipDriftCODEOWNERS vs actual ownership
v6.2+ — Federation, Daemon, Contracts, Telemetry, Intelligence
ToolPurpose
listFederationsList all federations
federationStatusGet federation status
federationSearchModulesCross-repo module search
federationSearchOwnershipCross-repo ownership search
federationGetHotspotsMerged hotspots across repos
daemonStatusDaemon health and stats
listSchedulesList scheduled tasks
listWebhooksList configured webhooks
getFileComplexityCyclomatic/cognitive complexity
listContractsList contracts in federation
analyzeContractImpactContract change impact
getTelemetryStatusCoverage metrics and sync status
getObservedUsageObserved usage for a symbol
findDeadCodeCandidatesZero runtime call detection
explainOriginWhy does this code exist?
analyzeCouplingCo-change analysis
exportForLLMLLM-friendly export
auditRiskMulti-signal risk audit
v7.3 — Doc-Symbol Linking
ToolPurpose
indexDocsScan and index documentation
getDocsForSymbolFind docs referencing a symbol
getSymbolsInDocList symbols in a document
getDocsForModuleFind docs linked to a module
checkDocStalenessCheck for stale references
getDocCoverageDocumentation coverage stats
v7.3 — Multi-Repo Management
ToolPurpose
listReposList registered repos with state
switchRepoSwitch active repo context
getActiveRepoGet current repo info
v7.3 — Remote Federation
ToolPurpose
federationAddRemoteAdd a remote CKB index server
federationRemoveRemoteRemove a remote server
federationListRemoteList remote servers in federation
federationSyncRemoteSync metadata from remote servers
federationStatusRemoteCheck remote server connectivity
federationSearchSymbolsHybridSearch across local + remote
federationListAllReposList repos from local and remote

CLI Usage

# System status
ckb status

# Search for symbols
ckb search NewServer

# Find references
ckb refs NewServer

# Get architecture overview
ckb arch

# Analyze change impact
ckb impact <symbol-id>

# Query ownership
ckb ownership internal/api/handler.go

# List architectural decisions
ckb decisions

# Run diagnostics
ckb doctor

# Check tier-specific requirements
ckb doctor --tier enhanced

# Start MCP server for AI assistants
ckb mcp
More CLI commands
# Federation (v6.2)
ckb federation create platform --description "Our microservices"
ckb federation add platform --repo-id=api --path=/code/api
ckb federation status platform
ckb federation sync platform

# Remote Federation (v7.3)
ckb federation add-remote platform prod --url=https://ckb.company.com --token=$CKB_TOKEN
ckb federation list-remote platform
ckb federation sync-remote platform
ckb federation status-remote platform prod

# Daemon (v6.2.1)
ckb daemon start [--port=9120]
ckb daemon status
ckb daemon logs --follow
ckb daemon stop

# Contracts (v6.3)
ckb contracts list platform
ckb contracts impact platform --repo=api --path=proto/api/v1/user.proto
ckb contracts deps platform --repo=api

# Telemetry (v6.4)
ckb telemetry status
ckb telemetry usage --symbol="internal/api/handler.go:HandleRequest"
ckb dead-code --min-confidence=0.7

# Developer Intelligence (v6.5)
ckb explain internal/api/handler.go:42
ckb coupling internal/query/engine.go --min-correlation=0.5
ckb export --min-complexity=10 --max-symbols=200
ckb audit --min-score=60 --quick-wins

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 Integration

CKB works with any MCP-compatible AI coding tool.

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

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

Or manually add to .mcp.json:

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

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

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

Add to ~/.codeium/windsurf/mcp_config.json:

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

Add to your VS Code settings.json:

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

Add to opencode.json in project root:

{
  "mcp": {
    "ckb": {
      "type": "local",
      "command": ["npx", "@tastehub/ckb", "mcp"],
      "enabled": true
    }
  }
}
Claude Desktop

Claude Desktop doesn't have a project context, so you must specify the repository path.

Automatic setup (recommended):

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

Manual configuration — add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

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

The CKB_REPO environment variable tells CKB which repository to analyze. Claude Desktop can only work with one repository at a time.

Windows

Use cmd /c wrapper in any config above:

{
  "mcpServers": {
    "ckb": {
      "command": "cmd",
      "args": ["/c", "npx", "@tastehub/ckb", "mcp"]
    }
  }
}
Presets (Token Optimization)

CKB exposes 76 tools, but most sessions only need a subset. Use presets to reduce token overhead by up to 83%:

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

# Workflow-specific presets
ckb mcp --preset=core        # 14 tools - search, explain, impact (default)
ckb mcp --preset=review      # 19 tools - core + diff, ownership
ckb mcp --preset=refactor    # 19 tools - core + coupling, dead code
ckb mcp --preset=federation  # 28 tools - core + cross-repo
ckb mcp --preset=docs        # 20 tools - core + doc-symbol linking
ckb mcp --preset=ops         # 25 tools - core + jobs, webhooks, metrics
ckb mcp --preset=full        # 76 tools - all tools (legacy)

In MCP config:

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

The AI can dynamically expand the toolset mid-session using the expandToolset tool.

Under the Hood

CKB orchestrates multiple code intelligence backends:

  • SCIP — Precise, pre-indexed symbol data (fastest)
  • LSP — Real-time language server queries
  • Git — Blame, history, churn analysis, ownership

Results are merged intelligently and compressed for LLM context limits.

Persistent knowledge survives across sessions:

  • Module Registry — Boundaries, responsibilities, tags
  • Ownership Registry — CODEOWNERS + git-blame with time decay
  • Hotspot Tracker — Historical snapshots with trend analysis
  • Decision Log — ADRs with full-text search

Who Should Use CKB?

  • Developers using AI assistants — Give your AI tools superpowers
  • Teams with large codebases — Navigate complexity efficiently
  • Anyone doing refactoring — Understand impact before changing
  • Code reviewers — See the full picture of changes
  • Tech leads — Track architectural health over time

Documentation

See the Full Documentation Wiki for:

Requirements

Using npm (recommended):

  • Node.js 16+
  • Git

Building from source:

  • Go 1.21+
  • Git

Optional (for enhanced analysis):

  • SCIP indexer for your language (scip-go, scip-typescript, etc.) — run ckb index to auto-install

License

Free for personal use. Commercial/enterprise use requires a license. See LICENSE for details.

Reviews

No reviews yet

Sign in to write a review