본문으로 건너뛰기
H
Harness 101
학습 경로/Act 2 — 성장/09. MCPs
Tools·중급·60분

섬에서 대륙으로

“표준화된 프로토콜로 모든 외부 서비스를 툴로”

MCPs — 섬에서 대륙으로

이전 이야기에서: 지민은 Rules로 350줄 CLAUDE.md를 7개 파일로 해체했다. 코딩 스타일, 보안, 테스트, Git — 각각 독립적으로 관리되고, 필요할 때만 로드된다. 코드베이스 안에서 Claude는 전능해졌다. 그런데...

Harness = Tools + Knowledge + Context + Permissions

MCPs는 Tools 레이어를 외부 세계까지 확장한다. "표준화된 프로토콜로 모든 외부 서비스를 툴로"


"저는 접근할 수 없어요"

소연의 슬랙 메시지가 울렸다.

소연: 투자자 미팅이 잡혔어. 3주 후. 외부 서비스 연동 필요한 것들 정리해줘.

지민이 Stripe 결제 연동 버그를 고쳤다. 테스트도 통과했다. 자연스럽게 말했다.

나: 이 버그를 고쳤으니까 관련 GitHub 이슈 닫아줘
Claude: 저는 GitHub에 접근할 수 없어요.

나: 작업 완료됐으니까 Jira 티켓 Done으로 바꿔줘
Claude: 저는 Jira에 접근할 수 없어요.

나: 이 데이터로 분석해줘 (DB 조회)
Claude: 저는 데이터베이스에 접근할 수 없어요.

Claude는 로컬 파일 시스템 안에서만 살았다. 외부 세계는 벽 너머였다.

개발자들은 그 벽을 넘고 싶었다. 그런데 각 서비스마다 다른 API, 다른 인증 방식, 다른 데이터 형식... 매번 새로 붙이는 건 엄청난 작업이었다.

"표준화된 방식으로 외부 서비스를 Claude 툴로 만들 수 없을까?"


해결책의 탄생: "프로토콜을 만들자"

Agent Loop(Ch01)에서 배운 것을 떠올려보자. Claude는 "도구 목록"을 보고 필요한 도구를 골라 쓴다. MCP는 이 도구 목록에 외부 서비스 도구를 추가하는 것이다.

Claude가 쓸 수 있는 도구 목록:

MCP 이전:
  Read     → 파일 읽기
  Write    → 파일 쓰기
  Bash     → 터미널 실행
  ↑ 여기까지. 로컬 파일시스템만.

MCP 이후:
  Read     → 파일 읽기                    ← 원래 있던 것
  Write    → 파일 쓰기                    ← 원래 있던 것
  Bash     → 터미널 실행                  ← 원래 있던 것
  github__create_issue  → GitHub 이슈 생성 ← MCP가 추가!
  jira__close_ticket    → Jira 티켓 닫기  ← MCP가 추가!
  slack__send_message   → Slack 메시지    ← MCP가 추가!

Claude 입장에서는 차이가 없다. Read로 파일을 읽든, github__create_issue로 이슈를 만들든, 같은 "도구 사용" 메커니즘이다. 새로운 학습이 필요 없다. 도구 목록이 늘어났을 뿐.

Anthropic은 **Model Context Protocol (MCP)**을 발표했다.

핵심 아이디어: 외부 서비스가 "MCP 서버"를 구현하면, Claude가 표준화된 방식으로 그 서비스를 툴로 쓸 수 있다.

비유하자면:

  • USB 이전: 프린터마다 다른 포트, 다른 드라이버
  • USB 이후: 모든 기기가 USB 하나로 연결됨

MCP는 AI와 외부 서비스 사이의 USB다.