/ 디렉터리 / 플레이그라운드 / Semble
● 커뮤니티 MinishLab ⚡ 바로 사용

Semble

제작: MinishLab · MinishLab/semble

grep+read 대비 토큰 약 2%로 코드 검색 — 의미론적 + 어휘적, 완전 로컬, 백만 줄 레포에서도 1초 이하.

Semble은 Minish Lab의 코드 검색 MCP입니다. 하이브리드 sparse+dense 임베딩으로 레포를 인덱싱하여 grep보다 정밀한 의미론적 검색 결과를 제공합니다 — 전체 파일 덤프 불필요. 특히 대용량 모노레포에서 '표준 grep 후 읽기' 패턴보다 토큰 사용량이 극적으로 낮습니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

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는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

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

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "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는 맵이 아닌 서버 오브젝트 배열 사용.

~/.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.✓ 복사됨
    → 구체적인 file:line 범위가 포함된 3–5개 결과
  2. 정밀 읽기
    Read just those line ranges (not whole files). Summarize the validation flow.✓ 복사됨
    → 적은 토큰으로 간결한 흐름 요약

결과: grep+read가 소모할 토큰의 극히 일부로 질문 답변.

함정
  • 대규모 리베이스 후 인덱스 오래됨semble reindex 실행 또는 파일 감시 훅 설정
함께 쓰기: filesystem

레포 전체에서 코딩 패턴 사용 현황 감사

👤 리팩토링 팀 ⏱ ~15 min intermediate

언제 쓸까: 헬퍼를 deprecated 처리하기 전 모든 사용처와 변형을 파악하고 싶을 때.

흐름
  1. 어휘적 검색
    Find all calls to legacy_token_check.✓ 복사됨
    → 정확 매칭 목록
  2. 의미론적 검색
    Find functions that do the same job under a different name.✓ 복사됨
    → 유사 구현체 표시

결과: 리팩토링 시작 전 전체 범위 파악.

함정
  • 의미론적 검색에서 오탐 발생 — 각 후보 검증; semble이 트리아지용 유사도 점수 제공

조합

다른 MCP와 조합해 10배 효율

semble-mcp + filesystem

검색 → 정밀 읽기 패턴 (semble이 반환한 범위만 읽기)

semble-mcp + github

모든 호출 위치가 업데이트된 리팩토링 PR 생성

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
search query, k?, mode? 기본 — 개념으로 찾기 무료
lexical_search pattern, k? 정확한 토큰 / regex 무료
index path 첫 실행 / 대규모 재구성 후 무료
reindex path 편집 후 따라잡기 무료

비용 및 제한

운영 비용

API 쿼터
없음 — 로컬
호출당 토큰
매우 적음 — 보통 100–500
금액
무료
레포를 한 번 인덱싱하면 쿼리는 저렴함. 토큰 절감이 누적됨.

보안

권한, 시크릿, 파급범위

최소 스코프: 인덱싱을 위한 로컬 파일 읽기
자격 증명 저장: 없음
데이터 외부 송신: 없음 — 임베딩이 로컬에 유지

문제 해결

자주 발생하는 오류와 해결

대용량 레포 인덱싱 시 OOM

설정에서 배치 크기를 낮추거나 패키지별로 인덱싱

검색 결과가 관련 없음

재인덱싱 — 로컬 복사본이 오래되었을 수 있음; 또는 쿼리 정제

uvx 설치 중단

uv pip install semble[mcp]로 미리 준비

대안

Semble 다른 것과 비교

대안언제 쓰나단점/장점
ripgrep + grep MCP정확 매칭 검색만 필요할 때의미론적 recall 없음; 결과에 더 높은 토큰 비용
ast-grep / serena구문 인식 구조적 검색/교체가 필요할 때다른 모델; 임베딩 기반이 아님

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기