Claude Code로 Claude가 직접 구직 활동을 하고 지원까지 해주는 MCP 서버를 만들었습니다. 개발 과정과 배운 점을 공유합니다.
I built an MCP server with Claude Code that lets Claude search and apply to jobs. Here’s how the build went (and what you can learn)
핵심 요약
Claude Code를 활용해 구직 검색, 이력서 최적화, 자동 지원 기능을 갖춘 MCP 서버를 개발한 사례입니다.
- MCP 서버 개발 — Claude Code를 사용하여 웹 앱과 연동되는 구직 자동화 도구를 구축함
- 기능 구현 — 이력서 매칭, 맞춤형 이력서 생성, 기업 사이트 자동 지원 기능 제공
- 개발 전략 — 메가 PR 시리즈 도입과 철저한 테스트를 통해 안정적인 기능 배포
- 사용자 피드백 — 초기 파워 유저들의 피드백을 반영하여 지속적으로 기능을 개선함

지난 8월, 아내가 Indeed에서 해고당한 뒤 Claude Code로 만들기 시작한 구직 플랫폼에 대해 여기 글을 올렸었지.
그 뒤로 가장 많이 들은 질문이 "멋지네, 근데 이거 Claude 안에서 바로 쓸 순 없어?"였어. 그래서 이번에도 거의 Claude Code만 써서 MCP 서버를 구축했다. 지난주 목요일에 출시했는데 벌써 사용자 450명에 일일 활성 사용자 75명을 찍었네. X(트위터)에 공지 올린 이후로는 유료 구독자(오토파일럿 기능 사용자) 100명당 인터뷰 83건이 성사되고 있어. 꽤 괜찮은 결과물이라 공유하고 싶었음.
이게 뭘 하는 거냐면
MCP를 추가하면 즉시 무료로 채용 데이터베이스를 검색할 수 있어. 이력서를 넣어서 매칭되는 공고를 확인하고, 맞춤형 이력서를 만들고, 네가 승인하면 우리 백엔드가 고용주 사이트에 직접 지원까지 해줘. 에이전트가 매일 새로운 매칭 정보를 가져오도록 스케줄을 설정할 수도 있어(우리는 하루에 약 15,000개의 새 일자리를 긁어오거든).
전부 Claude로만 만든 방법 (너도 따라 할 수 있음)
-
웹 앱과 MCP를 위한 통합 기능 목록 만들기. Claude Code로 Dreamwork 웹사이트에서 사용자가 할 수 있는 모든 기능을 담은 타입 레지스트리를 만들었어. 각 MCP 도구는 이 레지스트리에서 생성되니까 웹 앱에 기능을 추가하면 MCP에도 바로 반영돼. 만약 특정 기능을 MCP에서 일부러 제외하려면 코드에 그 이유를 명시해야 하고, 안 그러면 컴파일 자체가 안 되게 해놨음.
-
첫날부터 메가 PR 시리즈로 시작하기. 웹 앱을 기반으로 내가 원하는 서버 구조를 설명하는 핸드오프 문서를 작성했어. Claude Code가 이걸 12개의 PR로 쪼갰는데, 검색, 지원 준비, 적합성 검사, 문서 처리, 제출, 받은 편지함 등 기능별로 하나씩 나눴지. 각 PR은 실제 Postgres 데이터베이스를 대상으로 통합 테스트를 돌렸어.
-
OAuth를 적용한 호스팅 버전 만들기. Claude Code가 HTTP 서버랑 OAuth 2.1 로그인 흐름(동적 클라이언트 등록 및 PKCE)을 다 짰어. 그래서 API 키를 복사해서 붙여넣을 필요 없이 claude.ai에서 바로 커넥터로 추가할 수 있어. 참고로 검색 기능을 쓰려면 Anthropic에 커넥터를 제출해서 승인을 받아야 커넥터 라이브러리에 뜰 수 있는데, 이게 필수 선행 조건이야.
-
채팅 UI에서 할 수 있는 것과 없는 것 구분하기. PDF 서식을 유지하면서 수정된 이력서를 사용자에게 어떻게 전달할지가 관건이었어. 결국 10분 동안만 유효한 다운로드 링크를 제공하기로 결정했지. 우리가 인터뷰 성공률을 높이려고 쓰는 특수 서식들이 로컬 에이전트를 거치면 다 깨져버리더라고.

