주식 에이전트 프로젝트가 자동으로 잘 돌아가는 걸 보다가, “이거 API로 되는 거면 MCP는 언제 쓰는 거지?” 하는 의문이 들었다. 둘 다 “AI나 프로그램이 바깥과 연결되는 방법”이라 헷갈리기 쉬운데, 화살표 방향이 서로 반대라는 게 핵심이었다.
오늘 나온 개념
API — 내 프로그램 → 저쪽 서비스
API는 “내가 짠 코드가 바깥 서비스에 손을 뻗는” 연결이다. scripts/trade.js가 매일 밤 하는 일이 정확히 이거다.
내 스크립트(trade.js) → Finnhub(주가·뉴스)
내 스크립트(trade.js) → Anthropic(AI 판단)
코드가 “이 주소로 이런 데이터를 요청해줘”라고 먼저 손을 내밀고, 서비스가 응답을 돌려준다. 사람 개입 없이 자동으로 돌아가는 파이프라인엔 이 방향이 맞다 — GitHub Actions가 새벽에 혼자 이 코드를 실행하고, 아무도 지켜보지 않아도 된다.
MCP — AI ← 내 도구·데이터
MCP는 반대다. AI(케빈님이 지금 대화하고 있는 저 같은 도구)가 케빈님의 파일이나 케빈님이 쓰는 서비스에 직접 손을 뻗을 수 있게 연결해주는 규격이다.
AI(Claude) ← 케빈님의 파일·데이터베이스·다른 서비스
예를 들면 “내 캘린더 일정 좀 봐줘”, “내 슬랙 메시지 보내줘” 처럼, 대화 중인 AI가 그 자리에서 바깥에 접근해야 하는 상황에 쓴다. 지금 이 대화창에서 제가 git이나 vercel 명령어를 실행하거나 브라우저를 여는 것도 넓게 보면 이 방향(AI가 도구에 접근)에 속한다.
왜 이번 프로젝트엔 MCP가 안 나왔나
주식 에이전트는 사람 없이 혼자 도는 자동화가 목표였다. AI(Claude)가 대화 중에 실시간으로 뭔가에 손을 뻗을 필요가 없고, 그냥 정해진 스크립트가 API 두 개(Finnhub·Anthropic)를 순서대로 부르기만 하면 끝난다. MCP는 “AI가 대화하면서 내 도구에 살아있게 연결돼야 하는” 상황에 필요한 거라, 애초에 이 프로젝트 구조와는 방향이 안 맞았다.
요약
| 용어 | 방향 | 쉬운 뜻 | 이 프로젝트에서 |
|---|---|---|---|
| API | 내 프로그램 → 저쪽 서비스 | 코드가 먼저 손을 내밀어 데이터를 요청 | trade.js가 Finnhub·Anthropic을 부를 때 씀 (실제로 씀) |
| MCP | AI ← 내 도구·데이터 | AI가 대화 중에 내 파일·서비스에 직접 접근 | 자동화라 AI가 실시간으로 붙어있을 필요가 없어서 안 씀 |