semble — What is it?

MinishLab/semble is a Python-based code search library designed to provide fast and accurate code snippet retrieval for agents, significantly reducing the token usage compared to traditional methods like grep+read.

⭐ 4,406 Stars 🍴 175 Forks Python MIT Author: MinishLab
Source: Official README and linked documentation View on GitHub →

Why it matters

This project is being discussed because its significant reduction in token usage for code search, its fast indexing and querying capabilities, and its compatibility with various coding agents and MCP servers. The unique technical choice of using embeddings and a specialized search algorithm differs, offering a more efficient and user-friendly code search experience.

Source: Official README and linked documentation

Core Features

Fast and Accurate Search

Semble indexes and searches codebases quickly, with an average indexing time of ~500 ms and query response time of ~1 ms, while maintaining high accuracy in code snippet retrieval.

Source: Official README and linked documentation
Token Efficiency

Semble returns only relevant code snippets, using approximately 99% fewer tokens than grep+read, making it more efficient in terms of resource usage.

Source: Official README and linked documentation
Zero Setup

Semble operates on CPU without requiring API keys, GPUs, or external services, making it easy to set up and use.

Source: Official README and linked documentation
MCP Server and CLI

Semble can be used as an MCP server for direct agent integration and as a CLI tool for standalone searches, offering flexibility in usage scenarios.

Source: Official README and linked documentation

Architecture

The architecture of Semble is inferred to be modular, with clear separation between indexing, searching, and user interface components. It likely employs design patterns such as the Model-View-Controller (MVC) for managing data flow and user interactions. The use of embeddings and a specialized search algorithm suggests a focus on efficient and accurate code snippet retrieval.

Source: Official repository tree and dependency files

Project Knowledge Graph

Knowledge graph: project (center) + core features (inner hexagons) + key dependencies (outer chips) model2vec vicinity numpy pathspec orjson Fast and Accurate SearchFast and Accurate S… Token Efficiency Zero Setup MCP Server and CLI semble Project Core feature Key dependency

Tech Stack

LanguagePythonFrameworkNot explicitly stated, but likely uses standard Python libraries and frameworks for indexing and searching.
model2vecvicinitynumpypathspecorjsonquestionarysemble-grammars
Not specified, but likely to be CPU-based with no specific infrastructure requirements.
Source: Official repository tree and dependency files

Quick Start

uv tool install semble semble install
Source: Official README and linked documentation

Use Cases

Semble is suitable for developers and technical teams who need efficient code search capabilities within their development environments, particularly for use with coding agents and MCP servers. It is useful in scenarios where quick access to relevant code snippets is critical, such as during code reviews, debugging, or when integrating new code into existing projects.

Source: Official README and linked documentation

Strengths & Limitations

Strengths

  • High efficiency in code search with minimal token usage.
  • Fast indexing and querying times.
  • Compatibility with various coding agents and MCP servers.

Limitations

  • May require additional setup for certain environments.
  • Limited documentation on specific use cases and configurations.
Source: Official README and linked documentation

Latest Release

The latest GitHub release is v0.6.0. Its release page records multi-repository search, CLI progress and formatted output, and a fix for chunk line numbers. The v0.2.0 value in older drafts is outdated.

Source: github.com/MinishLab/semble/releases/tag/v0.6.0;https://github.com/Mi…

Verification and evidence

status: docs-only  |  checked_at: 2026-09-23  |  environment: Docs only. Reviewed the official MinishLab/semble README, pyproject.toml, installation documentation, and Releases.  |  limitations: uv and semble were not installed, no model was downloaded, no repository was indexed, no benchmark was run, and official performance figures were not verified locally.  |  observed_output: pyproject requires Python 3.10 or newer. The README currently recommends uv tool install semble followed by semble install. GitHub Releases marks v0.6.0 as Latest.

Source: github.com/MinishLab/semble;https://github.com/MinishLab/semble/blob/…

Comparison

ripgrep performs line-based regular-expression search and follows gitignore by default, making it suitable for exact and exhaustive text matching. Semble maps natural-language intent to ranked code snippets and helps narrow the search when the symbol name is unknown. A practical investigation can use Semble for direction, followed by ripgrep to verify every literal match.

Source: github.com/BurntSushi/ripgrep;https://github.com/MinishLab/semble

Verdict

MinishLab/semble is a project for any team or individual seeking an efficient and accurate code search solution. Its focus on reducing token usage and providing fast access to code snippets makes it particularly valuable for developers working with large codebases or integrating with coding agents.

Frequently Asked Questions

What did the documentation review verify for semble on 2026-09-23?

pyproject requires Python 3.10 or newer. The README currently recommends uv tool install semble followed by semble install. GitHub Releases marks v0.6.0 as Latest.

What evidence boundary applies to this semble review?

The review environment was: Docs only. Reviewed the official MinishLab/semble README, pyproject.toml, installation documentation, and Releases. semble behavior outside that scope still needs a local check.

Sources and review scope
This review is based on the project's public documentation. Versions, installation commands, and feature boundaries can change upstream; check the cited sources and current release before use. Sources checked on: 2026-09-23 13:55.

Reference materials: README, GitHub API, dependency files