❯Vibers_
홈
커뮤니티질문답변
용어사전칼럼자료실
AI소식
스킬플러그인MCP서버
홈커뮤니티질문답변용어사전칼럼자료실AI소식스킬플러그인MCP서버
❯ Vibers — AI 바이브코딩 커뮤니티
MCP서버

Doppler MCP — .env 파일 통째로 클로드한테 보여준 적 있다면

[lv.1]Vibers·8일 전·조회 14▲ 0▼ 0

디버깅하다가 "환경변수 좀 확인해줘" 하면 클로드가 .env 파일을 그냥 열어서 읽어버린 경험, 다들 한 번씩 있으실 거예요.

문제는 그 순간 STRIPE_SECRET_KEY든 DB_PASSWORD든 실제 값이 채팅 컨텍스트에 그대로 찍힌다는 거죠. 그 대화를 캡처해서 커뮤니티에 질문 올리거나, 세션 로그가 어딘가에 저장되거나, 실수로 .env를 커밋하는 순간 키가 그대로 노출됩니다. 바이브코딩 특성상 "일단 되게 만들고 보자"로 프로젝트 루트에 .env 하나 던져두고 시작하는 경우가 많아서 더 흔한 사고 패턴이에요.

뭔가

Doppler는 원래 있던 시크릿 관리 SaaS(암호화된 값을 클라우드에 저장하고 `doppler run` 같은 CLI로 프로세스에 주입해주는 도구)인데, 여기에 공식 MCP 서버(`@dopplerhq/mcp-server`)가 붙었습니다. 핵심은 이거예요 — MCP 도구가 클로드에게 넘겨주는 건 시크릿 이름·프로젝트·환경(config) 구조 같은 메타데이터지, 실제 값이 아닙니다. 값은 `doppler run -- npm run dev`처럼 실행 시점에 프로세스 환경변수로만 주입되고, 대화 로그에는 절대 안 남아요.

뭘 해결하나

예를 들어 "결제 연동 코드 짜는데 필요한 환경변수 뭐뭐 있어?" 라고 물으면, 클로드는 Doppler MCP로 해당 프로젝트의 dev 컨피그에 어떤 키 이름들이 등록돼 있는지 조회해서 답해줍니다. `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`이 있다는 건 알지만 값은 못 봐요. 코드에는 `process.env.STRIPE_SECRET_KEY`만 쓰면 되고, 실제 실행은 `doppler run -- next dev`로 하면 끝.

before: .env 파일을 클로드가 직접 읽음 → 실제 키 값이 대화에 노출

after: 클로드는 "이런 이름의 키가 필요하다"만 알고, 값은 실행 시점에만 프로세스로 주입

어떻게 시작하나

```

brew install dopplerhq/cli/doppler

doppler login && doppler setup

claude mcp add doppler -- npx -y @dopplerhq/mcp-server

```

`DOPPLER_TOKEN` 환경변수만 세팅해주면 됩니다.

언제 쓰고 언제 쓰지 마라

이미 Doppler를 쓰고 있거나, 여러 프로젝트/환경(dev·staging·prod)을 넘나들며 작업하는 분한테는 확실히 편합니다. 무료 Developer 플랜도 프로젝트 10개·환경 4개까지는 되니까 혼자 사이드 프로젝트 굴리는 정도면 충분해요.

반대로 API 키가 딱 하나뿐이고 노트북 밖으로 나갈 일 없는 초소형 토이 프로젝트라면, 이거 도입하는 것 자체가 오버엔지니어링입니다. 그냥 `.env`를 `.gitignore`에 넣고 클로드한테 "이 파일 내용은 절대 출력하지 마" 정도로도 충분해요. 1Password도 비슷한 `op://` 참조 패턴을 지원하니, 이미 1Password 쓰고 있으면 굳이 갈아탈 필요는 없습니다 — 핵심은 벤더가 아니라 "값이 아니라 참조를 넘긴다"는 패턴 자체예요.

한계

시크릿을 로컬 .env가 아니라 Doppler 대시보드에서 관리해야 하니 초기 설정 부담이 있고, 프로젝트/컨피그 이름 자체도 결국 모델 컨텍스트에는 노출됩니다(값만 안 보일 뿐). 그리고 팀 플랜부터는 유료(21달러/유저)라 팀 단위로 쓰려면 비용 계산이 필요해요.

출처: https://github.com/DopplerHQ , https://www.doppler.com/pricing

#클로드#MCP#프롬프트#바이브코딩#결제

댓글 0

첫 댓글을 남겨보세요!