모델 컨텍스트 프로토콜(MCP)은 AI 클라이언트를 외부 도구 및 데이터에 연결하기 위한 개방형 사양입니다. 플러그인에서 실시간 정보를 조회하거나 작업을 수행하거나 다른 서비스와 연동해야 할 때 MCP 서버를 포함할 수 있습니다.
MCP 서버는 선택 사항입니다. 지침과 리소스만 제공하는 플러그인은 스킬만으로 구성할 수 있습니다.
MCP 서버가 제공하는 기능
MCP 서버는 다음을 제공할 수 있습니다.
- 도구: 모델이 구조화된 입력으로 호출할 수 있는 함수입니다.
- 리소스: 클라이언트가 읽을 수 있는 데이터나 콘텐츠입니다.
- 프롬프트: 재사용할 수 있는 프롬프트 템플릿입니다.
- 지침: 서버 기능을 사용하는 방법을 안내하며 서버 전체에 적용됩니다.
플러그인은 주로 도구를 사용합니다. 각 도구에는 이름, 설명, 입력 스키마가 있으며 출력 스키마는 선택 사항입니다. 모델은 이러한 필드를 바탕으로 도구를 언제 호출하고 그 결과를 어떻게 활용할지 판단합니다.
도구 호출 방식
사용자가 도구로 처리할 수 있는 작업을 요청하면 다음과 같이 진행됩니다.
- 클라이언트가 MCP 서버에서 제공하는 도구를 확인합니다.
- 모델이 도구를 선택하고 입력 스키마에 맞는 인수를 전달합니다.
- 서버가 요청을 검증하고 작업을 수행한 뒤 결과를 반환합니다.
- 모델이 결과를 활용해 대화를 이어갑니다.
도구 호출 결과는 별도의 UI 없이도 활용할 수 있어야 합니다. 모델이 사용자에게 답변하는 데 필요한 정보를 간결한 텍스트나 구조화된 콘텐츠로 반환하세요. MCP 서버는 MCP 앱을 지원하는 클라이언트에 UI 리소스를 함께 반환할 수도 있습니다.
전송 및 권한 부여
프로덕션 MCP 서버는 Streamable HTTP 전송 방식을 사용해 안정적인 HTTPS 엔드포인트에 배포하세요. 도구가 비공개 데이터에 접근하거나 사용자를 대신해 작업을 수행한다면 MCP 사양에 정의된 권한 부여 플로우로 서버를 보호하세요.
프로토콜에 관한 자세한 내용은 MCP 사양을 참고하세요. Python과 TypeScript 소프트웨어 개발 키트는 서버 구현과 헬퍼를 제공합니다.
다음 단계
플러그인에 필요한 도구를 정의한 뒤 MCP 서버를 구축하세요.