- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Featured Post
작성자:
Iros
- 공유 링크 만들기
- X
- 이메일
- 기타 앱

요즘 개발자들끼리 이야기하다 보면 바이브 코딩이라는 말을 꽤 자주 듣게 되죠. 저도 처음엔 살짝 웃었어요. 아니 코딩에 무슨 바이브야, 싶었거든요. 그런데 막상 AI이랑 대화하면서 코드를 짜다 보니까… 아, 이 말이 그냥 장난은 아니구나 싶더라고요.
예전에는 개발자가 손으로 코드를 한 줄 한 줄 쌓아 올리는 느낌이었다면, 요즘은 조금 달라졌어요. 내가 만들고 싶은 방향을 설명하고, AI이 초안을 만들고, 나는 그걸 읽어보고 고치고, 다시 시키고. 뭐랄까, 운전대를 완전히 넘기는 건 아닌데 조수석에 꽤 똑똑한 동료를 태우고 같이 가는 느낌이랄까요.
그런데 여기서 차이가 확 나는 지점이 있어요. 그냥 “이 코드 짜줘”라고 말하는 정도에서 멈추느냐, 아니면 AI이 내 개발 환경 안에 있는 도구들까지 직접 다룰 수 있게 해주느냐. 이 차이가 생각보다 큽니다. 그리고 그 연결고리 역할을 해주는 게 바로 MCP, 그러니까 모델 콘텍스트 프로토콜이에요.
오늘은 이 MCP 도구 연결이 왜 AI 바이브 코딩에서 꽤 중요한 기술이 되었는지, 그리고 제가 직접 써보면서 느낀 현실적인 팁들을 좀 편하게 풀어볼게요. 전문 강의처럼 딱딱하게 말하기보다는, 그냥 회사 점심시간에 커피 들고 “야 이거 한번 해봐, 꽤 괜찮더라” 하고 말하는 느낌으로요.
MCP가 뭔데 이렇게 자꾸 이야기 나오는 걸까
처음에 MCP라는 말을 들었을 때, 솔직히 제 반응은 좀 시큰둥했어요. 또 무슨 새로운 규격이 나왔나, 또 배워야 하나… 이런 생각부터 들더라고요. 40대 직장인 개발자 입장에서는 새로운 기술이 반갑기도 하지만, 한편으론 피곤하기도 하잖아요. 회사 일도 많고, 회의도 많고, 집에 가면 또 쉬어야 하고요.
그런데 MCP는 막상 들여다보니까 생각보다 개념이 어렵지 않았어요. 아주 쉽게 말하면, AI이 우리 컴퓨터나 개발 환경에 있는 도구들을 사용할 수 있게 해주는 연결 규칙 같은 거예요. 파일을 읽고, 데이터베이스 구조를 확인하고, 깃 상태를 보고, 필요한 경우에는 명령도 실행할 수 있게 도와주는 통로라고 보면 됩니다.
예를 들어볼게요. 예전에는 AI에게 “이 데이터베이스 테이블에 맞춰서 코드 만들어줘”라고 말하려면, 제가 직접 테이블 구조를 복사해서 붙여넣어야 했어요. 컬럼 이름, 자료형, 관계, 제약 조건… 이거 은근 귀찮습니다. 복사하다가 빠뜨리는 것도 있고요. 그런데 MCP를 잘 연결해두면 AI이 직접 데이터베이스 스키마를 읽어보고, 그걸 바탕으로 코드를 제안할 수 있어요.
또 파일 시스템도 마찬가지예요. 프로젝트 안에 어떤 파일이 있고, 어떤 구조로 되어 있는지 AI이 직접 확인할 수 있으면 대화가 훨씬 짧아집니다. “지금 이 프로젝트 구조는 이렇고, 이 파일을 수정하면 될 것 같아요” 같은 식으로 말이죠. 이게 생각보다 엄청 편해요. 설명을 덜 해도 되니까요.
코드 생성에서 작업 흐름 자동화로 넘어가는 느낌
제가 느끼기에 MCP의 핵심은 단순히 코드를 잘 만들어주는 데 있지 않아요. 더 중요한 건 작업 흐름을 이어준다는 점이에요. AI이 코드를 만들고, 파일을 확인하고, 실행 결과를 보고, 다시 고치는 흐름. 예전에는 이 사이사이에 사람이 계속 끼어들어야 했죠.
예전 방식은 대충 이런 식이었어요. AI이 코드 작성해줌. 제가 복사함. 편집기에 붙여넣음. 실행함. 오류 남. 오류 메시지 복사함. 다시 AI에게 붙여넣음. 또 수정안 받음. 다시 붙여넣음. 음… 글로만 써도 조금 피곤하네요.
MCP를 연결하면 이 반복이 꽤 줄어듭니다. 물론 완전히 손 놓고 맡기는 건 아니에요. 저는 오히려 그건 위험하다고 보는 편입니다. 다만 AI이 필요한 정보를 직접 가져오고, 정해진 범위 안에서 도구를 써볼 수 있으니까, 개발자가 중간중간 복사하고 설명하는 시간을 많이 줄일 수 있어요.
뭐랄까, 예전에는 AI이 옆에서 조언만 해주는 사람이었다면, MCP를 연결한 뒤에는 작업대 위에 같이 손을 올려놓는 동료처럼 느껴져요. 물론 아직 실수도 하고, 가끔 엉뚱한 짓도 합니다. 그래서 감시는 필요해요. 하지만 잘 길들여놓으면 꽤 든든합니다.
MCP 도구 연결, 처음에는 작게 시작하는 게 마음 편하다
MCP 설정을 처음 할 때 괜히 욕심내면 금방 지칩니다. 저도 처음엔 “파일도 연결하고, 데이터베이스도 연결하고, 깃허브도 연결하고, 브라우저 자동화도 붙여보고…” 이런 식으로 한 번에 다 해보려다가 살짝 멘붕이 왔어요. 설정 파일은 길어지고, 권한 오류는 나고, 어디서 막힌 건지도 헷갈리고요.
그래서 지금 누가 저한테 MCP를 어떻게 시작하면 좋겠냐고 물어보면, 저는 그냥 이렇게 말해요. 파일 하나 읽는 것부터 시작하세요. 진짜로요. 처음부터 거창하게 데이터베이스에 쓰기 권한 주고, 배포까지 자동화하려고 하면 위험하기도 하고 피곤합니다.
가장 무난한 시작은 프로젝트 폴더를 읽을 수 있게 해주는 파일 시스템 도구예요. AI이 현재 프로젝트 구조를 보고, 어떤 파일을 수정해야 할지 판단할 수 있게 해주는 정도만 해도 체감이 꽤 옵니다.
파일 시스템 연결은 꼭 좁게 열어두는 게 좋다
여기서 현실적인 팁 하나. 파일 접근 권한은 무조건 좁게 주는 게 좋습니다. 귀찮다고 홈 폴더 전체를 열어두면 나중에 후회할 수 있어요. 저는 예전에 테스트 삼아 넓게 열어뒀다가, AI이 별 쓸데없는 임시 파일을 예상치 못한 위치에 만들어놓은 적이 있어요. 막 엄청난 사고는 아니었지만, 그때 기분이 좀 묘하더라고요. “아, 얘한테 너무 넓은 운동장을 줬구나…” 싶은 느낌이었습니다.
가능하면 프로젝트 폴더 하나만 지정하세요. 더 엄격하게 가고 싶으면 읽기 전용으로 시작하는 것도 좋아요. 읽기만 허용해도 AI이 구조를 파악하고 조언하는 데는 충분한 경우가 많거든요. 쓰기 권한은 어느 정도 신뢰가 생긴 뒤에 천천히 열어도 늦지 않습니다.
- 처음에는 프로젝트 폴더 하나만 연결하기: 전체 컴퓨터를 열어두지 말고, 지금 작업 중인 저장소만 연결하는 게 마음 편합니다.
- 읽기 권한부터 시작하기: 파일 수정 권한은 나중에 열어도 됩니다. 처음엔 구조 파악만 시켜도 충분히 유용해요.
- 임시 파일 생성 위치 확인하기: AI이 테스트 파일이나 로그 파일을 어디에 만드는지 초반에 꼭 확인해두세요.
데이터베이스 연결은 편하지만 조심스럽게
데이터베이스 연결은 정말 편합니다. 특히 테이블이 많거나 관계가 복잡한 프로젝트에서는 AI이 직접 구조를 보고 코드를 짜주는 게 꽤 도움이 돼요. “이 테이블 기준으로 조회 기능 만들어줘”라고 했을 때, 실제 컬럼 이름을 확인하고 맞춰서 코드를 짜주면 오류가 많이 줄어듭니다.
하지만 여기엔 조심할 부분도 있어요. 운영 데이터베이스에 바로 연결하는 건 저는 추천하지 않습니다. 특히 쓰기 권한까지 주는 건 더더욱요. 처음에는 로컬 개발용 데이터베이스나 복제된 테스트 환경에서만 써보는 게 좋습니다.
접속 정보도 절대 코드 안에 박아두면 안 됩니다. 이건 정말 기본인데, 바쁠 때 사람 참 이상해져요. “잠깐만 테스트하고 지워야지” 하다가 그대로 커밋하는 경우가 있거든요. 저도 예전에 비슷한 실수를 할 뻔해서 식은땀 난 적이 있습니다. 다행히 올리기 직전에 발견했는데, 그날 이후로 접속 정보는 무조건 환경변수로 빼는 습관을 들였어요.
- 운영 환경 직접 연결은 피하기: 테스트용 데이터베이스부터 연결해보는 게 안전합니다.
- 접속 정보는 환경변수로 관리하기: 비밀번호나 토큰을 설정 파일에 그대로 넣는 습관은 위험해요.
- 쓰기 작업은 확인 절차 넣기: 삭제, 수정, 대량 입력 같은 작업은 AI이 바로 실행하지 않도록 한 번 더 물어보게 만드는 게 좋습니다.
깃 연동은 편한데, 상태 확인 습관이 진짜 중요하다
깃이나 깃허브 연동도 MCP로 연결해두면 꽤 편해요. “지금 변경사항 확인해줘”, “커밋 메시지 추천해줘”, “이 변경분을 커밋해줘” 같은 작업을 대화로 처리할 수 있으니까요. 작은 프로젝트에서는 이게 은근히 시간을 줄여줍니다.
그런데 저는 여기서 꼭 하나를 강조하고 싶어요. 커밋하기 전에 반드시 상태를 먼저 보여달라고 하세요. AI이 의도하지 않은 파일까지 포함해서 커밋할 수도 있고, 임시 파일이나 설정 파일이 같이 들어갈 수도 있어요. 그래서 저는 거의 습관처럼 이렇게 말합니다. “변경된 파일 목록부터 보여주고, 내가 확인하면 그때 커밋해줘.”
이 작은 습관 하나가 사고를 많이 막아줍니다. 특히 회사 프로젝트에서는 더 그래요. 개인 사이드 프로젝트야 조금 삐끗해도 되돌리면 되지만, 팀 저장소에서는 괜히 얼굴 빨개지는 일이 생길 수 있거든요.
토큰 아끼면서 MCP 쓰는 법, 이거 은근히 돈보다 집중력 문제다
MCP를 연결하면 편해지는 건 맞는데, 한 가지 현실적인 문제가 있어요. 바로 토큰 사용량입니다. AI이 도구를 사용할 수 있게 되면, 어떤 도구를 쓸지 판단하고, 도구 설명을 이해하고, 호출 결과를 읽는 과정에서 토큰을 꽤 씁니다.
처음에는 이걸 별로 신경 안 썼어요. 그냥 잘 되면 되는 거 아닌가 싶었죠. 그런데 프로젝트가 커지고, 도구를 이것저것 많이 연결해두니까 응답이 느려지고 비용도 올라가더라고요. 게다가 AI이 괜히 필요 없는 파일 목록까지 훑으려고 할 때가 있어요. 그럼 대화가 길어지고, 핵심에서 멀어집니다.
그래서 저는 요즘 MCP를 쓸 때 적게 연결하고, 분명하게 지시하고, 반복 정보는 줄이는 방식을 선호합니다. 이게 좀 별거 아닌 것 같지만, 실제로 써보면 차이가 꽤 커요.
도구는 많이 붙이는 것보다 필요한 것만 켜두는 게 낫다
처음엔 도구를 많이 연결해두면 좋을 것 같죠. 파일도 보고, 데이터베이스도 보고, 깃도 보고, 웹 검색도 하고, 문서도 읽고… 왠지 만능 작업대처럼 느껴지니까요. 그런데 AI 입장에서는 선택지가 많아질수록 오히려 헷갈릴 수 있습니다.
사람도 마찬가지잖아요. 여행 갈 때 가방에 이것저것 다 넣으면 든든한 것 같지만, 막상 현지에서는 짐만 무거워지는 경우가 많아요. 개발 도구도 비슷하더라고요. 지금 프론트 화면 하나 고치는 중인데 데이터베이스 도구까지 켜둘 필요는 없을 때가 많습니다.
- 현재 작업과 관련 없는 도구는 꺼두기: 필요할 때 다시 켜면 됩니다. 계속 켜둘 이유가 없어요.
- 프로젝트별로 도구 구성을 나누기: 개인 프로젝트, 회사 프로젝트, 실험용 프로젝트의 설정을 다르게 가져가면 훨씬 편합니다.
- 읽기 도구와 쓰기 도구를 구분하기: 정보 확인용 도구와 실제 변경을 만드는 도구는 권한을 다르게 주는 게 좋습니다.
프롬프트에 도구 사용 순서를 살짝 알려주면 낭비가 줄어든다
AI에게 그냥 “고쳐줘”라고 하면, 어디서부터 볼지 몰라서 이것저것 뒤질 수 있어요. 그러면 토큰도 많이 쓰고, 시간도 걸립니다. 그래서 저는 요즘 프롬프트에 도구 사용 순서를 짧게 적어주는 편이에요.
예를 들면 이런 식입니다. “먼저 프로젝트 구조를 확인하고, 관련 있어 보이는 파일 두세 개만 읽은 다음, 수정 제안을 해줘.” 또는 “데이터베이스는 필요할 때만 확인하고, 우선 현재 파일 기준으로 판단해줘.” 이런 식으로요. 너무 길게 쓸 필요는 없고, 방향만 잡아줘도 됩니다.
이게 생각보다 효과가 있어요. AI이 덜 헤매고, 대답도 더 깔끔해집니다. 솔직히 말하면 저는 이걸 처음부터 알았던 건 아니고, 몇 번 토큰을 왕창 쓰고 나서야 깨달았어요. 아, 내가 얘한테 너무 자유롭게 돌아다니라고 했구나… 싶더라고요.
- 먼저 볼 범위를 정해주기: “전체를 보지 말고 이 폴더부터 봐줘”라고 말하면 낭비가 줄어듭니다.
- 읽을 파일 개수를 제한하기: “관련 파일 세 개만 먼저 확인해줘”처럼 말하면 응답이 훨씬 집중됩니다.
- 수정 전에 설명을 요구하기: 바로 고치게 하지 말고 “어떤 파일을 왜 수정할지 먼저 말해줘”라고 하면 사고가 줄어요.
반복되는 정보는 매번 다시 읽히지 않는 게 좋다
프로젝트 구조나 데이터베이스 스키마처럼 자주 바뀌지 않는 정보가 있어요. 이런 건 매번 새로 읽히면 토큰이 아깝습니다. 가능하다면 AI 클라이언트나 설정에서 이전에 읽은 정보를 재사용할 수 있는 기능을 확인해보세요.
모든 도구가 이런 기능을 깔끔하게 지원하는 건 아니지만, 지원하는 경우에는 꽤 도움이 됩니다. 특히 데이터베이스 스키마처럼 텍스트 양이 많은 정보는 한 번 읽고 계속 재사용하는 것만으로도 체감이 됩니다.
저는 사이드 프로젝트에서 테이블이 스무 개쯤 되는 작은 서비스를 만든 적이 있는데, 처음엔 매번 스키마를 다시 읽게 했어요. 그러다 보니 대화가 느려지고 토큰도 많이 쓰더라고요. 이후에는 스키마 요약본을 따로 만들어두고, 필요할 때 그 요약만 참고하게 했더니 훨씬 쾌적했습니다. 이런 건 진짜 해보면 바로 느껴져요.
설정에 미리 넣어두면 편한 작은 규칙들
MCP를 쓰다 보면 결국 중요한 건 도구 자체보다 사용 규칙이더라고요. 좋은 도구를 연결해도 AI이 아무렇게나 쓰면 불안하고, 반대로 도구가 몇 개 없어도 규칙이 분명하면 꽤 안정적으로 일합니다.
그래서 저는 설정이나 기본 지시문에 몇 가지 원칙을 넣어두는 편이에요. 거창한 건 아니고, 안전벨트 같은 느낌입니다. 운전 잘해도 안전벨트는 매잖아요. 그런 거예요.
바로 수정하지 말고 계획부터 말하게 하기
가장 추천하는 규칙은 이겁니다. 파일을 수정하기 전에 어떤 파일을 왜 수정할지 먼저 설명하게 하세요. 이걸 넣어두면 AI이 갑자기 엉뚱한 파일을 고치는 일이 줄어듭니다.
예를 들어 “수정 전에 영향받는 파일과 변경 의도를 먼저 알려줘”라고 기본 규칙에 넣어두는 거예요. 그러면 AI이 작업 전에 잠깐 멈춰서 설명을 합니다. 그걸 보고 “응, 진행해” 하거나 “아니, 그 파일 말고 이쪽을 봐줘”라고 방향을 잡을 수 있죠.
이 과정이 조금 번거로워 보일 수 있는데, 실제로는 오히려 시간을 아껴줍니다. 잘못 고친 걸 되돌리는 시간이 더 아깝거든요.
위험한 작업은 항상 확인받게 하기
삭제, 덮어쓰기, 대량 수정, 데이터베이스 변경, 깃 커밋과 올리기. 이런 건 저는 무조건 확인받게 합니다. AI이 아무리 똑똑해도, 맥락을 잘못 이해하는 순간이 있어요. 그리고 그런 순간은 꼭 바쁠 때 찾아옵니다. 참 신기하죠.
- 파일 삭제 전 확인: “삭제가 필요한 경우 반드시 대상 파일 목록을 먼저 보여줘”라고 정해둡니다.
- 데이터 변경 전 확인: 데이터베이스에 쓰기 작업을 하기 전에는 실행할 쿼리나 변경 내용을 먼저 설명하게 합니다.
- 커밋 전 확인: 변경 파일 목록과 커밋 메시지를 먼저 보여주고, 승인 후 진행하게 합니다.
- 대량 수정 전 확인: 여러 파일을 한꺼번에 바꾸는 작업은 반드시 범위와 이유를 먼저 확인합니다.
대답은 짧게, 필요한 로그만 보게 하기
AI이 도구를 쓰다 보면 로그나 출력 결과를 길게 가져오는 경우가 있어요. 이게 길어지면 토큰도 많이 쓰고, 읽는 사람도 피곤합니다. 그래서 저는 “긴 로그는 핵심 부분만 요약하고, 오류가 있는 줄 주변만 보여줘” 같은 지시를 자주 씁니다.
특히 빌드 오류나 테스트 실패 로그는 전체를 다 볼 필요가 없는 경우가 많아요. 처음 터진 오류와 그 주변 맥락만 봐도 원인을 찾을 수 있거든요. 물론 정말 필요하면 전체 로그를 다시 요청하면 됩니다. 처음부터 다 쏟아붓지 않는 게 중요해요.
바이브 코딩은 손을 놓는 게 아니라 방향을 잘 잡는 일에 가깝다
저는 AI 바이브 코딩을 무작정 AI에게 맡기는 방식이라고 생각하지 않아요. 오히려 반대에 가깝습니다. 개발자가 더 분명하게 생각해야 해요. 무엇을 만들지, 어디까지 허용할지, 어떤 방식은 피해야 할지. 이런 기준을 사람이 잡아줘야 합니다.
MCP는 그 기준 안에서 AI이 더 잘 움직이게 해주는 장치예요. 파일을 보고, 데이터베이스를 확인하고, 깃 상태를 살피고, 필요한 작업을 제안하는 식으로요. 제대로 연결하면 생산성이 올라가는 건 맞습니다. 그런데 아무 규칙 없이 열어두면 불안한 것도 사실이에요.
그래서 저는 MCP를 쓸 때 늘 이런 생각을 합니다. “AI에게 일을 시키되, 책임은 내가 진다.” 조금 고리타분하게 들릴 수도 있는데, 현업에서는 이게 맞더라고요. AI이 만든 코드라고 해서 장애가 나면 AI이 사과해주는 건 아니니까요. 결국 팀원에게 설명하고, 운영 이슈를 처리하고, 품질을 책임지는 건 개발자입니다.
다만 그 책임을 진다는 전제 안에서는 MCP가 정말 좋은 도구가 됩니다. 반복 작업은 줄이고, 탐색 시간을 줄이고, 귀찮은 확인 작업을 덜어주니까요. 특히 주말에 사이드 프로젝트 할 때 이 차이가 큽니다. 저는 토요일 오전에 커피 한 잔 내려놓고 작은 기능 하나 만들 때, MCP 연결해둔 환경에서는 확실히 손이 덜 갑니다. 예전 같으면 프로젝트 구조 다시 보고, 파일 찾고, 스키마 확인하다가 오전이 다 갔는데, 요즘은 시작 속도가 훨씬 빨라졌어요.
처음 해본다면 이렇게만 시작해도 충분하다
MCP가 좋아 보인다고 해서 오늘 당장 모든 걸 자동화할 필요는 없어요. 오히려 작게 시작하는 게 오래 갑니다. 괜히 처음부터 욕심내면 설정하다가 지치고, 그러면 좋은 도구도 귀찮은 숙제가 되어버리거든요.
제가 추천하는 시작 방식은 아주 단순합니다. 프로젝트 폴더 읽기 권한만 연결해보세요. 그다음 AI에게 “프로젝트 구조를 보고 주요 폴더 역할을 설명해줘”라고 시켜보는 겁니다. 여기서부터 이미 감이 옵니다. 아, 얘가 내 프로젝트를 그냥 상상으로 말하는 게 아니라 실제로 보고 이야기하는구나. 이 느낌이 꽤 새롭습니다.
그다음에는 깃 상태 확인을 붙여보고, 나중에 데이터베이스 읽기 권한을 붙여보세요. 쓰기 권한은 제일 나중입니다. 저는 이 순서가 안전하고 편하다고 봅니다.
- 프로젝트 폴더 읽기 연결: 가장 안전하고 체감이 빠릅니다. 구조 파악만으로도 대화 품질이 좋아져요.
- 깃 상태 확인 연결: 변경 파일 확인, 커밋 메시지 추천 정도부터 쓰면 부담이 적습니다.
- 개발용 데이터베이스 읽기 연결: 테이블 구조를 확인하게 하면 코드 제안이 훨씬 현실적으로 바뀝니다.
- 쓰기 권한은 천천히: 충분히 익숙해진 뒤, 확인 절차를 넣고 제한적으로 열어두는 게 좋습니다.
사실 개발 도구라는 게 그렇잖아요. 처음엔 낯설고, 설정하다 보면 괜히 시간 쓰는 것 같고, “이거 그냥 내가 하고 말지” 싶은 순간도 옵니다. 그런데 한 번 자기 작업 흐름에 맞게 자리 잡으면, 그다음부터는 계속 이득이에요. MCP도 딱 그런 종류의 도구라고 생각합니다.
AI 바이브 코딩을 제대로 해보고 싶다면, 단순히 프롬프트만 잘 쓰는 데서 멈추지 말고 도구 연결 방식도 한 번 챙겨보세요. 토큰을 아끼는 설정, 권한을 좁게 주는 습관, 위험한 작업 전에 확인받는 규칙. 이런 작은 것들이 쌓이면 개발 경험이 꽤 달라집니다.
저는 앞으로 개발자의 역할이 조금씩 바뀔 거라고 봐요. 손으로 코드를 많이 치는 사람이라기보다, 문제를 정의하고, AI과 도구를 잘 엮고, 결과를 책임지는 사람에 가까워지지 않을까 싶습니다. 말이 거창하긴 한데, 현장에서 느끼는 변화는 이미 그쪽으로 가고 있어요.
그러니 너무 겁먹진 말고요. 작은 프로젝트 하나 열어놓고, MCP로 파일 읽기부터 한번 해보세요. 처음 연결 성공해서 AI이 내 프로젝트 구조를 알아서 설명해주는 순간, 아마 살짝 웃음이 날 겁니다. “오… 이거 생각보다 괜찮은데?” 하고요.
댓글
댓글 쓰기