srclight: Ollama 임베딩을 활용한 완전 로컬 코드 인덱싱 MCP 서버

srclight의 기능
srclight은 완전히 로컬 머신에서 실행되는 시맨틱 검색 기능을 갖춘 딥 코드 인덱싱을 제공하는 MCP(Model Context Protocol) 서버입니다. 코드는 시스템을 떠나지 않으며, API 키나 클라우드 호출이 필요하지 않습니다.
기술 스택
- 파싱: 11개 언어에 대한 tree-sitter AST 파싱: Python, C, C++, C#, JavaScript, TypeScript, Dart, Swift, Kotlin, Java, Go
- 키워드 검색: SQLite FTS5와 3가지 인덱스: 카멜케이스/스네이크케이스 분할을 통한 심볼 이름, 부분 문자열 매칭을 위한 트라이그램, 문서 문자열을 위한 Porter 스테머
- 임베딩: 로컬 임베딩을 위한 Ollama (기본값 qwen3-embedding, nomic-embed-text도 작동)
- 벡터 검색: GPU 가속 코사인 유사도 계산을 위한 cupy (RTX 3090에서 27K 벡터 기준 ~3ms), GPU 없을 경우 numpy 폴백 (~105ms)
- 하이브리드 검색: FTS5 키워드 결과와 임베딩 기반 시맨틱 결과를 결합하는 Reciprocal Rank Fusion (RRF, k=60)
임베딩 구현
임베딩 시스템은 GPU VRAM에 한 번 로드된 후 모든 쿼리를 VRAM에서 처리하는 .npy 사이드카 파일을 사용합니다. 콜드 스타트는 ~300ms가 소요되며, 이후 쿼리는 각각 ~3ms입니다. 시스템은 증분 방식으로 작동하여 콘텐츠 해시가 변경된 심볼만 재임베딩합니다. qwen3-embedding으로 45K 심볼을 완전 임베딩하는 데 ~15분이 걸리며, 증분 업데이트는 즉시 이루어집니다.
사용 가능한 도구
srclight은 총 25개의 MCP 도구를 제공합니다:
- 심볼 검색 (FTS5 + 시맨틱 + 하이브리드 RRF)
- 관계 그래프 (호출자, 피호출자, 전이적 종속성, 구현자, 상속 트리, 테스트 커버리지)
- Git 변경 인텔리전스 (심볼별 블레임, 핫스팟 감지, 커밋되지 않은 작업 중인 파일, 커밋 히스토리)
- 빌드 시스템 인식 (CMake, .csproj 타겟 및 플랫폼 조건)
- SQLite ATTACH+UNION을 통한 다중 리포지토리 워크스페이스, 10개 이상의 리포지토리를 동시에 검색 가능
배포 및 성능
저자는 워크스페이스에서 13개 리포지토리(45K 심볼)를 인덱싱합니다. 모든 것은 리포지토리당 단일 SQLite 파일에 저장되며, Docker, Redis, 벡터 데이터베이스 또는 클라우드 임베딩 API가 필요하지 않습니다. Git 훅(post-commit, post-checkout)이 인덱스를 자동으로 최신 상태로 유지합니다.
저자가 주요 레지스트리에서 50개 이상의 MCP 코드 검색 서버를 조사한 결과, 대부분은 grep 래퍼이거나 클라우드 임베딩 API(OpenAI, Voyage)가 필요했습니다. srclight은 로컬 FTS5 키워드 검색 + 로컬 Ollama 임베딩 + GPU 가속 벡터 캐시 + Git 인텔리전스 + 다중 리포지토리 워크스페이스를 단일 pip 설치로 결합한 유일한 도구로 설명됩니다.
호환성 및 설치
Claude Code, Cursor, Windsurf, Cline, VS Code를 포함한 모든 MCP 클라이언트와 호환됩니다. 설치 방법은 pip install srclight입니다. 프로젝트는 MIT 라이선스로 완전 오픈 소스이며, https://github.com/srclight/srclight에서 확인할 수 있습니다.
📖 전체 소스 읽기: r/LocalLLaMA
👀 See Also

PageAgent: Ollama 지원으로 웹 페이지 내에서 실행되는 브라우저 AI 에이전트
PageAgent는 웹 페이지 내부에서 직접 AI 에이전트를 실행하는 JavaScript 라이브러리로, 스크린샷 대신 라이브 DOM을 텍스트로 읽어들입니다. Ollama를 포함한 모든 OpenAI 호환 엔드포인트와 작동하여 브라우저에서 직접 로컬 LLM 호출을 가능하게 합니다.

포켓봇: iOS용 로컬 AI 자동 조종 장치, 앱 인텐트와 온디바이스 추론 활용
PocketBot은 iPhone의 Neural Engine에서 Metal을 통해 양자화된 3B Llama 모델을 로컬로 실행하는 iOS 앱으로, Apple의 AppIntents 및 CoreLocation 프레임워크를 사용하여 클라우드 데이터 전송 없이 이벤트 기반 자동화를 생성합니다.

tmux와 Markdown 스펙을 활용한 병렬 코딩 에이전트
마누엘 쉬퍼는 tmux, 마크다운 파일, bash 별칭, 그리고 여섯 개의 슬래시 명령어를 사용한 경량 설정으로 병렬 코딩 에이전트를 운영하고 있습니다. 이 설정은 Feature Design(FD) 마크다운 스펙을 사용하며, 이를 8단계 라이프사이클을 통해 추적합니다.

보데가 추론 엔진: Apple Silicon의 통합 메모리를 위한 LLM 추론 최적화
Bodega는 Apple Silicon의 통합 메모리 아키텍처를 위해 특별히 구축된 추론 엔진으로, MLX에서 연속 배칭과 KV 캐시 관리를 재설계하여 처리량 한계를 해결합니다. 개발자는 Metal 레이어에 가까운 최적화와 함께 2.5년 동안 작업했다고 보고합니다.