13. MCP (Model Context Protocol)
MCP 란
- Model Context Protocol의 약자
- 표준화된 LLM 모델의 Tools 프로토콜로 Claude의 Anthropic에서 개발하여 오픈소스로 공개
MCP가 가지는 의미
-
다른 사람이 만든 Tool을 공유하여 사용 가능
MCP는 툴을 실행하는 서버를 별도로 운영하기 때문에 외부 사용자가 접근 가능하게 할 수 있음.
-
플랫폼을 교체하더라도 Tool의 호환성을 보장
즉, MCP로 만든 툴은 OpenAI 플랫폼에서 Anthropic 플랫폼으로 교체하더라도 호환 됨.
MCP 서버 위치
-
로컬 기반 MCP 서버
- MCP 서버가 로컬에서 실행 됨
- 비공개적이고 나만 사용하고자 할 때
-
호스팅 기반 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 입력
- URL:
- 실습: 구글 캘린더
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
- URL:
- 실습 1: Stock Price
- 실습 2: Google Drive
Smithery AI에서 URL 노출 금지
위의 Smithery AI 예시에서 MCP 서버 URL 안에 API Key 정보가 포함되어 있으므로 타인에게 절대 노출해서는 안됩니다.
구글 계정에서 CLIENT_ID
, CLIENT_SECRET
, REFRESH_TOKEN
발급 받는 방법
- Google Cloud Console에서
CLIENT_ID
,CLIENT_SECRET
발급- 새 프로젝트 생성, 선택 후 대시보드로 이동
- 사용할 서비스 등록
- API 및 서비스 > 사용 설정된 API 및 서비스
- 사용하고자 하는 API 사용 설정 (예: Google Drive API)
- 동의화면 구성
- API 및 서비스 > OAuth 동의 화면 > 브랜딩 > 시작하기
- 앱 이름:
Smithery Test
- 대상: 내부
- 연락처 정보: 본인 이메일
- 정책 동의 후 만들기
- OAuth 2.0 클라이언트 ID 생성
- API 및 서비스 > 사용자 인증 정보 > + 사용자 인증 정보 만들기 > OAuth 클라이언트 ID
- Application type:
Web application
- Authorized redirect URIs:
https://developers.google.com/oauthplayground
- 생성 후
CLIENT_ID
,CLIENT_SECRET
확인 및 복사
- OAuth 2.0 Playground에서
REFRESH_TOKEN
발급- 우측 상단 톱니바퀴 > Use your own OAuth credentials 체크
- 위에서 만든
CLIENT_ID
,CLIENT_SECRET
입력
- 위에서 만든
- 왼쪽 메뉴에서 필요한 scope 체크 후 인증 진행
REFRESH_TOKEN
생성, 확인 및 복사
- 우측 상단 톱니바퀴 > Use your own OAuth credentials 체크
연결된 구글 계정 엑세스 권한 삭제 방법
- 구글 계정 연동 실습이 끝나면 보안을 위해 엑세스 권한을 삭제하는 것을 권장합니다.
- 연결된 구글 계정 엑세스 권한 삭제는 아래 링크를 통해 가능합니다.
- https://myaccount.google.com/connections