Skip to main content

MCP server for git lifecycle management, Zoekt-based code search, and cross-repo dependency analysis

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

code_intel_mcp-0.1.1.tar.gz (43.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

code_intel_mcp-0.1.1-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file code_intel_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: code_intel_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 43.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for code_intel_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 eeaf511ca76308b1f57e5161b99d0629fd21ce91849b48e31abca87cdc99ac29
MD5 7ec77d1499d006d2b6a0189faf3fda68
BLAKE2b-256 f461217812084f54a3fd21f97a2469b564a52f11491b44528e27b0a72fccd469

See more details on using hashes here.

File details

Details for the file code_intel_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: code_intel_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for code_intel_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f13e809b95d869016162bcbbf571e72e63c8845f7b7e2820ba7f12a0fd00a6c
MD5 7a7a85677dde85ad5b83f2753be35640
BLAKE2b-256 11de4a40f72febeb843d23fffda54abc8ad0ab93136453a513a5ef5e740c8458

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page