/ Каталог / Песочница / Semble
● Сообщество MinishLab ⚡ Сразу

Semble

автор MinishLab · MinishLab/semble

Поиск по коду, который стоит ~2% от grep+read в токенах — семантический и лексический, полностью локальный, работает быстрее секунды на репозиториях с миллионом строк.

Semble — MCP для поиска по коду от Minish Lab. Индексирует репозиторий с гибридными sparse+dense эмбеддингами и выдаёт Claude семантически более точные результаты, чем grep — без необходимости дампить целые файлы. Расход токенов резко ниже стандартного паттерна «grep→read», особенно на больших монорепозиториях.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

semble-mcp.replay ▶ готово
0/0

Установка

Выберите клиент

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "semble-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "semble[mcp]",
        "semble"
      ]
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "semble-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "semble[mcp]",
        "semble"
      ]
    }
  }
}

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "semble-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "semble[mcp]",
        "semble"
      ]
    }
  }
}

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "semble-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "semble[mcp]",
        "semble"
      ]
    }
  }
}

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "semble-mcp",
      "command": "uvx",
      "args": [
        "--from",
        "semble[mcp]",
        "semble"
      ]
    }
  ]
}

Continue использует массив объектов серверов, а не map.

~/.config/zed/settings.json
{
  "context_servers": {
    "semble-mcp": {
      "command": {
        "path": "uvx",
        "args": [
          "--from",
          "semble[mcp]",
          "semble"
        ]
      }
    }
  }
}

Добавьте в context_servers. Zed перезагружается автоматически.

claude mcp add semble-mcp -- uvx --from semble[mcp] semble

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: Semble

Найти, где концепция реализована в большом репозитории

👤 Инженеры, изучающие крупные кодовые базы ⏱ ~5 min beginner

Когда использовать: Нужен ответ на вопрос «где происходит валидация сессионного токена?» за один запрос.

Предварительные требования
  • Репозиторий проиндексированsemble index . — первый запуск занимает несколько минут на больших репозиториях
Поток
  1. Поиск
    Use semble. Find where session token validation logic lives. Return file:line ranges.✓ Скопировано
    → 3–5 попаданий с конкретными диапазонами file:line
  2. Точечное чтение
    Read just those line ranges (not whole files). Summarize the validation flow.✓ Скопировано
    → Краткое описание потока; минимальный расход токенов

Итог: Ответ на вопрос за долю токенов, которые сожгли бы grep+read.

Подводные камни
  • Устаревший индекс после больших rebasesemble reindex или настройте file-watcher хук
Сочетать с: filesystem

Проверить, где паттерн кода используется по всему репозиторию

👤 Команды рефакторинга ⏱ ~15 min intermediate

Когда использовать: Вы собираетесь устарить хелпер и хотите знать все его использования и варианты.

Поток
  1. Лексический проход
    Find all calls to legacy_token_check.✓ Скопировано
    → Список точных совпадений
  2. Семантический проход
    Find functions that do the same job under a different name.✓ Скопировано
    → Помечены похожие реализации

Итог: Полный объём рефакторинга известен до начала работы.

Подводные камни
  • Ложноположительные на семантическом проходе — Проверяйте каждого кандидата; semble даёт оценку схожести для триажа

Комбинации

Сочетайте с другими MCP — эффект x10

semble-mcp + filesystem

Паттерн «поиск → точечное чтение» (только диапазоны, возвращённые semble)

Use semble to find candidates, then filesystem to read just the matched ranges.✓ Скопировано
semble-mcp + github

Построить PR рефакторинга со всеми обновлёнными точками вызова

Find all call sites with semble, generate a PR that updates each.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
search query, k?, mode? По умолчанию — поиск по концепции free
lexical_search pattern, k? Точные токены / regex free
index path Первый запуск / после крупной реструктуризации free
reindex path Догнать изменения после правок free

Стоимость и лимиты

Во что обходится

Квота API
Нет — локально
Токенов на вызов
Мало — обычно 100–500
Деньги
Бесплатно
Совет
Проиндексируйте репозиторий один раз; запросы дёшевы. Экономия токенов накапливается.

Безопасность

Права, секреты, радиус поражения

Минимальные скоупы: Local file read for indexing
Хранение учётных данных: Нет
Исходящий трафик: Нет — эмбеддинги остаются локально

Устранение неполадок

Частые ошибки и исправления

Indexing OOM on huge repos

Уменьшите batch size в конфиге или индексируйте по пакетам

Search returns nothing relevant

Переиндексируйте — локальная копия могла разойтись; или уточните запрос

uvx install hangs

Предварительно установите: uv pip install semble[mcp]

Альтернативы

Semble в сравнении

АльтернативаКогда использоватьКомпромисс
ripgrep + grep MCPНужен только поиск по точным совпадениямНет семантического поиска; выше расход токенов на результаты
ast-grep / serenaНужен синтаксически-ориентированный структурный поискДругая модель; не на основе эмбеддингов

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills