MCP?

  • 풀네임 : Model Context Protocol
    • 참고 : Claude를 만든 Anthropic 사에서 만들었음
  • AI를 외부 애플리케이션과 연결하기 위한 표준
  • 공식 Docs에서는 예시로 USB-C를 들고있음
    • 장비와 다른 장비를 연결할 때, USB-C 라는 “표준 포트”를 사용해서 연결 가능한 것 처럼!
  • 출처 : MCP 공식 Docs

MCP의 구조

LLM 과 Agent의 차이

  • MCP의 통신 구조를 알기 전에 잠깐 짚고 넘어가야됨
  • 우리가 흔히 아는 LLM은 모델 하나 자체를 의미함
    • 웹 검색을 한다던가 실제로 뭔가 한다던가 하진 못함. 그냥 언어 모델일 뿐임
  • Agent는 LLM을 통해 해석된 사용자의 요구에 맞게 실제로 행동하는 개체임
  • ex. 내일 아침 11시에 회의가 있어. 구글 캘린더에 추가해줘.
    • LLM : 내일 아침 11시 회의있다고 파악
    • Agent : 구글 캘린더에 내일 아침 11시 일정을 실제로 추가

3-티어 구조

  • MCP는 3-티어 구조를 가지고 있음 호스트, 클라이언트, 서버

호스트

  • 프론트엔드라고 보면 됨
  • MCP 호스트는 흔히 사용자에게 보이는 질문 인터페이스와 LLM (+Agent), MCP 클라이언트를 통합해서 말함

클라이언트

  • LLM 쪽에서, 외부 툴에 대한 연결이 필요한지 체크함
  • 만약에 필요하다는 판단이 나오면 LLM이 이 MCP 클라이언트한테 외부 툴과의 연결을 요구함
  • 그러면 클라이언트가 외부 툴을 MCP 서버를 통해 호출하고 결과를 받아서, 다시 LLM한테 돌려줌

서버

  • 외부 툴이 붙어있음
  • MCP 클라이언트의 요청이 있으면 그 때 데이터를 가져다가 클라이언트한테 보내줌

그래서 그 프로토콜 자체는 어디와 어디를 이어주는지?

  • MCP 클라이언트와 서버 사이에서 쓰이는거임
  • 호스트 자체는 사실 프로토콜을 몰라도 됨. 그 안에 내포된 클라이언트가 알고있는거임
  • 호스트는 외부 툴이 필요할때 그저 클라이언트를 “호출”만 하는거고
  • 클라이언트과 서버가 통신할 때 MCP가 사용됨

MCP 구조도

다음에 할 것

  • 로컬 LLM과 MCP 클라이언트를 합쳐 MCP 호스트 만들어보기