Embgrep
Overview
Description from the maker (original English)
Local semantic search — embedding-powered grep for files, zero external services.
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs on your computer
- Transport: stdio
- Category: Search & AI memory
Install
Pick the AI app you use, then copy the settings.
Passed 1/3 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
Install Python (uv)
One time only; it works for every server that needs Python (uv)
Open the Claude desktop app’s settings file
SettingsDeveloperEdit Config
Paste these settings and save the file
{ "mcpServers": { "embgrep": { "command": "uvx", "args": [ "embgrep" ] } } }Quit Claude and open it again
Try it
Use Embgrep and tell me what you can do for me, then show me one thing✓ If Claude says it is using Embgrep or shows a Embgrep tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Embgrep yet
Embgrep runs on your computer, but ChatGPT can only connect servers that run on the web
What you can do instead
A · Use an app that can connect Embgrep
- Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
- Install Python (uv) on your computer first (one time)
- Install Python (uv) on your computer first (one time)
- Install Python (uv) on your computer first (one time)
B · Others in Search & AI memory that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
- AIHOT✓ ChatGPT
- Sui Knowledge Base (kapa.ai)✓ ChatGPT
- Exa✓ ChatGPT
Works with Claude Code, with some setup first
Install Python (uv) on your computer first (one time)
Install Python (uv)
One time only; it works for every server that needs Python (uv)
Open Terminal
Mac: press Command+Space and type Terminal · Windows: open PowerShell
Paste this command and press Enter
claude mcp add embgrep -- uvx embgrepType /mcp in Claude Code
You should see Embgrep listed as connected
Try it
Use Embgrep and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Embgrep or shows a Embgrep tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Python (uv) on your computer first (one time)
Install Python (uv)
One time only; it works for every server that needs Python (uv)
Open the AI chat in Cursor in Agent mode
Try it
Use Embgrep and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Embgrep or shows a Embgrep tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Python (uv) on your computer first (one time)
Install Python (uv)
One time only; it works for every server that needs Python (uv)
Open the AI chat in VS Code in Agent mode
Try it
Use Embgrep and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Embgrep or shows a Embgrep tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
For developers: Terminal commands and JSON settings
Installed on your computer
Claude Code
claude mcp add embgrep -- uvx embgrepClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"embgrep": {
"command": "uvx",
"args": [
"embgrep"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"embgrep": {
"command": "uvx",
"args": [
"embgrep"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"embgrep": {
"type": "stdio",
"command": "uvx",
"args": [
"embgrep"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
At a glance
Which apps can use it
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Related guides
What it can do
Runs on your computer; the tool list appears in your AI app after you install it.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 12, 2026
- ! Caution
Maker matches the repo
The publisher (ArkNill) is not the repo owner (QuartzUnit); someone else may have listed it
- ! Caution
Still maintained
Code last changed 7 months ago, more than 6 months ago
- ✓ Pass
Has a licence
Uses MIT
- – Not applicable
Endpoint responds
This one runs on your computer; there is no internet endpoint
- – Not applicable
Sign-in with OAuth
Runs on your computer and uses local settings instead
- … Not checked yet
No hidden instructions in tool descriptions
Runs on your computer; we can only read tool lists from internet endpoints
Discussion
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
User reviews
No reviews yet
Compared with others in Search & AI memoryi
- More stars than 0% of the other 5957 servers in this category
- Published to the registry more recently than 6% of the other 5957 servers in this category
- Basic checks equal to or better than 7% of the other 5957 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is Embgrep safe?
It passed 1 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
The registry does not list a required key, though some servers ask you to sign in on first use.
Does it run on my computer or in the cloud?
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
Is it still maintained?
The GitHub repo last changed 7 months ago, and the latest version (0.1.0) reached the registry 8 months ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
What can I use instead?
In the same category: Ruflo, Context7, Metabase
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
embgrep
Local semantic search — embedding-powered grep for files, zero external services.
Search your codebase and documentation by *meaning*, not just keywords. embgrep indexes files into local embeddings and lets you run semantic queries — no API keys, no cloud services, no vector database servers.
Features
- Local embeddings — Uses fastembed (ONNX Runtime), no API keys needed
- SQLite storage — Single-file index, no external vector DB
- Incremental indexing — Only re-indexes changed files (SHA-256 hash comparison)
- Smart chunking — Function-level splitting for code, heading-level for docs
- MCP native — 4-tool FastMCP server for LLM agent integration
- 15+ file types —
.py,.js,.ts,.java,.go,.rs,.md,.txt,.yaml,.json,.toml, and more
Install
pip install embgrep # core (fastembed + numpy)
pip install embgrep[cli] # + click/rich CLI pip install embgrep[mcp] # + FastMCP server pip install embgrep[all] # everything
Quick Start
Python API
from embgrep import EmbGrep
eg = EmbGrep()
Index a directory
eg.index("./my-project", patterns=["*.py", "*.md"])
Semantic search
results = eg.search("database connection pooling", top_k=5) for r in results: print(f"{r.file_path}:{r.line_start}-{r.line_end} (score: {r.score:.4f})") print(f" {r.chunk_text[:80]}...")
Incremental update (only changed files)
eg.update()
Index statistics
status = eg.status() print(f"{status.total_files} files, {status.total_chunks} chunks, {status.index_size_mb} MB")
eg.close()
CLI
# Index a project
embgrep index ./my-project --patterns "*.py,*.md"
Search
embgrep search "error handling patterns"
Filter by file type
embgrep search "async database query" --path-filter "%.py"
Check status
embgrep status
Update changed files
embgrep update
Convenience functions
import embgrep
embgrep.index("./src") results = embgrep.search("authentication middleware") status = embgrep.status() embgrep.update()
MCP Server
Add to your Claude Desktop / MCP client configuration:
{
"mcpServers": { "embgrep": { "command": "embgrep-mcp" } } }
Or with uvx:
{
"mcpServers": { "embgrep": { "command": "uvx", "args": ["--from", "embgrep[mcp]", "embgrep-mcp"] } } }
MCP Tools
| Tool | Description |
|---|---|
index_directory | Index files in a directory for semantic search |
semantic_search | Search indexed files using natural language |
index_status | Get current index statistics |
update_index | Incremental update — re-index changed files only |
How It Works
flowchart TD
A["📁 Files"] --> B["Smart Chunking\ncode: function-level\ndocs: heading-level"] B --> C["fastembed\nlocal embeddings"] C --> D["SQLite\nvector index"] D --> E["🔍 Query"] E --> F["Cosine Similarity\nranked results"] F --> G["✅ Matches\nwith context"]
- Chunking — Files are split into semantically meaningful chunks:
- Code files (
.py,.js,.ts, etc.): split by function/class boundaries - Documents (
.md,.txt): split by headings or paragraph breaks - Config files: fixed-size chunking
- Embedding — Each chunk is converted to a 384-dimensional vector using BGE-small-en-v1.5 via ONNX Runtime (no PyTorch needed)
- Storage — Embeddings are stored as BLOBs in a local SQLite database
- Search — Query text is embedded and compared against all chunks using cosine similarity
Configuration
| Parameter | Default | Description |
|---|---|---|
db_path | ~/.local/share/embgrep/embgrep.db | SQLite database location |
model | BAAI/bge-small-en-v1.5 | fastembed model name |
max_chunk_size | 1000 chars | Maximum chunk size for fixed-size splitting |
top_k | 5 | Number of search results |
QuartzUnit Ecosystem
| Package | Description |
|---|---|
| markgrab | HTML/YouTube/PDF/DOCX to LLM-ready markdown |
| snapgrab | URL to screenshot + metadata |
| docpick | OCR + LLM document structure extraction |
| browsegrab | Local LLM browser agent |
| feedkit | RSS feed collection + MCP |
| embgrep | Local semantic search for files |
Used in
- newswatch — RSS news monitoring pipeline (feedkit → markgrab → embgrep → diffgrab)
License
MIT
Part of the QuartzUnit ecosystem — composable Python libraries for data collection, extraction, search, and AI agent safety.