Embgrep
What it does
Local semantic search — embedding-powered grep for files, zero external services.
- Connects 在你的电脑上运行
- Account or key No key needed
- Category 搜索与 AI 记忆
安装
选择你使用的 AI 应用,然后复制设置。
通过 1/3 项检查 · 在你的电脑上运行
第一步:你用哪个 AI?
选择你用的应用,步骤会显示在下方。
可连接 Claude,但需要先准备
需要先在电脑上安装 Python (uv)(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
打开电脑版 Claude 应用的设置文件
SettingsDeveloperEdit Config
粘贴这些设置并保存文件
{ "mcpServers": { "embgrep": { "command": "uvx", "args": [ "embgrep" ] } } }退出 Claude 再重新打开
试一试
用 Embgrep 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude 说正在使用 Embgrep,或回答中出现 Embgrep 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
ChatGPT 暂时无法连接 Embgrep
Embgrep 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器
你可以改用这些方式
A · 使用能连接 Embgrep 的应用
- 需要先在电脑上安装 Python (uv)(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
- 需要先在电脑上安装 Python (uv)(只需一次)
- 需要先在电脑上安装 Python (uv)(只需一次)
- 需要先在电脑上安装 Python (uv)(只需一次)
B · 搜索与 AI 记忆 类中能连接 ChatGPT 的其他服务器
从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的
- Context7✓ ChatGPT
- AIHOT✓ ChatGPT
- Sui Knowledge Base (kapa.ai)✓ ChatGPT
可连接 Claude Code,但需要先准备
需要先在电脑上安装 Python (uv)(只需一次)
打开终端
Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell
粘贴这条命令并按 Enter
claude mcp add --scope user embgrep -- uvx embgrep在 Claude Code 中输入 /mcp
应能看到 Embgrep 在列表中并显示已连接
试一试
用 Embgrep 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude Code 说正在使用 Embgrep,或回答中出现 Embgrep 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Cursor,但需要先准备
需要先在电脑上安装 Python (uv)(只需一次)
在 Cursor 中以 Agent 模式打开 AI 聊天
试一试
用 Embgrep 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Cursor 说正在使用 Embgrep,或回答中出现 Embgrep 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同
可连接 VS Code,但需要先准备
需要先在电脑上安装 Python (uv)(只需一次)
在 VS Code 中以 Agent 模式打开 AI 聊天
试一试
用 Embgrep 告诉我你能帮我做什么,然后做一件给我看✓ 如果 VS Code 说正在使用 Embgrep,或回答中出现 Embgrep 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同
开发者专用:终端命令和 JSON 设置
安装在电脑上
Claude Code
claude mcp add --scope user 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"
]
}
}
}这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
一览
哪些应用可以使用它
依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。
在你的电脑上运行,适用于
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月12日
- ! 注意
作者与仓库一致
发布者(ArkNill)不是仓库所有者(QuartzUnit);可能是其他人代为上架的
- ! 注意
仍在维护
代码最后更新于7个月前,已超过 6 个月
- ✓ 通过
有许可证
使用 MIT
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
讨论
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
用户评价
还没有评价
与“搜索与 AI 记忆”中的其他服务器比较i
- 星标数多于此分类中其他 6007 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 6007 个服务器的 5% 更新
- 基础检查结果等于或优于此分类中其他 6007 个服务器的 7%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Embgrep 安全吗?
它在 3 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于7个月前,最新版本(0.1.0)于8个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
有什么可以替代它?
同一分类中有:Context7, Codebase Memory, Ruflo
同类别的其他选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.