콘텐츠로 이동

13. MCP (Model Context Protocol)

MCP 란

  • Model Context Protocol의 약자
  • 표준화된 LLM 모델의 Tools 프로토콜로 Claude의 Anthropic에서 개발하여 오픈소스로 공개

MCP가 가지는 의미

  • 다른 사람이 만든 Tool을 공유하여 사용 가능

    MCP는 툴을 실행하는 서버를 별도로 운영하기 때문에 외부 사용자가 접근 가능하게 할 수 있음.

  • 플랫폼을 교체하더라도 Tool의 호환성을 보장

    즉, MCP로 만든 툴은 OpenAI 플랫폼에서 Anthropic 플랫폼으로 교체하더라도 호환 됨.

MCP 서버 위치

  1. 로컬 기반 MCP 서버

    • MCP 서버가 로컬에서 실행 됨
    • 비공개적이고 나만 사용하고자 할 때
  2. 호스팅 기반 MCP 서버

    • MCP 서버가 외부에 호스팅 됨 (https URL로 접근 가능)
    • 공개적이고 여러 유저들이 공유해서 사용 가능
    • OpenAI MCP는 호스팅 기반 MCP 서버만 지원

MCP 인증 방식

  • 일반적으로 API Key 및 Access Token 방식을 사용 (MCP 서버 제공 업체마다 다름)
  • API Key와 Access Token은 URL 자체에 포함되기도 하고, 별도의 인증 헤더로 전달되기도 함
  • URL 자체에 포함되는 방식은 보안에 취약할 수 있으므로 주의 필요

호스팅 기반 MCP 서버 제공 업체

Zapier MCP

  • https://zapier.com/mcp
  • 난이도: 쉬움
  • 비용: 프리 티어 제공 (베타 버전)
  • 인증 방식: 인증 헤더에 API Key 전달
  • 연결 방법: + Server 클릭 후 아래 정보 입력
    • URL: https://mcp.zapier.com/api/mcp/mcp
    • Authentication: Access token / API Key 선택 후 API Key 입력
  • 실습: 구글 캘린더

Smithery AI

  • https://smithery.ai
  • 난이도: 종종 어려움
  • 비용: 무료
  • 직접 만든 MCP 서버 배포 가능
  • 인증 방식: URL에 API Key 및 Profile 정보 포함
  • 연결 방법: + Server 클릭 후 아래 정보 입력
    • URL: https://server.smithery.ai/@{namespace}/{server}/mcp?api_key={api_key}&profile={profile}
    • Authentication: None
  • 실습 1: Stock Price
  • 실습 2: Google Drive

Smithery AI에서 URL 노출 금지

위의 Smithery AI 예시에서 MCP 서버 URL 안에 API Key 정보가 포함되어 있으므로 타인에게 절대 노출해서는 안됩니다.

구글 계정에서 CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN 발급 받는 방법
  1. Google Cloud Console에서 CLIENT_ID, CLIENT_SECRET 발급
    1. 새 프로젝트 생성, 선택 후 대시보드로 이동
    2. 사용할 서비스 등록
      • API 및 서비스 > 사용 설정된 API 및 서비스
      • 사용하고자 하는 API 사용 설정 (예: Google Drive API)
    3. 동의화면 구성
      • API 및 서비스 > OAuth 동의 화면 > 브랜딩 > 시작하기
      • 앱 이름: Smithery Test
      • 대상: 내부
      • 연락처 정보: 본인 이메일
      • 정책 동의 후 만들기
    4. OAuth 2.0 클라이언트 ID 생성
      • API 및 서비스 > 사용자 인증 정보 > + 사용자 인증 정보 만들기 > OAuth 클라이언트 ID
      • Application type: Web application
      • Authorized redirect URIs: https://developers.google.com/oauthplayground
      • 생성 후 CLIENT_ID, CLIENT_SECRET 확인 및 복사
  2. OAuth 2.0 Playground에서 REFRESH_TOKEN 발급
    1. 우측 상단 톱니바퀴 > Use your own OAuth credentials 체크
      • 위에서 만든 CLIENT_ID, CLIENT_SECRET 입력
    2. 왼쪽 메뉴에서 필요한 scope 체크 후 인증 진행
    3. REFRESH_TOKEN 생성, 확인 및 복사
연결된 구글 계정 엑세스 권한 삭제 방법
  • 구글 계정 연동 실습이 끝나면 보안을 위해 엑세스 권한을 삭제하는 것을 권장합니다.
  • 연결된 구글 계정 엑세스 권한 삭제는 아래 링크를 통해 가능합니다.
  • https://myaccount.google.com/connections