퇴근하고 Claude Code로 사이드 프로젝트 뒤적이다 보면 제일 짜증나는 순간이 있다.
'이 함수 어디서 호출돼?' 하면 Claude가 파일 하나하나 열어가면서 탐색하는 것. 그 과정에서 토큰이 줄줄 녹고, 어차피 맥락 창도 터지고. 프로젝트가 조금만 커져도 그냥 포기하고 싶어지는 지경이 오잖아. 이게 Claude Code 쓸 때 제일 불편한 부분 중 하나였는데.
codebase-memory-mcp는 이걸 완전히 다른 방향으로 푼다.
코드베이스 전체를 지식 그래프로 인덱싱해서, Claude가 파일 열어보지 않아도 구조를 바로 꺼낼 수 있게 만드는 MCP 서버다. 함수, 클래스, 호출 체인, HTTP 라우트, 서비스 간 연결까지 다 포함. 평균 저장소는 밀리초 단위로 인덱싱이 끝나고, 구조 쿼리 응답은 1ms 미만. 리눅스 커널 기준으로 2800만 줄에 파일 7만5천 개를 3분 만에 처리했다고 명시되어 있음. 내 사이드 프로젝트 규모면 그냥 눈 깜짝할 새에 끝나겠지.
논문도 arXiv에 올려놨는데(2603.27277), 실제 저장소 31개로 벤치마크 돌린 결과: 파일 탐색하는 기존 방식 대비 토큰 10배 절감, 도구 호출 횟수 2.1배 감소, 정답률 83%. 논문 수치는 항상 가려서 봐야 하지만, 탐색 과정을 아예 없애버린다는 방향성 자체는 맞다고 본다.
Claude Code에 붙여서 실제로 어떻게 쓰이냐면 — '이 API 엔드포인트가 어떤 함수 통해서 DB 접근해?' 같은 걸 물을 때, 기존에는 Claude가 파일 여러 개 직접 열면서 호출 체인 추적하거든. 이 MCP 붙이면 인덱싱된 지식 그래프에서 바로 꺼내오니까 그 탐색 과정 자체가 없어지는 거잖아. '새 파일 어디 만들어야 해', '이 모듈 다른 데서 어떻게 쓰이고 있어' 같은 것도 맥락 낭비 없이 빠르게 답이 나오고.
158개 언어 지원, Python·TypeScript·Go·Rust·Java·Kotlin은 LSP 타입 추론까지. MCP 도구 14개, 제로 디펜던시, 단일 바이너리로 macOS·Linux·Windows 다 되고, 설치는 바이너리 받고 install 실행이 전부라고.
LSP로 타입 추론까지 하는 건 실제로 꽤 차이가 나는 게, '이 타입이 어디서 왜 그렇게 됐어?' 같은 걸 물을 때 단순 텍스트 매칭이 아니라 의미 단위로 꺼내온다는 거거든. TypeScript로 프론트 짜는 사람들한테는 특히.
코드는 100% 로컬에서만 처리되고 외부로 안 나간다는 것도 명시되어 있음. 회사 코드베이스 붙여야 하는 상황이면 이게 제일 중요한 조건이 될 수 있지.
GitHub 스타 1만9천 넘었는데, 이 정도면 Claude Code 쓰는 사람들 사이에선 사실상 표준 세팅으로 굳어가는 분위기 같다. 근데 개인적으로 — 이런 게 Claude Code에 처음부터 내장돼 있어야 하는 거 아닌가. Anthropic이 이걸 왜 아직도 기본 제공 안 하는지 오히려 그게 더 궁금하다.
출처: GitHub — codebase-memory-mcp