Back to MCP Servers

CodeMCP

Code intelligence MCP server with 80+ tools for semantic code search, impact analysis, call graphs, ownership detection, and architectural understanding. Supports Go, TypeScript, Python, Rust, Java via SCIP indexing.

developer-toolspythontypescriptrustgo
By SimplyLiz
10311Updated todayGoNOASSERTION

Installation

npx -y CodeMCP

Configuration

{
  "mcpServers": {
    "CodeMCP": {
      "command": "npx",
      "args": ["-y", "CodeMCP"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

CKB — Code Knowledge Backend

Know your code. Change it safely. Ship with confidence.

npm version Website Documentation LIP LIP docs

CKB transforms your codebase into a queryable knowledge base. Ask questions, understand impact, find owners, detect dead code—all through CLI, API, or AI assistants.

Think of it as a senior engineer who knows every line of code, every decision, and every owner—available 24/7 to answer your questions.


Instant Answers to Hard Questions

QuestionWithout CKBWith CKB
"What breaks if I change this?"Grep and hopePrecise blast radius with risk score
"Who should review this PR?"Guess from git blameData-driven reviewer suggestions
"Is this code still used?"Delete and see what breaksConfidence-scored dead code detection
"What tests should I run?"Run everything (30 min)Run affected tests only (2 min)
"How does this system work?"Read code for hoursQuery architecture instantly
"Who owns this code?"Search CODEOWNERS manuallyOwnership with drift detection
"Are there exposed secrets?"Manual grep for patternsAutomated scanning with 26 patterns

What You Can Do

🔍 Understand — Semantic search, call graphs, usage tracing, architecture maps

Analyze — Impact analysis, risk scoring, hotspot detection, coupling analysis

🛡️ Protect — Affected test detection, breaking change warnings, PR risk assessment

🔐 Secure — Secret detection, credential scanning, security-sensitive code identification

👥 Collaborate — Ownership lookup, reviewer suggestions, architectural decisions (ADRs)

📊 Improve — Dead code detection, tech debt tracking, documentation coverage

🚀 Compound Operations — Single-call tools (explore, understand, prepareChange) reduce AI tool calls by 60-70%

🔗 Integrate — CLI, HTTP API, MCP for AI tools, CI/CD pipelines, custom scripts


Try It Now

# 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

Works Everywhere

AI AssistantsCI/CDYour Tools
Claude Code, Cursor, Windsurf, VS Code, GrokGitHub Actions, GitLab CICLI, HTTP API, Scripts

83% token reduction with smart presets—load only the tools you need.

# One command to connect to Claude Code
ckb setup

Building your own tools? Use CKB as a backend via CLI, HTTP API, or MCP. See the Integration Guide for examples in Node.js, Python, Go, and shell scripts.


Learn More

ResourceDescription
📖 Features GuideComplete feature list with examples
💬 Prompt CookbookReal prompts for real problems
🔌 Integration GuideUse CKB in your own tools and scripts
Impact AnalysisBlast radius, affected tests, PR risk
🔧 CI/CD IntegrationGitHub Actions, GitLab CI templates

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: Homebrew (macOS/Linux)

brew tap SimplyLiz/ckb
brew install ckb

Option 3: 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

Token efficiency shown at startup:

CKB MCP Server v9.0.0
  Active tools: 14 / 76 (18%)
  Estimated context: ~1k tokens
  Preset: core

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, Grok
CLIQuick lookups from terminal, scripting
HTTP APIIDE plugins, CI integration, custom tooling

How Indexing Works

CKB uses SCIP indexes to understand your code. Think of it like a database that knows where every function is defined, who calls it, and how everything connects.

The Basics

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

# 2. Check if your index is fresh
ckb status

Without an index, CKB still works using tree-sitter parsing (basic mode), but with an index you get:

  • Cross-file references ("who calls this function?")
  • Precise impact analysis
  • Call graph navigation

Language Support

Not all languages are equal. CKB classifies languages into quality tiers based on indexer maturity:

TierQualityLanguages
Tier 1Full support, all featuresGo
Tier 2Full support, minor edge casesTypeScript, JavaScript, Python
Tier 3Basic support, call graph may be incompleteRust, Java, Kotlin, C++, Ruby, Dart
Tier 4ExperimentalC#, PHP

Key limitations:

  • Incremental indexing is Go-only. Other languages require full reindex.
  • TypeScript monorepos may need --infer-tsconfig flag
  • C/C++ requires compile_commands.json
  • Python works best with activated virtual environment

Run ckb doctor --tier standard to check if your language tools are properly installed.

See Language Support for indexer installation, known issues, and the full feature matrix.

Keeping Your Index Fresh

Your index becomes stale when you make commits. CKB offers several ways to stay current:

MethodCommandWhen to Use
Manualckb indexOne-off updates, scripts
Watch modeckb index --watchAuto-refresh during development
MCP watchckb mcp --watchAuto-refresh in AI sessions
CI webhookPOST /api/v1/refreshTrigger from CI/CD

Quick start for AI sessions:

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

Check staleness:

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

For Go projects, CKB uses incremental indexing—only changed files are processed, making updates fast.

See the Index Management Guide for complete documentation.

Features

FeatureDescription
Compound Operationsexplore, understand, prepareChange — single-call tools that reduce AI overhead by 60-70%
Code NavigationSemantic search, call graphs, trace usage, find entrypoints
Impact AnalysisBlast radius, risk scoring, affected tests, breaking changes (compareAPI)
ArchitectureModule overview, ADRs, dependency graphs, explain origin
OwnershipCODEOWNERS + git blame, reviewer suggestions, drift detection
Code QualityDead code detection (findDeadCode), coupling analysis, complexity
SecuritySecret detection, credential scanning, allowlists
DocumentationDoc-symbol linking, staleness detection, coverage metrics
Multi-RepoFederation, API contracts, remote index serving
RuntimeOpenTelemetry integration, observed usage, production dead code
StreamingSSE streaming for findReferences, searchSymbols with real-time progress
AutomationDaemon mode, watch mode, webhooks, incremental indexing

📖 Full Features Guide — Detailed documentation with examples

📋 Changelog — Version history

PR Review

CKB review runs 20 quality checks in 5 seconds — secrets, breaking changes, dead code, complexity, test gaps, bug patterns, and more. Zero tokens, zero API calls.

When your AI assistant (Claude Code, Cursor, Windsurf) reviews a PR, it calls CKB first and gets structured analysis in ~1k tokens. Then it only reads the files that matter — saving 50-80% of tokens on large PRs.

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

Works in CI without any LLM:

- run: npx @tastehub/ckb review --base=main --ci --format=sarif > review.sarif
Without CKBWith CKB
LLM tokens on 100-file PR~200k~50k
Files LLM readsall~10 (CKB-flagged)
Secrets/breaking/dead-code checkednoyes (all files)

📖 How it helps AI review · Benchmarks · CI Integration · Quickstart

CLI

View source on GitHub