MCP, AI 적응기

LSH·2025년 6월 24일
post-thumbnail

개요

여전히 AI에 관심이 뜨거운 가운데, 요즘은 개발자들 사이에서 MCP라고 하는 기술이 많이 언급되고 있다.
MCP란 무엇인지 학습해보고, 직접 사용해보려고 한다.

MCP 사전 조사

MCP란?

MCP, Model Context Protocol은 2024년 11월 Claude로 유명한 Anthropic에서 발표한, LLM Agent가 다른 프로그램과 연동하기 위한 프로토콜이다.(https://www.anthropic.com/news/model-context-protocol)

쉽게 말해서 프롬프트로만 정보를 전달하는 것이 아닌 Conext(문맥, 상황)로 AI에게 질의하는 것이다.
그럼 AI에게 어떻게 Context로 정보를 전달해줄 수 있을까? MPC 구조를 살펴보면 이해하기 쉽다.

MCP 구조

MCP 개발 가이드의 introduction에서는 USB 포트라는 좋은 비유로 이를 설명합니다.

MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

MCP는 애플리케이션이 LLM에 컨텍스트를 제공하는 방법을 표준화하는 개방형 프로토콜입니다. MCP를 AI 애플리케이션을 위한 USB-C 포트처럼 생각해 보세요. USB-C가 다양한 주변 장치와 액세서리에 장치를 연결하는 표준화된 방법을 제공하는 것처럼, MCP는 AI 모델을 다양한 데이터 소스와 도구에 연결하는 표준화된 방법을 제공합니다.
출처 : modelcontextprotocol.io

MCP는 크게 Host, Client, Server가 존재한다.

Host

MCP를 통해 데이터에 접근하려는 프로그램들 (Claude Desktop, IDEs, AI tools, ...)

Client

Host-Server 간 중간 다리 역할로, 서버와 1:1 연결을 유지, 요청을 프로토콜 형식으로 번역

Server

실제로 작업을 수행하는 도구 실행기

그림으로 보면 더 이해하기 쉬울 것이다.

MCP가 필요한 이유?

기존 방식의 한계

  • 각각 도구에 맞게 커스텀 코드가 필요
  • AI 모델마다 연동 방식이 달라 중복 개발이 많음
  • 다양한 도구를 한 번에 연동하기 어려움

MCP 도입 효과

  • 어떤 도구든 표준화된 방식으로 연결 가능
  • 어떤 AI모델(GPT, Claude 등)이든 동일한 방식으로 호출 가능
  • 다양한 도구들에 대해 쉽게 확장 가능

MCP 연동

대부분의 LLM(AI Model)에서는 유료 요금제에서 MCP 연결을 지원한다.
필자는 GitHub Copilot 유로 버전을 사용하고 있기 때문에 IntelliJ IDEA + GitHub Copilot + Notion으로 간단하게 적용해보았다.

먼저 GitHub Copilot Docs를 참고하여 IntelliJ IDEA에서 MCP 서버 구성을 해보자.

이제 mcp.json에 MCP 서버를 정의해야 한다.
Model Context Protocol Servers에 다양한 서버를 정의하는 방법이 정리되어있다.

위 사진의 예시 코드가 IntelliJ IDEA에서 코드 정보를 제공하기 위핸 MCP 서버 정의이다.
이를 적용하기 위해선 플러그인 설치를 해줘야한다.

다음으로 Notion은 Notion Integration에서 API를 발급받고 접근 범위 및 기능을 정의하고, 해당 API를 사용할 수 있게 Notion Template에서 connection을 연결해주어야 한다. 해당 README에 잘 정리되어 있어 방법은 생략.

최종적으로 IntelliJ IDEA에서 현재 프로젝트의 코드 정보와, Notion에 대한 MCP 정의를 위한 JSON 파일이 완성됐다.

{
  "servers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    },
    "notion": {
      "command": "npx",
      "args": ["-y", "@suekou/mcp-notion-server"],
      "env": {
        "NOTION_API_TOKEN": "ntn_***"
      }
    }
  }
}

MCP 테스트

연동이 잘 됐다면 다음과 같이 Agent항목에서 톱니바퀴 모양의 설정과, Add Context 버튼을 확인해볼 수 있다.


테스트를 위해 이전에 진행한 개인 프로젝트에서 API를 정리해서 Notion에 정리해달라고 요청해보았다.

Notion에서는 다음과 같이 정리되어 있다.

느낀점

단순 정리 뿐만 아니라 매번 필요한 코드를 복붙할 필요 없이 컨택스트만 설정해주면 빠르게 질의할 수 있어 매우 편리하여 개발자들의 편의, 생산성을 크게 증가시켜주는 기능인 것 같다.
요즘 AI 빠르게 발전하면서 개발자들의 실력이 상향평준화되고, 개발 속도 및 생산성을 크게 증가시켜주고 있다.
아직까진 AI가 개발자를 대체하지 못한다고 생각하지만, AI를 적응하지 못한다면 금방 도태될 것 같다.

0개의 댓글