mcpbeat

Mgrep Code Search

intellectronica/mgrep-code-search

Semantic code search using mgrep for efficient codebase exploration. This skill should be used when searching or exploring codebases with more than 30 non-gitignored files and/or nested directory structures. It provides natural language semantic search that complements traditional grep/ripgrep for finding features, understanding intent, and exploring unfamiliar code.

870 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
281
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/intellectronica/agent-skills --skill mgrep-code-search

The instruction itself

13 sections, as written by the author

Overview

mgrep is a semantic search tool that enables natural language queries across code, text, PDFs, and images. It is particularly effective for exploring larger or complex codebases where traditional pattern matching falls short.

When to Use This Skill

Use mgrep when:

  • The codebase contains more than 30 non-gitignored files
  • There are nested directory structures
  • Searching for concepts, features, or intent rather than exact strings
  • Exploring an unfamiliar codebase
  • Need to understand "where" or "how" something is implemented

Use traditional grep/ripgrep when:

  • Searching for exact patterns or symbols
  • Regex-based refactoring
  • Tracing specific function or variable names

Quick Start

Indexing

Before searching, start the watcher to index the repository:

bunx @mixedbread/mgrep watch

The watch command indexes the repository and maintains synchronisation with file changes. It respects .gitignore and .mgrepignore patterns.

Searching

bunx @mixedbread/mgrep "your natural language query" [path]

Search Commands

bunx @mixedbread/mgrep "where is authentication configured?"
bunx @mixedbread/mgrep "how do we handle errors in API calls?" src/
bunx @mixedbread/mgrep "database connection setup" src/lib

Search Options

| Option | Description |

|--------|-------------|

| -m <count> | Maximum results (default: 10) |

| -c, --content | Display full result content |

| -a, --answer | Generate AI-powered synthesis of results |

| -s, --sync | Update index before searching |

| --no-rerank | Disable relevance optimisation |

Examples with Options

# Get more results
bunx @mixedbread/mgrep -m 25 "user authentication flow"

# Show full content of matches
bunx @mixedbread/mgrep -c "error handling patterns"

# Get an AI-synthesised answer
bunx @mixedbread/mgrep -a "how does the caching layer work?"

# Sync index before searching
bunx @mixedbread/mgrep -s "payment processing" src/services

Workflow

  • Start watcher (once per session or when files change significantly):
   bunx @mixedbread/mgrep watch
  • Search semantically:
   bunx @mixedbread/mgrep "what you're looking for" [optional/path]
  • Refine as needed using path constraints or options:
   bunx @mixedbread/mgrep -m 20 -c "refined query" src/specific/directory

Environment Variables

Configure defaults via environment variables:

| Variable | Purpose |

|----------|---------|

| MGREP_MAX_COUNT | Default result limit |

| MGREP_CONTENT | Enable content display (1/true) |

| MGREP_ANSWER | Enable AI synthesis (1/true) |

| MGREP_SYNC | Pre-search sync (1/true) |

Important Notes

  • Always use bunx @mixedbread/mgrep to run commands (not npm/npx or direct installation)
  • Run bunx @mixedbread/mgrep watch before searching to ensure the index is current
  • mgrep respects .gitignore patterns automatically
  • Create .mgrepignore for additional exclusions

How to use it

Copy the folder

Take intellectronica/mgrep-code-search from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npx. Without those the skill loads but fails at the first command.