Small Asteroid Blog

Serena MCP 사용해 토큰 절약하고 퀄리티 높이기 본문

AI

Serena MCP 사용해 토큰 절약하고 퀄리티 높이기

작은소행성☄️ 2025. 8. 16. 15:04
728x90

Serena MCP란?

Serena 는 코드를 텍스트가 아닌 구조로 이해하는 AI 어시스턴트 입니다.

  • 일반 AI: 코드를 단순 텍스트로 인식
  • Serena: 함수, 클래스, 변수 간의 관계를 구조적으로 이해

 

왜 Serena MCP를 사용하나?

주로 AI 코딩 시 발생하는 토큰 비용에 대한 고민을 해결하기 위해 사용됩니다.
세레나 MCP를 사용하지 않고 AI 코딩을 할 경우, AI는 주로 텍스트 검색 방식으로 코드를 분석하고 찾아 토큰 소모량이 많아질 수 있습니다.
  • 기존 AI 코딩: 텍스트 검색 방식 → 높은 토큰 소모
  • Serena 활용: 필요한 부분만 정확히 찾기 → 토큰 절약

 

Serena MCP의 장점?

세레나 MCP를 사용하면 여러 가지 장점을 얻을 수 있습니다
장점 설명
디자인 퀄리티 향상 코딩 결과물의 품질 개선
토큰 소모량 절감 필요한 부분만 분석하여 비용 절약
코드 수정이 많을수록 효과 극대화
AI 환각 최소화 정확한 코드 위치 파악으로 오류 방지
다양한 언어 지원 주요 프로그래밍 언어 모두 지원

 

Serena MCP 설치 및 사용법

1. 기본 환경 구성하기 

# 원하는 디렉토리로 이동 
cd /Users/start/Desktop/git

# Serena 클론
git clone https://github.com/oraios/serena
cd serena

# 설정 파일 생성 (선택사항)
mkdir ~/.serena
cp src/serena/resources/serena_config.template.yml ~/.serena/serena_config.yml

# MCP 서버 실행 테스트
uv run serena-mcp-server


2. 자동화 스크립트 만들기 

# 스크립트 디렉토리 생성
mkdir -p /Users/start/Desktop/git/scripts
cd /Users/start/Desktop/git/scripts

# 스크립트 파일 생성
cat > setup-serena.sh << 'EOF'
#!/bin/bash

# 설정 변수 (본인 환경에 맞게 수정)
SERENA_PATH=/Users/start/Desktop/git/serena
# 현재 디렉토리에 Serena MCP 추가
claude mcp add serena -- uv run --directory $SERENA_PATH serena-mcp-server --context ide-assistant

# 성공 메시지 출력
echo "✅ Serena MCP가 $(pwd) 프로젝트에 추가되었습니다"
echo "📌 Claude Code에서 /mcp__serena__initial_instructions 명령을 실행하세요"
EOF

# 실행 권한 부여
chmod +x setup-serena.sh

 

 

3. Alias 등록

# .bashrc 또는 .zshrc에 추가
echo 'alias setup-serena="/Users/start/Desktop/git/scripts/setup-serena.sh"' >> ~/.zshrc
source ~/.zshrc

 

Claude Code 통합하기

커스텀 명령어 설정

# 초기화 명령어 생성
mkdir -p ~/.claude/commands
cat > ~/.claude/commands/init-serena.md << 'EOF'
---
description: Init Serena MCP
---
execute `/mcp__serena__initial_instructions` to initialize Serena MCP for enhanced semantic analysis.
EOF

 

활용법

# 프로젝트 디렉토리에서
setup-serena
claude

# Claude Code에서
/serena-init
"이 프로젝트의 전체 아키텍처를 분석하고 주요 API 엔드포인트들의 플로우를 설명해줘"

 

 

❗️팁

1. 프로젝트 구조 최적화

Serena는 잘 구조화된 코드에서 최고의 성능을 발휘합니다

✅ 좋은 구조:
├── controllers/
│   ├── user_controller.py
│   └── order_controller.py
├── services/
│   ├── user_service.py
│   └── order_service.py
├── models/
│   ├── user.py
│   └── order.py
└── utils/
    └── validators.py

❌ 피해야 할 구조:
├── main.py (3000줄의 모든 로직)
├── utils.py (모든 유틸리티 함수)
└── models.py (모든 모델)
 
 

2. 타입 힌트의 중요성

Python에서는 타입 힌트가 있을 때 Serena의 정확도가 크게 향상됩니다

# ✅ 권장
def get_user_by_id(user_id: int) -> Optional[User]:
    return User.objects.filter(id=user_id).first()

# ❌ 비권장  
def get_user_by_id(user_id):
    return User.objects.filter(id=user_id).first()

 

3. 메모리 기능 적극 활용

중요한 아키텍처 결정사항이나 비즈니스 규칙을 메모리에 저장해두면 나중에 유용합니다

"이 프로젝트의 인증 방식과 권한 체계를 메모리에 저장해줘. 
이름은 'auth-architecture'로 해줘"

 

4. 컨텍스트 관리 전략

대규모 분석 작업 후에는 새 세션에서 계속하는 것이 좋습니다

"지금까지의 분석 내용을 요약해서 메모리에 저장하고, 
새 세션에서 계속 작업할 수 있도록 준비해줘"

 

 

728x90
반응형