
클로드 코드를 사용하고 계신 분들께 개발 워크 플로우를 편하게 바꿀 수 있는 Serena MCP를 소개합니다. Serena MCP는 단순한 도구가 아닌 개발 생산성을 혁신하는 파트너입니다. 오늘 포스팅을 참고하여 더 정확한 코드 분석과 수정이 이뤄지는 개발 환경을 조성해 보세요!
Serena MCP 서버는 LSP(Language Server Protocol)를 기반으로 하여 코드 베이스를 의미론적으로 분석하고 조작할 수 있게 해줍니다. 이는 단순한 텍스트 기반 처리가 아닌, 실제 코드의 구조와 의존성을 이해하여 더 정확하고 효율적인 코드 작업을 가능하게 합니다.
LSP는 마이크로소프트에서 개발한 프로토콜로, 코드 편집기와 언어 분석 도구 간의 표준화된 통신 방식을 제공합니다. LSP로 가능한 일들을 하단의 내용으로 참고해 보세요!
VS Code, IntelliJ, Vim 등 대부분의 현대적인 에디터가 LSP를 지원하며, Serena는 이 LSP 정보를 활용하여 단순한 텍스트 검색이 아닌 실제 코드 구조를 이해한 분석을 수행합니다. 단순한 텍스트 기반 처리가 아닌, 실제 코드의 구조와 의존성을 이해하여 더 정확하고 효율적인 코드 작업이 가능해져요.
Serena에서는 LSP를 활용해 위와 같은 핵심 기능을 제공해요.
$ claude mcp add -s user --transport stdio serena uvx ----from git+https://github. com/oraios/serena serena-mcp-server --enable-web-dashboard true start-mcp-server
순서에 따라 Serena를 설치해 보겠습니다!
기본적으로 위의 설정은 Serena가 기동될 때, 하단과 같은 웹 페이지를 띄우는데요.
--nable-web-dashboard를 false로 명시해주면 해당 MCP가 기동될 때마다 의도치 않게 Serena 대시보드가 열리는 것을 방지해줍니다. 나름 의미 있는 정보를 보여주긴 하지만, 번거로운 부분이 있으니 비활성화하는 것을 추천 드립니다.
현재는 다음과 같은 언어들이 공식 지원되고 있습니다.
현재 시점에선 C/C++는 지원 준비 중이며, 몇몇 언어들은 테스트가 이뤄지지 않았습니다.
Serena가 실행되면 Serena에서 프로젝트의 내용을 분석해서 필요한 LSP를 실행하고, 이후 이 LSP를 통해 코드 베이스에 대한 정보들을 가져옵니다.
LSP를 통해 제공되는 기능은 아래와 같습니다.
또한, LSP의 네 가지 기능은 아래의 내용으로 알 수 있어요!
Serena를 쓰지 않으면 클로드 코드는 파일 전체를 참고하거나 grep, ripgrep과 같은 라인 기반의 검색 도구를 활용합니다. 그러면 불필요한 컨텍스트 소비가 이뤄지며 관련 없는 코드까지 함께 분석하여 비효율적입니다. 결과적으로 잦은 시행착오를 거치며 토큰을 크게 낭비하게 되죠.
그렇다면, Serena를 통해 필요한 부분만 정확히 가져와서 사용하고 토큰을 절약하세요! 많게는 70~80% 수준으로 절약되기도 합니다. 한 번에 정확한 분석으로 불필요한 재시도를 막을 수 있고, 구조적인 이해를 더해 좀 더 정확하게 사용자의 의도대로 코드를 생성할 수 있습니다.
이러한 이유를 종합한다면, Serena를 사용하지 않을 이유가 없겠죠? 한참 소요되는 코드 분석에 소모되는 시간을 Serena MCP 하나로 절약해 보세요.