소개
9-15일 웹서핑 중 한국투자증권에서 MCP API를 공개했다는 뉴스(https://news.hada.io/topic?id=23084)를 보게 되었어요. 마침 MCP라는 개념도 막 배우던 참이라 반가운 마음에 "나도 이걸로 뭔가 만들어볼까?" 하는 생각이 들었죠.
요즘 주식시장도 활황이니, 너무 복잡한 기능 말고 간 단한 MVP로 시작해보자 싶었어요. 그래서 선택한 주제는 바로!
"오늘 상승률 상위 10개 종목의 PER, PBR 비교해줘"
👉 잠깐 여기서 PER과 PBR은 주식 투자자들이 많이 참고하는 대표적인 지표예요.
PER (Price to Earnings Ratio, 주가수익비율): 주가를 주당순이익(EPS)으로 나눈 값입니다.
낮을수록 현재 주가가 이익에 비해 저렴하다고 판단되어 저평가로 보기도 해요.
단, 업종에 따라 '적정 PER'이 다르기 때문에 비교 기준이 중요해요.
PBR (Price to Book Ratio, 주가순자산비율): 주가를 주당순자산(BPS)으로 나눈 값입니다.
1 이하이면 보통 '자산가치보다 싸다'고 해석되며, 저평가로 인식되곤 해요.
반대로 너무 낮으면 사업성 자체에 의심을 받는 경우도 있으니 주의가 필요합니다.
GPT랑 상의해서 PRD도 작성하고, 바로 실전 개발에 들어갔습니다 💪
진행 방법
사용한 도구들
💻 개발툴: React + Vite, Git, GitHub, Cursor, ClaudeCode
🧠 gpt 도움: 대화내용
🎨 디자인: Google AI Studio 앱 빌더 (앱 링크 - Google AI Studio에서 만든 디자인 보기)
📡 데이터/API: 한국투자 MCP API 공식 문서 보기
작업 흐름
PRD 작성: GPT 도움 받아
주식 Top10 PER/PBR 비교 웹앱PRD를 작성함📑 PRD: 주식 Top10 PER/PBR 비교 웹앱 1. 배경 및 목적 투자자들은 매일 시장 상위 종목(시가총액 기준)의 핵심 지표를 빠르게 확인하고 싶어 함. 특히 PER(주가수익비율) 과 PBR(주가순자산비율) 은 가장 기본적이면서도 직관적인 투자 지표임. 본 웹앱은 MCP 서버(예: KIS API 기반 MCP, Paper Trading MCP 등)를 통해 데이터를 불러와 단순 비교 차트로 제공하는 MVP. 2. 주요 목표 MCP 서버와 연동하여 오늘의 Top10 종목 데이터를 확보 각 종목의 PER, PBR 지표를 조회 직관적인 막대 차 시각화로 제공 사용자는 별도의 클릭 없이 페이지 접속 시 즉시 결과 확인 가능 3. 사용자 시나리오 투자자 A는 웹페이지에 접속 → “오늘의 Top10 PER/PBR 비교”라는 타이틀 확인 → 두 개의 막대 차트(PER, PBR)를 통해 상위 10개 기업의 상대적 밸류에이션을 한눈에 파악. 추가 기능: 표 형태로 원자료(티커, 종목명, PER, PBR) 제공. 4. 기능 요구사항 데이터 수집 MCP Tool: list-top10 → 오늘의 상위 10개 종목 티커 반환 MCP Tool: get-fundamentals → PER, PBR 데이터 반환 Mock 데이터 fallback 지원(실서버 연결 전용) 데이터 처리 PER, PBR 값이 없는 경우 null → 0으로 치환 또는 “-” 표시 상위 10개만 추려서 배열화 프론트엔드(UI) 헤더: “오늘의 Top10 PER/PBR 비교” 차트 영역 차트 1: PER 막대그래프 차트 2: PBR 막대그래프 표 영역 종목코드, 종목명, PER, PBR 표시 성능/보안 데이터 호출은 서버사이드 API 라우트에서 MCP 호출 후 JSON 반환 API Key 등 민감 정보는 .env 관리 5. 기술 요구사항 프론트엔드: Next.js(App Router), TailwindCSS, Recharts 백엔드: MCP 클라이언트 SDK (@modelcontextprotocol/sdk), API Route MCP 서버: KIS API 기반 MCP (실거래/실데이터) Open Paper Trading MCP (가상매매/테스트용) 6. 비기능 요구사항 단순성: 페이지 진입 즉시 결과 표시 (별도 검색/입력 불필요) 확장성: 향후 Top20, 다른 지표(ROE, EPS 등) 비교 기능 추가 가능 이식성: MCP 서버만 교체하면 해외 데이터/모의투자 데이터로 확장 가능 7. 성공 지표 (KPI) 초기 MVP: “페이지 로딩 시 Top10 PER/PBR 비교가 정상적으로 표시되는가?” 사용자 관점: “3초 이내에 데이터가 로딩되고 시각화되는가?”디자인: 구글 AI Studio에서 초안 생성 → 너무 어두워서 톤 변경 요청함
Git 연동: 구글 스튜디오 코드를 GitHub에 연결하고 Cursor에서 레포 불러옴
개발 시작: ClaudeCode에게 프롬프트 주며 단계별로 작업 진행
한투증권 MCP 설치: 터미널 명령어 안돼서 Claude 채팅창에 설치 명령어 줌 → 설치 완료
claude mcp add --transport http kis-open-api-kis-code-assistant-mcp "https://server.smithery.ai/@KISOpenAPI/kis-code-assistant-mcp/mcp"Cisco Cisco Cisco Cisco Cisco의 로그인 화면 스크린 샷
API 연동: MCP API 연동 시도 → 데이터 수집 및 처리
문제 해결: 데이터 오류, 화면 미표시, 값 누락 등 반복 디버깅
.env 설정: API Key 환경변수로 이동 후 재실행
실데이터 적용: 삼성전자, SK하이닉스 등 실제 PER/PBR 값으로 비교 성공
클로드 코드 주요 프롬프트 전체
>cluade.md파일에 규칙을 설정할 거야. 중요한 업데이트가 있으면 별도의 파일을 만들어서 기록하고 업데이트해
> git 초기화 해줘
> @stock_top10_per_pbr_prd.md 파일 따라 순차적으로 개발을 시작하고 깊게 생각하면서 해줘. 필요한게 있으면 나에게 물어보고, todo.md파일에 니가 한 일을 기록하면서 해줘
> 현재 React+Vite 구조를 유지하고 서버를 활용해서 실제 주식정보를 가져와.
> 지금 단계까지 내용을 실행해 보자
> 이게 현재 데이터를 불어온거 맞아?
> 연동해
> [Image #1]화면이 보이지 않는다. 해결해라
> 데이터 연동이 안되는거 같아. 삼성전자는 per는 17.1 이고 pbr은 1.3이야 오류를 찾아서 해결해
> 한국투자 코딩도우미 Mcp 가 현재 시가 총액 상위 10개 항목의 per과 pbr을 불러오지 못하고 있다. 오류의 원인을 찾아서 해결해라
> 리액트 서버를 실행해 보면 여전히 주식정보를 제대로 불러 오지 못하는 오류가 있어 sk하이닉스의 per는 8.4 pbr은 2.6야 오류를 수정하라
> mock 데이터 사용하지 말고 api를 통해서 불어온 데이터를 받아와
> .env에 api키를 넣었다. 서버를 재실행 하라
> [Image #1]서버를 실행하면 데이터가 나오지 않거나 부정확한 정보가 표현된다. api가 연동이 된것인지 확인하고 종목의 per와 pbr을 정확하게 불러와라.
> 좋아. api는 잘 불러왔다. 그럼 이제 이전 날짜도 종가를 기준으로 per와 pbr을 검색하는 기능을 만들어라결과와 배운 점
.env설정의 중요성을 느낌 😅 (API 키 미설정으로 한참 헤맴)--이미 prd에 적혀있었지만, 몰랐음~ㅎㅎ prd의 꼼꼼한 검토의 중요성!!!!한국투자 MCP API 사용하려면 계좌 개설 필수 → 뜻하지 않게 주식계좌 실제 개설함
Git vs GitHub: Git은 로컬, GitHub는 클라우드라는 개념적 차이 확실히 이해함. 로컬에 저장한 내역입니다. 아직 git허브에 push는 하지 않은 상태~
문자 메시지에서 키릴 문자를 변경하는 방법에 대한 스크린 샷
서버를 실행하기 전에 api서버도 실행을 해야하나봐요~주식정보를 잘 못불어와서 다시 불어오라고 하니까 api서버를 실행해야 한다네요~이거 매번 자동으로 api서버 실행안하면 불편할것 같긴한데, 우선 mvp니~별도 수정은 안했습니다.
한국어의 스크린 샷
실제 데이터 기반 웹앱 만들기 완성!
API 호출 시 실시간 주의: 서버 실행만 해도 문자 계속 옴 (토큰 발급 알림)