Code Intelligence
БесплатноНе проверенIntelligent code search MCP server with AST analysis, call graphs, dependency tracking, and semantic embeddings for developers.
Описание
Intelligent code search MCP server with AST analysis, call graphs, dependency tracking, and semantic embeddings for developers.
README
Intelligent code search MCP server with AST analysis, call graphs, dependency tracking, and semantic embeddings.
Features
Core Search
- Semantic Code Search: Vector-based similarity search across your codebase
- Language-Aware Splitting: Automatically detects and handles 25+ programming languages
- Local-First: Uses SQLite-vec for fast vector search without external services
- Gitignore Support: Respects
.gitignorepatterns automatically
AST Intelligence (NEW)
- Call Graph Analysis: Track who-calls-what relationships
- Symbol Extraction: Index all functions, classes, and methods
- Dependency Trees: Map import/export relationships
- Smart Search: Find code by structure, not just keywords
File Intelligence
- Semantic File Search: Find files by purpose, not just name
- Auto-Summarization: AI-generated file summaries
- Background Indexing: Automatically tracks file changes
Installation
Quick Start (Recommended)
# Run directly with uvx (no installation needed)
uvx mcp-code-intelligence
Install as Tool
# Install permanently
uv tool install mcp-code-intelligence
# Run
mcp-code-intelligence
Development Installation
# Clone repository
git clone https://github.com/salfatigroup/mcp-code-intelligence
cd mcp-code-intelligence
# Install dependencies
uv sync
# Run
uv run main.py
Usage
Standalone Testing
# Test the server directly
uv run main.py
Configure in Claude Code
Add to your Claude Code MCP configuration file:
Location: ~/.config/claude-code/mcp.json (Linux/Mac) or %APPDATA%\claude-code\mcp.json (Windows)
{
"mcpServers": {
"code-intelligence": {
"command": "uvx",
"args": ["mcp-code-intelligence"],
"env": {
"MCP_CS_PROJECT_ROOT": "/path/to/your/project"
}
}
}
}
Advanced Configuration:
{
"mcpServers": {
"code-intelligence": {
"command": "uvx",
"args": ["mcp-code-intelligence"],
"env": {
"MCP_CS_PROJECT_ROOT": "/Users/username/my-project",
"MCP_CS_INDEX_INTERVAL": "600",
"MCP_CS_ENABLE_AST": "true",
"MCP_CS_ENABLE_SUMMARIES": "true"
}
}
}
}
For Development (from source):
{
"mcpServers": {
"code-intelligence": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-code-intelligence", "run", "main.py"],
"env": {
"MCP_CS_PROJECT_ROOT": "/path/to/project"
}
}
}
}
Configure in Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"code-intelligence": {
"command": "uvx",
"args": ["mcp-code-intelligence"],
"env": {
"MCP_CS_PROJECT_ROOT": "/path/to/your/project"
}
}
}
}
Verify Installation
After adding the configuration:
- Restart Claude Code/Desktop
- Check server status - You should see "code-search" in the MCP servers list
- Test a search - Try asking: "Search for authentication logic in the codebase"
The first run will:
- ✅ Validate git repository
- ✅ Add
.mcp-code-search/to your project's.gitignore - ✅ Download the embedding model (~1.2GB, one-time)
- ✅ Index all git-tracked files
- ✅ Start background monitoring for changes
Configuration
Configure via environment variables with MCP_CS_ prefix:
| Variable | Default | Description |
|---|---|---|
MCP_CS_PROJECT_ROOT |
. |
Root directory to index |
MCP_CS_DB_PATH |
.mcp-code-search/db.sqlite |
SQLite database path |
MCP_CS_EMBEDDER_MODEL |
intfloat/multilingual-e5-large-instruct |
HuggingFace model name |
MCP_CS_CHUNK_SIZE |
1000 |
Chunk size in characters |
MCP_CS_CHUNK_OVERLAP |
200 |
Chunk overlap in characters |
MCP_CS_INDEX_INTERVAL |
300 |
Background index interval (seconds) |
Example .env:
MCP_CS_PROJECT_ROOT=/path/to/your/project
MCP_CS_INDEX_INTERVAL=600
MCP Tools (7 Total)
Core Search Tools
1. search_codebase(query, limit=10)
- Semantic code search using vector similarity
- Returns matching code chunks with file paths and line numbers
2. search_files(query, limit=20, semantic=true)
- Search files by name OR semantic similarity
- With
semantic=true: finds files by purpose - With
semantic=false: pattern matching on filenames
3. is_file_indexed(file_path)
- Check if a file is indexed and its status
- Returns chunk count, errors, indexing timestamp
4. get_indexing_status(compact=true)
- Overall indexing health check
- Compact: summary counts
- Detailed: per-file breakdown
AST Intelligence Tools (NEW)
5. find_callers(symbol, limit=50)
- Find all functions that call a specific function/method
- Critical before refactoring - understand impact
- Returns callers with file paths, line numbers, signatures
6. find_callees(symbol, limit=50)
- Find all functions called BY a specific function
- Understand dependencies and data flow
- Returns callees with context and external flags
7. get_dependency_tree(file_path, depth=3, direction="both")
- Map import/export relationships
direction="imports": what file depends ondirection="importers": what depends on filedirection="both": complete dependency graph
Architecture
Project Structure
mcp-code-search/
├── main.py # FastMCP server + tools
├── settings/ # Pydantic settings
├── embedders/ # Embedding providers
├── chunkers/ # Language-aware text splitters
├── db/ # Database & vector store
│ └── vectorstore/ # SQLite-vec integration
└── index/ # Indexing logic
├── delta.py # Git delta detection
├── gitignore.py # .gitignore filtering
├── manager.py # Indexing orchestration
└── worker.py # Background worker
Supported Languages
Python, JavaScript/TypeScript, Go, Rust, C/C++, Java, Kotlin, Scala, Ruby, PHP, Swift, C#, Lua, Perl, Haskell, Elixir, Solidity, Protobuf, PowerShell, HTML, Markdown, LaTeX, RST
How It Works
- Startup: Initializes embedder, chunker, database, and vector store
- Initial Index: Scans git-tracked files and indexes supported file types
- Background Indexing: Periodically checks for changed files via git delta
- Search: Embeds queries and performs vector similarity search
- Gitignore: Respects
.gitignorepatterns to exclude files
Troubleshooting
"Not a git repository" Error
The server requires a git repository for indexing. Solutions:
# Option 1: Initialize git in your project
cd /path/to/your/project
git init
# Option 2: Set project root to a git repo
export MCP_CS_PROJECT_ROOT=/path/to/git/repo
# Option 3: Add to .env file
echo "MCP_CS_PROJECT_ROOT=/path/to/git/repo" >> .env
Model Download Issues
First run downloads ~1.2GB embedding model. If it fails:
# Manually download model
python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('intfloat/multilingual-e5-large-instruct')"
Performance Tips
- Chunk Size: Larger chunks = fewer but longer results
- Index Interval: Higher interval = less CPU usage
- Ignore Patterns: Add large binary/generated files to speed up indexing
# Environment variables for tuning
export MCP_CS_CHUNK_SIZE=1500 # Larger chunks
export MCP_CS_INDEX_INTERVAL=900 # Index every 15 min
Development
Requirements
- Python 3.13+
- PyTorch (for embeddings)
- Git (for delta detection)
Device Detection
Automatically detects best device:
- CUDA (NVIDIA GPUs)
- MPS (Apple Silicon)
- CPU (fallback)
Project Structure
All code follows the architecture in the implementation plan:
- settings/: Pydantic configuration
- embedders/: Embedding providers with device detection
- chunkers/: Language-aware text splitters
- db/: Database models and SQLite-vec integration
- index/: Git delta, gitignore filtering, background worker
Examples
Using in Claude Code
User: "Search for error handling code"
Assistant: *Uses search_codebase tool*
Found error handling in:
- src/api/handler.py:45-67
- src/utils/errors.py:12-34
User: "Find all test files"
Assistant: *Uses search_files tool with query="test_"*
Found test files:
- tests/test_api.py
- tests/test_utils.py
Checking Index Status
User: "What files are indexed?"
Assistant: *Uses get_indexing_status(compact=True)*
Total: 234 files
- completed: 230
- in_progress: 2
- failed: 2
License
See LICENSE file.
Установка Code Intelligence
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/salfatigroup/mcp-code-intelligenceFAQ
Code Intelligence MCP бесплатный?
Да, Code Intelligence MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Code Intelligence?
Нет, Code Intelligence работает без API-ключей и переменных окружения.
Code Intelligence — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Code Intelligence в Claude Desktop, Claude Code или Cursor?
Открой Code Intelligence на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Code Intelligence with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
