CodeGraphContext/CodeGraphContext

An MCP server plus a CLI tool that indexes local code into a graph database to provide context to AI assistants.

CodeGraphContext (CGC)

무엇인가요

CodeGraphContext (CGC) 는 로컬 코드베이스를 그래프 데이터베이스 로 변환하는 Python 기반 도구입니다. 심볼, 호출, 임포트, 상속 및 기타 관계를 포함합니다. 이 그래프는 명령줄에서 쿼리하거나 MCP (Model-Control-Protocol) 를 통해 제공되어 AI 어시스턴트(예: 채팅 기반 코드 도우미)가 텍스트 검색이 아닌 정확한 심볼 수준의 컨텍스트를 얻을 수 있도록 합니다.

핵심 기능

기능 제공되는 기능
코드 인덱싱 tree-sitter (옵션으로 SCIP 인덱서)로 소스 파일을 분석하고 지식 그래프를 구축합니다.
다중 언어 지원 23개 언어를 기본 제공 (Python, JS/TS, Java, C/C++, Go, Rust, Solidity 등).
CLI 툴킷 cgc index, cgc analyze callers <sym>, cgc watch, cgc list 등 로컬에서 인터랙티브 분석을 위한 명령어.
MCP 서버 모드 FastAPI 기반 서버 (cgc mcp start) 를 실행하여 AI IDE 확장 프로그램의 자연어 쿼리에 응답합니다.
데이터베이스 백엔드 내장형 FalkorDB Lite (Unix에서는 기본값), KuzuDB, LadybugDB, 또는 외부 Neo4j/Nornic – cgc config db 로 선택 가능.
실시간 업데이트 cgc watch 는 디렉터리를 모니터링하고 파일 변경 시 그래프를 자동으로 업데이트합니다.
사전 인덱싱된 번들 인기 있는 리포지토리용 미리 준비된 .cgc 번들로 인덱싱 단계를 건너뛸 수 있습니다.
Docker 지원 공식 Docker 이미지와 컴포즈 프로파일로 언어에 구애받지 않고 빠르게 실행 가능.
시각화 (프리미엄) 웹 UI를 통해 코드베이스의 인터랙티브한 힘 기반 그래프를 렌더링합니다.

작동 방식 (고수준 워크플로우)

  1. 분석 – Tree-sitter (옵션으로 SCIP)가 심볼, 호출, 임포트 등을 추출합니다.
  2. 그래프 구축 – 추출된 데이터를 노드/엣지로 변환하여 선택한 그래프 DB에 저장합니다.
  3. 쿼리 – CLI 또는 MCP 서버가 그래프에 Cypher 유사 쿼리를 실행합니다.
  4. 사용 – AI 에이전트나 개발자가 호출 체인, 클래스 계층, 미사용 코드 목록 등의 구조화된 응답을 받습니다.

일반적인 사용 사례

  • 파일 및 패키지 간의 호출 체인 추적.
  • 클래스 계층 및 모듈 경계 이해.
  • 미사용 코드, 핫스팟, 예기치 않은 종속성 탐지.
  • AI 어시스턴트에게 인간 유지보수자가 사용하는 구조적 컨텍스트를 제공.
  • 프로젝트 문서화 또는 온보딩을 위한 시각적 그래프 생성.

시작하기 (빠른 시작)

# 패키지 설치
pip install codegraphcontext

# 현재 리포지토리 인덱싱

cgc index .

# 간단한 쿼리 실행 (예: 함수의 호출자 확인)

cgc analyze callers my_function

# AI IDE 통합을 위한 MCP 서버 실행

cgc mcp setup   # 한 번만 설정

cgc mcp start   # FastAPI 서버 시작

Docker 사용자용:

docker pull codegraphcontext/codegraphcontext:latest

docker run --rm -v "$(pwd):/workspace" codegraphcontext/codegraphcontext cgc index .

유지보수자

Shashank Shekhar Singh (MIT 라이선스)에 의해 개발 및 유지보수 중입니다. 프로젝트는 오픈소스이며, CI 배지, 디스코드 커뮤니티, 공개 웹사이트를 보유하고 있습니다.


위 정보는 리포지토리의 README에서 직접 가져왔으며, 외부 가정은 전혀 포함되어 있지 않습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트