MCP - 클로드야, 내 노션에 글 써줘

김소희·2025년 12월 2일

이번 포스팅에서는 MCP(Model Context Protocol)에 대해 알아보자.

근래에 많은 회사에서 나같은 웹 개발자들에게 요구하는 사항은
AI 모델을 직접 훈련시키는 머신러닝 기술보다
AI를 비즈니스에 접목시키는 MCP 서버 구축과 같은 역할이라고 생각한다.

AI를 다룰 때 중요한 것은 구현 코드보다는 이론적인 배경 지식이다.
MCP가 무엇인지, 청크나 RAG는 무엇인지와 같은 개념적 이해가 실제 구현보다 선행되어야 한다.

사람들은 귀찮은 작업을 LLM이 대신 해주기를 바란다.
이제는 정보 제공을 넘어 실질적인 업무 비서로 진화하고 있는데, 그 중심에 바로 MCP가 있다.

MCP는 AI 애플리케이션의 자율성을 강화하는 방향으로 설계되었다. AI가 사용 가능한 도구를 스스로 발견하고 적절히 활용할 수 있도록 지원하여, 복잡한 작업 흐름을 자동으로 구성할 수 있게 한다. 이는 단순한 명령 실행을 넘어 자율적 에이전트로 발전할 수 있는 기반을 제공한다.


MCP의 도입 배경

LLM은 뛰어난 대화 능력을 가졌지만, 실시간 데이터 조회, 외부 시스템 제어, 파일 수정 및 삭제와 같은 실제 작업을 수행하는 데에는 한계가 있었다. 이러한 한계를 극복하기 위해 2024년 11월, Claude를 개발한 Anthropic은 MCP라는 혁신적인 프로토콜을 발표했다.

MCP는 AI 애플리케이션과 외부 시스템 간의 상호작용을 위한 표준화된 방식을 제공하여, AI가 다양한 데이터 소스와 도구에 접근할 수 있는 길을 열었다.

MCP의 가장 중요한 특징은 상호운용성을 최우선으로 한다는 점이다. 특정 AI 모델이나 플랫폼에 종속되지 않는 범용 오픈소스 표준을 지향하여, 한 번 구현하면 모든 MCP 호환 AI 애플리케이션에서 사용할 수 있도록 설계되었다. 이는 개발자들이 겪어왔던 플랫폼별 중복 개발의 문제를 해결하는 핵심 요소다.


MCP란

MCP를 한 문장으로 요약하면 다음과 같다.

MCP는 AI 애플리케이션이 외부 도구와 데이터 소스에 접근할 수 있도록 하는 표준화된 통신 프로토콜이다.

MCP는 AI 애플리케이션(예: Claude Desktop, Cursor IDE 등)이 다양한 데이터 소스와 도구에 안전하고 표준화된 방식으로 연결될 수 있도록 해주는 프로토콜이다. 쉽게 말해, AI 애플리케이션과 외부 시스템을 이어주는 표준화된 다리라고 할 수 있다.

기존 방식의 문제

기존에는 각 AI 애플리케이션마다 도구 연동 방식이 달랐다.
OpenAI는 Function Calling, Anthropic은 Tool Use라는 이름으로 각자의 방식을 제공했다. 개발자는 같은 기능을 여러 플랫폼에 맞춰 각각의 API, 라이브러리, 권한 처리를 중복 구현해야 했다.

데이터베이스 연결, 사내 문서 검색, 캘린더 확인 등 각 기능마다 별도의 통합 작업이 필요했기에 코드도 복잡하고, 보안 관리가 어렵고, 서비스마다 중복 작업이 발생하는 문제가 있었다.

MCP는 이런 파편화를 해결한다. 한 번 MCP Server를 만들면 Claude Desktop, Cursor, Windsurf 등 모든 MCP 호환 애플리케이션에서 사용할 수 있다. 마치 USB 표준이 다양한 기기를 하나의 인터페이스로 연결하는 것처럼, MCP는 AI 도구 통합의 표준이 되고 있다.

MCP의 해결책

  • 하나의 표준 프로토콜로 AI 애플리케이션과 외부 자원을 연결한다
  • 모든 연결이 일관된 방식으로 이루어져 개발과 유지보수가 쉬워진다
  • 한 번 만든 MCP 서버는 다양한 AI 애플리케이션에서 재사용할 수 있다

MCP의 핵심 구성 요소와 동작흐름

MCP 생태계는 HostServer라는 두 가지 핵심 주체로 구성되며, 이들 사이를 MCP 프로토콜이 연결한다.

Host: 사용자와 AI의 접점

Host는 사용자가 직접 상호작용하는 AI 애플리케이션이다. Claude Desktop, Cursor IDE, Windsurf 같은 도구들이 Host의 역할을 한다.

Host는 사용자의 요청을 받아 어떤 도구가 필요한지 판단하고, 적절한 Server들과 연결을 조율한다. 예를 들어 사용자가 "지난주 매출 데이터를 분석해서 마케팅 보고서를 만들어줘"라고 요청하면, Host는 이 작업을 위해 다음과 같은 Server들이 필요함을 파악한다.

  • 데이터베이스 Server: 매출 데이터 조회
  • 분석 도구 Server: 데이터 처리 및 통계 분석
  • 문서 생성 Server: 보고서 작성

Host의 핵심 역할은 컨텍스트 관리다. 대화의 맥락을 유지하며 여러 Server들과의 상호작용 과정에서 얻은 정보들을 종합하고, 사용자에게 일관된 경험을 제공한다. 데이터베이스에서 가져온 원시 데이터를 분석 도구로 처리하고, 그 결과를 보고서 형태로 정리하는 전체 과정을 매끄럽게 연결한다.

Host 내부에는 MCP Client라는 통신 계층이 포함되어 있다. Client는 Host와 Server 사이의 프로토콜 변환을 담당한다. Host가 "매출 데이터가 필요해"라고 요청하면, Client가 이를 MCP 표준 메시지로 변환해서 해당 Server에 전달한다.

Server: 실제 작업을 수행하는 전문가

Server는 특정 도메인의 전문 지식과 도구를 제공한다. 데이터베이스 Server는 데이터 저장과 조회를, 이메일 Server는 메시지 송수신을, 분석 Server는 복잡한 계산과 시각화를 담당한다.

각 Server는 독립적으로 개발되고 배포될 수 있으며, 자신이 제공하는 기능을 명확히 정의한다. Server는 크게 세 가지 기능을 제공한다.

1. Resources (리소스)
Server가 제공하는 데이터나 컨텍스트다. 예를 들어 파일 시스템 Server는 특정 디렉토리의 파일 목록을, 데이터베이스 Server는 테이블 스키마 정보를 제공한다.

2. Tools (도구)
Server가 실행할 수 있는 작업들이다. 데이터베이스 쿼리 실행, 파일 읽기/쓰기, API 호출 등이 해당된다. Host는 이 도구들을 호출하여 실제 작업을 수행한다.

3. Prompts (프롬프트)
재사용 가능한 프롬프트 템플릿이다. 특정 작업에 최적화된 프롬프트를 Server가 제공하면, Host가 이를 활용하여 더 나은 결과를 얻을 수 있다.

흥미로운 점은 Server가 동적인 기능을 제공한다는 것이다. 단순히 정해진 API를 제공하는 것이 아니라, 현재 상태와 컨텍스트에 따라 사용 가능한 기능들을 실시간으로 조정할 수 있다. 예를 들어 데이터베이스 연결 상태에 따라 제공되는 도구 목록이 달라질 수 있으며, 이런 변경사항을 Host에게 알려주는(Notification) 기능도 제공한다.

전체 동작 흐름

사용자가 복잡한 작업을 요청했을 때의 흐름은 다음과 같다.

  1. Host가 요청 분석: 전체 작업을 이해하고 필요한 MCP Server들을 식별한다
  2. Server 연결 설정: Host 내부의 Client가 각 MCP Server와 연결을 설정한다
  3. 도구 발견: 각 Server가 제공하는 Resources, Tools, Prompts 목록을 조회한다
  4. 작업 실행: Host가 필요한 Tools를 순차적으로 호출하여 작업을 수행한다
  5. 결과 종합: Server들로부터 받은 결과를 Host가 종합하여 사용자에게 완성된 답변을 제공한다

이 과정에서 각 구성 요소는 자신의 책임 영역에만 집중한다. Host는 전체적인 사용자 경험과 작업 오케스트레이션에, Server는 특정 도메인의 전문적인 기능 제공에 집중한다.

동작 흐름 예시

  1. 사용자가 AI에게 요청한다 ("내일 일정 알려줘")
  2. AI 애플리케이션은 MCP 프로토콜을 통해 해당 서버(캘린더 서버)에 요청한다
  3. MCP 서버가 실제 데이터 소스(Google Calendar API)에서 정보를 가져온다
  4. 표준화된 형식으로 AI에게 결과를 반환한다
  5. AI가 자연어로 답변을 생성한다

MCP의 주요 특징

표준화: Anthropic이 주도하여 개발한 오픈소스 프로토콜로, 여러 AI 시스템과 도구에서 공통으로 사용할 수 있다.
모듈화: 각 기능을 독립적인 MCP 서버로 구현할 수 있어, 필요한 기능만 선택적으로 연결 가능하다.
확장성: 새로운 도구나 데이터 소스를 추가할 때도 같은 프로토콜을 따르면 되므로 통합이 쉽다.
재사용성: 한 번 구축한 MCP 서버는 여러 AI 애플리케이션에서 공통으로 사용할 수 있다.


1. 클로드 데스크탑 설치하기

클로드 페이지에 로그인 한 뒤에 좌측 하단에서 다운로드 설치하면 된다.

2. 노션에서 key 값 확인 및 설정

노션에서 integrations(Notion API Token)을 따로 만들어서 토큰을 발급받자.

  • 이름 지어주기
  • 자동으로 글이 생성될 노션 워크스페이스를 선택
  • Internal - 혼자만 쓰는 비공개 통합
  • 로고 이미지 생략
  • save

우측의 show버튼을 누르면 ntn_으로 시작되는 키를 확인할 수 있다. (보안중요!!)

연결될 노션 페이지 지정하기

작성될 페이지에서 우측 상단 ⦁⦁⦁ 을 누르고 Connections 설정하기


3. Smithery MCP 서버 이용하기

2025년 12월 기준으로 MCP 연결 정보는 smithery 사이트가 가장 잘 정리되어 있다.

오늘은 노션을 예시로 살펴보겠지만 엄청나게 많은 프로그램이 LLM과 연동될 수 있다.
연결하고 싶은 프로그램을 검색해서 들어가보면 아래와 같은 페이지 구성이 있다.
노션 MCP 연결 정보 - smithery.ai

  • Capabilities : MCP 클라이언트(Claude)가 Notion API에 어떤 작업을 요청할 수 있는지를 보여준다. Notion DB 목록확인하기, 만들기, 내용 추가하기 등
  • Connect : MCP 서버 연결 URL, 설정 형식 선택 중 JSON 코드 확인.

클로드 데스크탑에서 URL로 커넥터를 추가한다.

4. MCP 연결

클로드 데스크탑의 설정 - 개발자 - 구성편집을 누른다.

claude_desktop_config.json 파일을 VS코드로 연다.

기존의 {}를 지우고 아래 내용을 붙여넣은 후, 본인의 노션 키값으로 바꾼 후에 저장하고 닫는다. 이후 클로드 데스크탑을 종료하고 재시작한다.

{
  "mcpServers": {
    "notion-mcp-server-smithery": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@smithery/cli@latest",
        "run",
        "@Mingxiao300/notion-mcp-server-smithery",
        "--key",
        "본인키",
        "--profile",
        "doubtful-baboon-1nEIsj"
      ]
    }
  }
}

5. 테스트하기

요청을 할때 주의사항은
내 노션 Claude-2bdbe08a26ea8177b129e896c8f5db97 여기에 --작업을 해줘
라고 노션 페이지 url을 같이 알려주어야 하는 점이다.
나는 최신 백엔드 기술에 관한 논문 자료를 정리해달라고 요청하였다.


쨔잔- 성공하였다.

이 글을 읽고 따라한 많은 분들이 노션과의 연동을 이용하여,
자동화 파이프 라인을 구축하여 생산적이고 유용한 자료를 잘 활용할 수 있게 되기를 바란다.

참고자료

개발블로그 - MCP에 대한 깊고 대단한 고찰
MPC 공식문서

profile
개발자 소희의 노트

0개의 댓글