대외활동/강연, 세미나

GDGoC Konkuk 테크톡 발표 후기 - MCP, AI Agent란 무엇일까

Turtle-hwan 2025. 11. 3. 01:20


테크톡 진행 기회를 얻다

학교에서 GDGoC, Google Developer Group on Campus Konkuk 에서 25-26 Core 운영진으로 활동하고 있다. 세션을 기획하던 도중 테크톡을 진행할 수 있냐는 좋은 제안을 받아 MCP와 Agent AI를 주제로 테크톡을 진행하게 되었다.

회사에서 기회가 닿아 MCP를 개발해보기도 했고, 공모전을 위해 MCP를 만들어보기도 했었다.

그리고 MCP가 나오자마자 열심히 이것저것 시도하면서 사용해봤던 유저로서 발표 정도야 금방 준비해서 하겠지라고 생각했었는데, 이는 오판이었다.

지난 글을 작성하면서도 느꼈던 것인데 Agentic AI와 AI Agent도 제대로 구분하지 못하고 있었고, MCP에 대해서도 겉핥기식으로만 만들어봤지 좀 더 깊게 어떤 방식으로 구성되는지는 잘 몰랐는데 이번 기회에 많이 알아볼 수 있었다.

요즘 일이 많기도 하고, 눈 앞에 닥친 일들 해결하기도 버거워서 “빠른” 문제 해결에만 치중하고 있었던 것은 아닌가 반성하게 되었다. 앞으론 원래 하던 대로 빠른 “문제 해결”에 방점을 찍고 깊게 깊게 알아가야겠다.

진행했던 내용을 단락별로 간략히 요약해 작성해보았으며, Youtube에 발표 영상도 올라가는 경험도 할 수 있었다.

https://youtu.be/VGkkZX8T4m4?si=IF_GPayHYzMZxflp


말 잘하는 AI에서 일 잘하는 AI로

초기에는 챗봇이나 GPT, Gemini 같은 LLM이 발전해오며 어떻게 사람같이 대화를 하는가에 좀 더 초점이 맞추어져 있었다. 그런데 어느 순간 추론 능력을 평가하기 시작하더니 AI의 문제 해결 능력, 즉 일 잘하는 AI를 여러 기업에서 만들어나가고 있다.

이런 흐름 속에 Perplexity, 뤼튼, 릴리스AI와 같은 AI를 통해 사용자들이 직면한 문제를 해결해주겠다는 AI SaaS들이 엄청 많이 등장했다. 마찬가지로 Agent, AI Agent, Agentic AI 라는 용어들까지 등장했다.

용어 정의가 생각보다 다양했는데, 참고한 레퍼런스는 다음과 같다.

  • Google Cloud에서는 Bot → AI Assistant → AI Agent로 설명하고 있다.
  • Samsung SDS, IBM, LG CNS의 자료에서는 더 고도화되어 목표도 스스로 정하며 작업을 수행하는 단계를 Agentic AI라 칭하고 있다.
  • Gen AI / Chat bot → AI Agent → Agentic AI 의 단계로 설명한다.

단순한 자연어 대답을 넘어, LLM이 직접 task도 수행하게 하자는 것이다


AI의 진화 : 단순 Chatbot에서 Agentic AI 까지

그러면 각 단계는 어떻게 다른가?

  • Chatbot, GenAI는 Input → Model → Output 단계만 존재하며, 우리의 대화형 입력에 따른 답변을 내놓는다.
  • AI Agent는 Goal → Agent → Tools → Output 단계로 수행하며, 사용자가 준 목표에 따라 다양한 도구(Tools)를 호출하여 작업을 진행한다.
  • Agentic AI는 Objective → Sub-Agents → Tools + Memory → Output 단계로 늘어나며, 주어진 목표(Objective)를 달성하기 위해, Sub Agent들을 두고 자율적으로 세부 목표를 정해 작업을 수행한다.

Agentic AI가 주목받는 이유는 바로 이 자율성이다. 스스로 판단하고 행동하며, 피드백을 받아 반복 수행까지 가능해진다는 점이 큰 장점이라 느껴진다.

다만 이 과정에서 두 가지 큰 질문이 생겨난다.

AI Safety를 어떻게 보장할 것인가

수많은 Tool들을 어떻게 AI가 사용하게 할 것인가


AI가 외부 Tool과 연결되는 규칙, Model Context Protocol

여기서는 Tool들을 AI가 편하게 사용하게 하기 위해 만들어진 MCP 이야기 위주로 하였다.

MCP는 용어가 어려워 보이지만 결국 하나의 서버이며, LLM과 외부 도구를 연결하기 위한 통신 규약, protocol 이라 생각하면 더 쉽게 다가갈 수 있다.

기본적인 작동 과정은 다음과 같다.

  1. 사용자가 자연어로 LLM에 명령을 내린다.
  2. LLM에서 사용자 명령을 해석해 적절한 MCP를 선택하고, 그 중 적절한 툴을 호출한다.
    • LLM을 포함하고 MCP를 지원하는 서비스(VSCode, Cursor, Claude Desktop 등)가 필요
  3. MCP Server가 Tool에 명시된 동작을 한다. 이는 단순히 프롬프트 추가도, 노션이나 슬랙 같은 외부 도구 연결도 가능하다.
  4. LLM이 MCP로부터 받은 응답을 다시 파싱하여 해석하고 답변을 사용자에게 출력한다.

결국 MCP도 하나의 서버 프로세스다

자료를 조사하고 발표를 준비하며 깨달은 것은 결국 MCP도 하나의 서버 프로세스에 불과하다는 사실이다. 이렇게 서버라고 생각하고 보면 더 쉽다.

  • 먼저 사용자와 LLM 서버 간에는 WebSocket, SSE, gRPC 등과 같이 기존 웹 채팅 서버 등에서 쓰이던 것과 동일한 통신 방법들을 사용한다.
  • 이후 LLM Client와 MCP 서버도 흔히 우리가 알고 있는 HTTP POST, WebSocket, SSE, stdio로 통신 가능하다. 특히 이 어떤 type으로 통신할지가 mcp.json type 부분에 명시하는 것이었다!!!
    • 한 가지 특이한 점은 stdio 였는데, C언어 배울 때 나오던 그 stdio 맞다.. Standard Input / Output의 약자이며, 로컬에서 MCP 서버를 돌릴 경우 자식 프로세스로 띄우고 콘솔 IO를 바로 받아 이용한다 해서 신기했다.
  • 그럼 결국 MCP도 서버 프로세스가 띄워지는 것이므로, 외부 도구들과 연동할 때는 해당 도구들에서 제공하는 RESTful한 API를 HTTP로 끌어다 쓰면 그만인 것이었다!


MCP Server의 세 가지 구성요소

  • Tools : LLM이 호출 가능한 도구들이다. 함수라고 생각하면 편하며, 이 안에서 fetch()등으로 원하는 API를 호출하고 응답을 파싱하면 된다.
  • Resources : LLM이 먼저 참고할 수 있게 넣어두는 자료들이라 보면 된다. 주로 markdown을 넣으면 잘 읽어주는 것 같다.
  • Prompts : LLM이 Tool과 Resource를 어떻게 사용할지 정해놓는 템플릿이다.


VSCode에서 MCP 연결 방법

VSCode 기준으로 전역 MCP 설정 및 연결 방법, API token 같은 경우 어떻게 입력 변수로 빼낼 수 있는지를 설명해주었다. 

요즘 MCP 부분도 빠르게 빠르게 추가되고, 사용자가 더 편하게 VSCode를 정말 빨리 업데이트 해주는 것 같다. 오픈소스로 공개되어 있던데 시간 나면 한 번쯤 기여해보고 싶다.

이 설정 파일 사진을 보면 위에서 나왔던 것과 같이 type 부분에 MCP 서버와의 다양한 통신 방법을 명시해둔 것을 볼 수 있다.


후기

MCP도 뜯어보니 우리가 열심히 공부하던 CS 지식들로 모두 설명이 가능했고, 이런 지식들만 알고 구조만 파악하면 세부 코드는 AI의 도움을 받을 수도 있으니, MCP나 여러 서비스들을 금방 만들어낼 수 있었다.

40~50명이 듣는 발표는 생각보다 더 떨렸고 준비에 더 많은 시간을 쏟아야 했다.

또 요소요소를 나열하면서 발표했던 수업이나 프로젝트 때와는 다르게 하나의 기술적 주제를 소개하고 이해시키려는 방향으로 짜다 보니 새로운 발표 경험이었다.

준비하면서 얻은 것들이 아주 많고 성취감을 많이 느껴서 기회가 되면 다양한 주제로 발표를 여럿 해보고 싶다.

 

반응형