Skip to main content
Glama
divar-ir

Zoekt MCP Server

by divar-ir

Zoekt MCP Server

A Model Context Protocol (MCP) server that provides code search capabilities powered by Zoekt, the indexed code search engine used by Sourcegraph.

Table of Contents

Related MCP server: Code Context MCP Server

Overview

This MCP server integrates with Zoekt, a text search engine optimized for code repositories. Zoekt provides trigram-based indexing for searches across large codebases, making it suitable for AI assistants that need to find and understand code patterns.

Features

  • Code Search: Search across codebases using Zoekt's trigram indexing

  • Advanced Query Language: Support for regex patterns, file filters, language filters, and boolean operators

  • Repository Discovery: Find repositories by name and explore their structure

  • Content Fetching: Browse repository files and directories

  • AI Integration: Designed for LLM integration with guided search prompts

Prerequisites

  • Zoekt Instance: You need access to a running Zoekt search server. See the Zoekt documentation for setup instructions.

  • Python 3.10+: Required for running the MCP server

  • UV (optional): Modern Python package manager for easier dependency management

Installation

# Install dependencies
uv sync

# Run the server
uv run python src/main.py

Using pip

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install package
pip install -e .

# Run the server
python src/main.py

Using Docker

# Build the image
docker build -t zoekt-mcp .

# Run the container with default ports
docker run -p 8000:8000 -p 8080:8080 \
  -e ZOEKT_API_URL=http://your-zoekt-instance \
  zoekt-mcp

# Or run with custom ports
docker run -p 9000:9000 -p 9080:9080 \
  -e ZOEKT_API_URL=http://your-zoekt-instance \
  -e MCP_SSE_PORT=9000 \
  -e MCP_STREAMABLE_HTTP_PORT=9080 \
  zoekt-mcp

Configuration

Required Environment Variables

  • ZOEKT_API_URL: URL of your Zoekt search instance

Optional Environment Variables

  • MCP_SSE_PORT: SSE server port (default: 8000)

  • MCP_STREAMABLE_HTTP_PORT: HTTP server port (default: 8080)

Usage with AI Tools

Cursor

After running the MCP server, add the following to your .cursor/mcp.json file:

{
  "mcpServers": {
    "zoekt": {
      "url": "http://localhost:8080/zoekt/mcp/"
    }
   }
}

MCP Tools

This server provides three powerful tools for AI assistants:

Search across indexed codebases using Zoekt's advanced query syntax with support for regex, language filters, and boolean operators.

πŸ“– search_prompt_guide

Generate a context-aware guide for constructing effective search queries based on your specific objective.

πŸ“‚ fetch_content

Retrieve file contents or explore directory structures from indexed repositories.

Development

Linting and Formatting

# Check code style
uv run ruff check src/

# Format code
uv run ruff format src/
-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/divar-ir/zoekt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server