에이전트용 로컬 코드 인덱스으로 즉시 문맥을 제공한다
CodeGraph는 tree-sitter로 다중 언어를 파싱해 SQLite(FTS5) 기반의 로컬 코드 지식 그래프를 만들고 MCP 도구로 에이전트에 '정확한' 코드 문맥을 한 번에 제공해 도구 호출·파일 읽기를 크게 줄인다.
TL;DR
CodeGraph는 tree-sitter로 다중 언어를 파싱해 심볼·호출선·파일 관계를 SQLite(FTS5) 기반의 로컬 지식 그래프로 저장하고, MCP 서버로 에이전트에게 codegraph_explore라는 단일 도구를 노출한다. 에이전트는 한 번의 쿼리로 관련 소스, 호출 경로, 영향 반경을 받아서 파일 단위 탐색과 grep/Read 루프를 대체한다. 벤치마크에서 도구 호출이 평균 58% 감소하고 응답 시간이 22% 빨라지는 등 검색·탐색 비용이 줄었으며, 토큰·달러 절감은 리포지토리 규모에 따라 미미할 수도 있고 대형 모노레포에서 큰 효과가 나타났다. 로컬 완전 실행과 자동 파일 감시로 실시간 인덱싱이 유지되며, 임베딩 방식 대신 구조적 그래프로 문맥을 구성하므로 외부 서비스·API 키 없이 에이전트 문맥 품질을 높일 수 있다. 단점은 인덱스 유지와 초기 색인 비용이 존재하고, 토큰·비용 절감은 작은 코드베이스에서 제한적이라는 점이다.
주요 기능
- 사전 구축된 코드 그래프에서 관련 심볼·호출 경로·코드 스니펫을 한 번의 쿼리로 반환
- 프로젝트 파일 변화를 네이티브 이벤트로 감지해 디바운스된 자동 동기화를 수행
- FTS5 기반 전체문자열 검색으로 전체 리포지토리 이름·코드 검색을 고속 지원
- 언어 간 브리징(예: Swift↔ObjC, React Native 네이티브↔JS)으로 교차 언어 호출 경로를 연결
- MCP 서버로 에이전트에 codegraph_explore 단일 도구를 노출해 잘못된 서브에이전트 호출을 억제
어떻게 동작하는가
tree-sitter로 소스에서 함수·클래스·호출 노드를 추출하고 이를 SQLite 데이터베이스(FTS5 포함)에 심볼·에지 형태로 저장한다. MCP 서버가 codegraph_explore를 노출하면 에이전트가 단일 호출로 관련 소스·호출 흐름·영향 반경을 받아 빠르게 응답한다.
해결 문제
에이전트가 코드베이스를 grep/Read로 일일이 탐색하는 비용(다수의 도구 호출, 느린 응답, 많은 파일 읽기)을 줄여 필요한 코드 문맥을 한 번에 제공한다.
지금 주목받는 이유
에이전트 기반 개발 워크플로가 늘어나며 에이전트의 불필요한 파일 탐색과 도구 호출을 줄여 응답 속도와 토큰/비용 효율을 개선하는 도구로 주목을 받았다.
차별점
- 100% 로컬 실행(번들형 Node 런타임 제공)으로 코드가 외부로 유출되지 않음
- 단일 강력 MCP 도구(codegraph_explore)를 통해 에이전트의 잘못된 서브에이전트 호출을 억제함
- 언어 경계를 잇는 브리징(예: Swift↔ObjC, React Native 브리지)으로 교차언어 호출을 해결함
- SQLite + FTS5 기반 저장소로 별도 벡터 DB 없이 전체문자열 검색을 제공함
사용 사례
- 에이전트(Claude Code, Cursor 등)를 통해 아키텍처·호출 흐름 질문에 빠른 근거 소스와 호출 경로를 제공할 때
- 대형 리포지토리(수천~만 파일)에서 변경 영향도(impact/blast radius)를 자동으로 분석해 테스트와 코드리뷰 범위를 좁힐 때
- 로컬 환경에서 코드 검색·심볼 탐색을 고속으로 수행하거나 CI 훅에서 영향받는 테스트를 검출할 때
- React Native·iOS 등 멀티언어 코드베이스에서 언어 간 호출선을 연결해야 할 때
시작하기
Unix 계열에서: curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh 로 설치하고, 각 프로젝트에서 cd your-project && codegraph init 을 실행해 .codegraph/ 인덱스를 생성한다. 에이전트 연결은 codegraph install 을 실행해 MCP 설정을 추가한다.
요구사항
- 지원 플랫폼: Windows/macOS/Linux(x64 및 arm64) — 릴리스별로 번들형 Node 런타임 포함(대부분의 사용에 Node 불필요)
- 라이브러리 임베딩 사용 시 Node 22.5+ 런타임(또는 해당 버전의 Node를 포함한 Electron)이 필요
- 임베딩용 npm 패키지 사용 시 npm 설치 권한
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Aggregate (7 repos) - Tool calls | Tool calls | 58% fewer | median of 4 runs per arm |
| Aggregate (7 repos) - Time | Time | 22% faster | median of 4 runs per arm |
| VS Code | Tool calls | 81% fewer | WITH vs WITHOUT CodeGraph (median of 4) |
| VS Code | Tokens | 64% fewer | WITH vs WITHOUT CodeGraph (median of 4) |
| OkHttp | Time | 31% faster | WITH vs WITHOUT CodeGraph (median of 4) |
| Alamofire | Time | 33% faster | WITH vs WITHOUT CodeGraph (median of 4) |
이미지 분석
55k
Stars
3.4k
Forks
+233
Trending
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.