내 운동 기록, AI랑 대화하면서 분석할 수 없을까?
가민(Garmin) 워치를 쓰신다면 매일 엄청난 양의 데이터가 쌓인다는 걸 아실 거예요. 러닝 페이스, 심박수, 수면 점수, HRV(심박 변이도, 몸이 얼마나 회복됐는지 보여주는 지표), 스트레스 지수까지요. 그런데 “최근 석 달 동안 잠을 잘 잔 다음 날 러닝 페이스가 정말 더 좋았나?” 같은 질문을 하고 싶으면, 앱 화면을 이리저리 넘겨보는 것 말고는 마땅한 방법이 없거든요.
이번에 소개할 글은 한 개발자가 이 답답함을 풀려고 가민 데이터를 AI 어시스턴트에 연결해본 경험담이에요. 제목에서 MCP에 따옴표를 붙여둔 게 재밌는데요, 교과서대로 MCP 서버를 만들었다기보다 실용적인 방식으로 비슷한 효과를 냈다는 뉘앙스로 읽혀요. 이 글을 계기로 MCP가 뭔지, 그리고 개인 데이터를 AI에 연결할 때 뭘 고민해야 하는지 같이 정리해볼게요.
MCP가 뭐냐면
MCP(Model Context Protocol)는 Anthropic이 2024년 말에 공개한 개방형 표준이에요. 쉽게 말하면 AI용 USB-C 포트라고 생각하시면 돼요. 예전엔 기기마다 충전 단자가 달라서 케이블을 여러 개 들고 다녀야 했잖아요? AI 앱도 비슷했어요. 외부 데이터나 기능을 붙이려면 앱마다 연동 코드를 따로 짜야 했거든요. MCP는 이 연결 방식을 하나로 통일한 규격이에요.
구조는 단순해요. 데이터를 가진 쪽이 MCP 서버를 만들어서 “나는 이런 도구들을 제공해”라고 알려주면, Claude Desktop이나 Claude Code, Cursor 같은 MCP 클라이언트가 거기에 접속해요. 도구마다 이름, 설명, 입력값 형식이 정해져 있고, AI는 대화하다가 필요하다고 판단하면 알아서 그 도구를 불러요. 예를 들어 get_activities(start_date, end_date)라는 도구가 있다고 해볼게요. 사용자가 “지난주 운동 정리해줘”라고 하면 AI가 날짜를 계산해서 이 도구를 호출하는 식이에요.
가민 데이터를 가져올 때 만나는 현실적인 벽
첫 번째 벽은 데이터를 가져오는 방법이에요. 가민에도 공식 개발자 프로그램이 있긴 하지만 기본적으로 기업 파트너용이라서, 개인이 취미로 쓰기엔 문턱이 높아요. 그래서 커뮤니티에서는 웹 로그인 과정을 흉내 내는 비공식 라이브러리(파이썬의 garminconnect 같은)를 많이 써요.
비공식 방식은 편하지만 위험도 있어요. 가민이 내부 구조를 바꾸면 언제든 깨질 수 있고, 계정 비밀번호를 어딘가에 보관해야 하고, 너무 자주 요청하면 계정에 제한이 걸릴 수도 있거든요. 서비스 약관도 한 번쯤 확인해보세요.
대안도 있어요. 가민 계정에서 데이터 내보내기를 하거나 활동 원본 파일(FIT 파일)을 내려받아 로컬에서 처리하는 거예요. 실시간성은 떨어지지만 훨씬 안정적이에요.
직접 만든다면 이렇게 설계해보세요
이런 프로젝트에서 가장 흔한 실수는 원본 데이터를 그대로 AI에게 던지는 것이에요. 러닝 한 번만 해도 심박수와 GPS 좌표가 초 단위로 찍혀서 데이터 포인트가 수천 개나 되거든요. 이걸 그대로 넘기면 AI의 컨텍스트(한 번에 기억할 수 있는 대화 분량)를 순식간에 잡아먹고 비용도 늘어나요. 그래서 도구가 돌려주는 값은 킬로미터별 평균 페이스나 구간별 평균 심박처럼 요약된 형태로 만드는 게 좋아요.
로컬 캐시도 추천해요. 가민에서 받아온 데이터를 SQLite 같은 작은 데이터베이스에 저장해두고, 도구는 그 DB만 조회하게 만드는 거예요. 매번 로그인할 필요가 없으니 빠르고, 가민 서버에 주는 부담도 줄어요. 한 발 더 나가면 MCP 서버 없이 이 SQLite 파일을 코딩 에이전트에게 주고 “SQL로 분석해줘”라고 시킬 수도 있어요. 요즘 AI는 SQL을 꽤 잘 짜거든요.
업계 흐름은 어떤가요
웨어러블 업계도 AI 분석 기능을 앞다퉈 넣고 있어요. 스트라바(Strava), 우프(Whoop), 오우라(Oura) 같은 서비스가 AI 코치나 인사이트 기능을 내놨고, 가민도 유료 구독 서비스에 AI 기반 분석을 더하는 쪽으로 움직이고 있어요.
그래도 직접 만들어볼 이유가 있어요. 바로 질문의 자유도예요. 공식 기능은 회사가 정해둔 질문에만 답하지만, 내가 만든 연결은 가민 데이터를 캘린더 일정이나 식단 기록 같은 다른 데이터와 섞어서 분석할 수도 있거든요. “야근이 많았던 주에 수면 점수가 얼마나 떨어졌지?” 같은 질문은 공식 앱이 대답해주지 않아요.
한국 개발자에게 주는 시사점
MCP를 공부해보고 싶은데 뭘 만들지 막막하셨다면, 이런 내 데이터 연결 프로젝트가 딱 좋은 입문 과제예요. 범위가 작고, 결과물을 내가 매일 쓰게 되니까 동기부여도 확실하거든요. 가민 대신 삼성헬스 내보내기 데이터, 가계부, 독서 기록처럼 뭐든 응용할 수 있어요.
다만 건강 데이터는 민감한 개인정보라는 걸 꼭 기억하세요. 클라우드 기반 AI를 쓰면 그 데이터가 외부 서버로 전송되거든요. 마음에 걸린다면 로컬 모델을 쓰는 것도 방법이에요. 비밀번호 같은 인증 정보는 코드에 직접 적지 말고 환경 변수나 OS 키체인에 보관하는 습관도 들이세요.
마무리
한 줄 정리: 거창한 서비스가 아니어도, AI가 내 데이터를 꺼내 쓸 수 있게 연결하는 순간 그 데이터의 쓸모가 완전히 달라져요.
여러분이라면 어떤 개인 데이터를 AI에 연결해보고 싶으신가요? 그리고 건강 데이터처럼 민감한 정보를 클라우드 AI에 넘기는 건 어디까지 괜찮다고 보시나요?
🔗 출처: Hacker News