embecode
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@embecodesearch for function that handles user authentication"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
embecode
Local-first MCP server for semantic + keyword hybrid code search. Zero external services. No API keys required.
Usage
# From your project root
uvx embecode
# Or with an explicit path
uvx embecode --path /path/to/repoAdd to your MCP client config (Claude Desktop, Cursor, Cline, etc.):
{
"mcpServers": {
"embecode": {
"command": "uvx",
"args": ["embecode"]
}
}
}Related MCP server: Code Memory
Tools
Tool | Description |
| Hybrid semantic + keyword search over your codebase |
| Check indexing progress, file count, and last updated time |
How it works
Parses files into AST chunks via tree-sitter (cAST algorithm)
Embeds chunks locally with sentence-transformers (
nomic-embed-text-v1.5)Stores vectors + FTS index in a single DuckDB file at
~/.cache/embecode/Fuses BM25 and dense vector results with Reciprocal Rank Fusion
Watches for file changes via watchfiles and re-indexes incrementally
Development
# Install dependencies
uv sync
# Run tests
uv run pytest
# Lint and format
uv run ruff check src/ tests/
uv run ruff format src/ tests/Benchmarks
Two benchmark classes live in tests/test_performance.py and use pytest-benchmark:
Class | DB | What it measures |
| Mock (in-memory dict) |
|
| Real DuckDB (VSS + FTS) | Actual query latency: cosine-similarity scan, BM25, and fusion |
Run the real benchmarks:
pytest tests/test_performance.py::TestSearchBenchmarkReal -v --benchmark-only --no-cov -sThe first run builds a 200-file synthetic index into .bench_db/ (~20s). Subsequent runs reuse it and start immediately. Delete .bench_db/ to force a rebuild.
Run the mock benchmarks (no setup cost, useful for isolating Searcher logic overhead):
pytest tests/test_performance.py::TestSearchBenchmark -v --benchmark-only --no-cov -sReading the output:
Each test prints a per-phase timing breakdown from SearchTimings on the last benchmark round:
phase breakdown (last run): {'embedding_ms': 0.0, 'vector_search_ms': 78.5, 'bm25_search_ms': 6.5, 'fusion_ms': 0.01, 'total_ms': 85.0}pytest-benchmark then prints a summary table with min, max, mean, median, and stddev across all rounds.
Requires Python 3.12.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceLocal MCP server that provides semantic search (RAG) over code repositories, enabling AI clients like Claude and Gemini to access project context without manual re-upload.Last updated
- AlicenseAqualityBmaintenanceMCP server with local vector search for your codebase. Smart indexing, semantic search, Git history — all offline.Last updated747MIT
- Alicense-qualityFmaintenanceSelf-hosted MCP server for indexing and searching code repositories via hybrid search and deep code understanding.Last updated317MIT
- AlicenseAqualityAmaintenanceLocal MCP server for semantic code search using Tree-sitter AST parsing, local embeddings, and hybrid search; enables indexing and querying codebases entirely offline.Last updated5MIT
Related MCP Connectors
Local-first RAG engine with MCP server for AI agent integration.
An MCP server that gives your AI access to the source code and docs of all public github repos
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jdtzmn/embecode'
If you have feedback or need assistance with the MCP directory API, please join our Discord server