2026. 05. 07.  /  TECH  ·  7 min read

Serena vs Graphify — AI 코드 검색, 뭐가 더 강할까

둘 다 MCP 기반 코드 검색 도구인데 방식이 완전히 다르다. 어떤 상황에서 뭘 써야 할지 정리했다

Serena vs Graphify — AI 코드 검색, 뭐가 더 강할까

AI 어시스턴트에 코드베이스를 연동하는 방법이 늘어나면서 SerenaGraphify가 자주 언급됩니다.

둘 다 MCP 기반, 둘 다 "코드 검색을 더 잘하게 해준다"고 하는데 막상 비교해보면 접근 방식이 완전히 다릅니다.


Serena

Serena는 MCP 서버 형태의 코드 인텔리전스 도구입니다.

IDE가 코드를 이해하는 방식 — LSP(Language Server Protocol) — 를 AI 어시스턴트가 그대로 쓸 수 있게 연결해줍니다.

핵심은 심볼 단위 탐색입니다.

파일을 줄 단위로 읽는 게 아니라 함수, 클래스, 타입 같은 심볼을 기준으로 코드를 탐색합니다.

find_symbol("getUserById")
→ 정의: src/services/user.ts:42
→ 호출처: auth.ts:18, routes.ts:67
→ 시그니처: (id: string) => Promise<User>

지원 언어가 40개가 넘습니다. Python, TypeScript, Java, Rust, Go, C++ 전부 됩니다.

주요 기능:

  • find_symbol — 심볼 정의 찾기
  • find_referencing_symbols — 이 심볼을 참조하는 곳 전부 찾기
  • insert_after_symbol — 심볼 기준 정밀 편집

한 줄 요약: AI가 IDE처럼 코드를 탐색하게 해주는 도구


Graphify

Graphify는 코드베이스 전체를 지식 그래프로 변환하는 도구입니다.

코드, 문서, SQL 스키마, 심지어 이미지와 영상까지 — 프로젝트 안의 모든 것을 노드와 엣지로 표현합니다.

작동 방식이 독특합니다.

LLM이나 벡터 DB를 쓰지 않습니다. Tree-sitter AST 파싱으로 코드 구조를 먼저 분석하고 거기서 관계를 추출해 그래프로 만듭니다.

함수 A ──calls──→ 함수 B
클래스 C ──imports──→ 모듈 D
문서 E ──describes──→ 클래스 C

관계에는 출처가 태깅됩니다:

  • EXTRACTED — 코드에서 직접 찾은 관계
  • INFERRED — 확률적으로 추론한 관계 (신뢰도 점수 포함)
  • AMBIGUOUS — 불확실한 관계

/graphify 명령 하나로 프로젝트가 인터랙티브 HTML 그래프로 시각화됩니다.

MCP로 설치하면 이런 함수를 쓸 수 있습니다:

query_graph("인증 관련 함수")
get_neighbors("UserService")
shortest_path("LoginController", "Database")

한 줄 요약: 코드베이스를 지도로 만들어 AI가 전체 구조를 파악하게 해주는 도구


결정적인 차이

SerenaGraphify
탐색 단위심볼 (함수·클래스·타입)노드·엣지 (관계 그래프)
분석 방식LSP (언어 서버)Tree-sitter AST + 시맨틱 추출
벡터 DB없음없음
멀티모달코드 전용코드·문서·이미지·영상
시각화없음인터랙티브 HTML 그래프
프라이버시로컬로컬 (외부 API 없음)
설치MCP 서버pip install 'graphifyy[mcp]'

검색에서 어디가 유리한가

Serena가 강한 상황

"이 함수 어디서 쓰이냐"가 궁금할 때

심볼 레퍼런스 추적이 목적이면 Serena가 훨씬 빠릅니다. find_referencing_symbols 한 번이면 프로젝트 전체에서 해당 심볼을 참조하는 곳을 다 잡아냅니다.

리팩토링 전 임팩트 확인

함수 시그니처 바꾸기 전에 "어디가 깨지는지" 확인할 때. LSP 기반이라 언어별 타입 정보까지 포함해서 분석해줍니다.

정밀 코드 편집

AI에게 "이 클래스의 이 메서드만 수정해줘"를 시킬 때. 줄 번호가 아니라 심볼 기준으로 편집하니까 훨씬 안정적입니다.


Graphify가 강한 상황

"이 기능이 전체 시스템에서 어떤 위치냐"가 궁금할 때

Serena는 특정 심볼의 관계를 추적하고, Graphify는 프로젝트 전체 구조를 지도로 그립니다.

"인증 모듈이 어떻게 연결돼 있냐", "이 마이크로서비스 간 의존성이 뭐냐" 같은 질문엔 Graphify가 맞습니다.

토큰 효율이 중요할 때

Graphify가 공개한 수치가 있습니다.

52개 파일 프로젝트 기준 Graphify 없이: ~123,000 토큰 Graphify 사용: ~1,700 토큰 약 71.5배 절감

그래프 위상으로 탐색하기 때문에 AI에게 전체 파일 내용을 다 넘기지 않아도 됩니다.

코드 외 자료가 섞여 있을 때

설계 문서, API 명세 PDF, ERD 이미지가 코드와 함께 있는 프로젝트라면 Graphify만이 이걸 하나의 그래프로 연결할 수 있습니다.


같이 쓸 수도 있다

둘은 경쟁 관계가 아닙니다. 레이어가 다릅니다.

  • Graphify: 전체 구조 파악 → "어디를 봐야 하는지"
  • Serena: 특정 심볼 탐색 → "거기서 정확히 뭘 해야 하는지"

큰 코드베이스에서 작업할 때 순서를 나누면 됩니다:

  1. Graphify로 관련 모듈과 관계를 파악
  2. Serena로 해당 심볼들을 정밀하게 탐색하고 편집

선택 기준 정리

이런 게 필요하다쓸 것
특정 함수·클래스 추적Serena
리팩토링 전 의존성 분석Serena
AI 코드 편집 정확도 향상Serena
프로젝트 전체 구조 파악Graphify
토큰 비용 절감Graphify
코드+문서+이미지 통합 검색Graphify
팀 온보딩, 코드베이스 시각화Graphify

도구 선택은 간단합니다.

"어디를 봐야 할지 모르겠다" → Graphify부터 "어디를 봐야 할지는 아는데 정확히 뭔지 모르겠다" → Serena

관련 포스트