Skip to main content
Glama

code-intel-mcp

CI PyPI License: MIT Python 3.11+

MCP server that gives AI agents deep code understanding across multiple git repositories. Combines git lifecycle management, Zoekt-based trigram code search, and cross-repo dependency analysis.

Quick Start (macOS)

Prerequisites

Install uv (Python package runner):

brew install uv

1. Setup (one time)

uvx code-intel-mcp setup --zoekt-url "https://github.com/arunveersingh/code-intel-mcp/releases/download/v0.1.0"

This creates ~/.code-intel-mcp/ directories and downloads the Zoekt search engine binaries.

2. Add to your MCP client

Kiro — add to ~/.kiro/settings/mcp.json inside "mcpServers":

"code-intel-mcp": {
  "command": "uvx",
  "args": ["code-intel-mcp", "serve"],
  "env": {
    "GITLAB_URL": "https://your-gitlab.com",
    "GITLAB_TOKEN": "<your-personal-access-token>"
  },
  "disabled": false,
  "autoApprove": []
}

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json inside "mcpServers":

"code-intel-mcp": {
  "command": "uvx",
  "args": ["code-intel-mcp", "serve"],
  "env": {
    "GITLAB_URL": "https://your-gitlab.com",
    "GITLAB_TOKEN": "<your-personal-access-token>"
  }
}

3. Done

Restart your MCP client. Your AI agent now has access to 15 tools for code intelligence.

Features

  • Git lifecycle — clone, pull, checkout, sync, and remove repositories

  • GitLab integration — bulk-clone entire GitLab groups

  • Code search — fast trigram-based search powered by Zoekt

  • File browsing — read files, list directories, get repo overviews

  • Dependency analysis — parse Maven, Gradle, and npm build configs

  • Symbol references — word-boundary search across repos

Available Tools

Tool

Description

repo_add

Clone and register a git repository

repo_add_gitlab_group

Bulk-clone all projects from a GitLab group

repo_list

List all managed repositories

repo_info

Detailed repo info (branches, tags, commits, size)

repo_checkout

Switch to a branch, tag, or commit SHA

repo_pull

Pull latest changes

repo_sync_all

Pull all managed repositories

repo_remove

Remove a repository and its index

search_code

Search code with language/file filters

search_files

Search for files by name pattern

search_references

Find symbol references across repos

read_file

Read file contents

list_directory

List directory contents

get_repo_overview

Repo summary (README, structure, build info)

find_dependencies

Analyze build config dependencies

Environment Variables

Variable

Required

Description

GITLAB_URL

For GitLab features

Base URL of your GitLab instance

GITLAB_TOKEN

For GitLab features

Personal access token with read_api scope

How It Works

The server manages a local repository store at ~/.code-intel-mcp/:

~/.code-intel-mcp/
├── repos/       # Cloned git repositories
├── index/       # Zoekt search index
├── bin/         # Zoekt binaries (auto-installed)
└── config.json  # Registry of managed repos

Every git mutation (clone, pull, checkout) automatically triggers Zoekt re-indexing, keeping search results current. The server auto-prepends ~/.code-intel-mcp/bin to PATH on startup, so no manual PATH configuration is needed.

Troubleshooting

spawn code-intel-mcp ENOENT — Use "command": "uvx" with "args": ["code-intel-mcp", "serve"], not "command": "code-intel-mcp".

Requires-Python >=3.11 — Use uvx instead of pip install. It handles Python versions automatically.

Zoekt binaries not found — Re-run setup: uvx code-intel-mcp setup --zoekt-url "https://github.com/arunveersingh/code-intel-mcp/releases/download/v0.1.0"

Development

git clone https://github.com/arunveersingh/code-intel-mcp.git
cd code-intel-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install hatchling && python3 -m hatchling build -t wheel
pip install dist/*.whl && pip install pytest pytest-asyncio hypothesis
pytest

License

MIT — see LICENSE.