# io.github.radiovisual/zoekt-mcp (oci · ghcr.io/radiovisual/zoekt-mcp:0.3.2)

Fast indexed code search for AI agents, powered by Sourcegraph Zoekt.

- Trust score: 38/100 (low)
- Change this week: −1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- oci · `ghcr.io/radiovisual/zoekt-mcp:0.3.2`: 38/100 (this document), [markdown](https://verifymcp.io/servers/radiovisual-zoekt-mcp/ghcr-io-radiovisual-zoekt-mcp-0-3-2.md), [page](https://verifymcp.io/servers/radiovisual-zoekt-mcp/ghcr-io-radiovisual-zoekt-mcp-0-3-2)
- pypi · `zoekt-mcp`: 21/100, [markdown](https://verifymcp.io/servers/radiovisual-zoekt-mcp/zoekt-mcp.md), [page](https://verifymcp.io/servers/radiovisual-zoekt-mcp/zoekt-mcp)

## Channel facts

- Registry: `oci`
- Package: `ghcr.io/radiovisual/zoekt-mcp:0.3.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - CVE data not yet available for this package.
  - Install-script risk not yet assessed.
  - Dependency-health data not yet available.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 115 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 569 tokens (~189/item across 3 items; 3 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add radiovisual-zoekt-mcp -- docker run --rm -i ghcr.io/radiovisual/zoekt-mcp:0.3.2
```

### Codex

```bash
codex mcp add radiovisual-zoekt-mcp -- docker run --rm -i ghcr.io/radiovisual/zoekt-mcp:0.3.2
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "radiovisual-zoekt-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/radiovisual/zoekt-mcp:0.3.2"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  radiovisual-zoekt-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/radiovisual/zoekt-mcp:0.3.2"]
```

### Other

```json
{
  "mcpServers": {
    "radiovisual-zoekt-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/radiovisual/zoekt-mcp:0.3.2"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 38, +3)

- [functional improvement] Stability: unverified → 0.20

### 2026-07-31 (score 35, −4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 39, +28)

- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Tool coverage: 0
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 100

### 2026-07-26 (score 11)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (3)

### `search_code` (~266 tokens)

Run a Zoekt query against the indexed corpus.

        Query syntax highlights:

        - ``repo:NAME`` restrict to repos whose name matches NAME (regex)
        - ``file:PATH`` restrict to files whose path matches PATH (regex)
        - ``lang:LANGUAGE`` restrict to a language (``python``, ``go``, ...)
        - ``sym:IDENT`` match symbol definitions (functions, classes, ...)
        - ``case:yes`` case-sensitive content match
        - ``/regex/`` regex content match (literal match by default)
        - whitespace is AND; use ``or`` for boolean OR

        Examples:

        - ``lang:python def hello`` — Python files containing ``def hello``
        - ``sym:users`` — anything that defines a ``users`` symbol
        - ``repo:flask-app file:app.py`` — within one file of one repo

        Returns a compact object with ``files`` (each containing ``repo``,
        ``file``, ``language``, and ``matches``) plus top-level stats.
        Results are capped at ``max_results`` files.

Input parameters:

- `context_lines` (integer)
- `max_results` (integer)
- `query` (string, required)

### `list_repos` (~92 tokens)

List indexed repositories.

        ``filter`` is an optional ``repo:`` atom (e.g. ``repo:flask`` or
        ``repo:.`` for all) used to narrow the list. Leave empty to list
        every indexed repository.

        Returns ``{"repos": [{name, url, branches, ...}, ...], "count": N}``.

Input parameters:

- `filter` (string)

### `get_file` (~108 tokens)

Fetch the full contents of a file from an indexed repository.

        ``repo`` is the repository name as reported by ``list_repos``;
        ``path`` is the file path within that repo; ``branch`` defaults
        to ``HEAD`` but can be any branch zoekt has indexed. Returns
        ``{"repo", "path", "branch", "content"}``.

Input parameters:

- `branch` (string)
- `path` (string, required)
- `repo` (string, required)

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/radiovisual-zoekt-mcp/ghcr-io-radiovisual-zoekt-mcp-0-3-2#diagnostics

## Score history

- 2026-08-03: 38
- 2026-08-02: 38
- 2026-08-01: 35
- 2026-07-31: 35
- 2026-07-30: 39
- 2026-07-29: 39
- 2026-07-28: 39
- 2026-07-27: 39
- 2026-07-26: 11

## Links

- Repository: https://github.com/radiovisual/zoekt-mcp
- Changelog RSS feed: https://verifymcp.io/servers/radiovisual-zoekt-mcp/ghcr-io-radiovisual-zoekt-mcp-0-3-2/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/radiovisual-zoekt-mcp/ghcr-io-radiovisual-zoekt-mcp-0-3-2/changelog.json
- HTML version of this page: https://verifymcp.io/servers/radiovisual-zoekt-mcp/ghcr-io-radiovisual-zoekt-mcp-0-3-2
