SDK¶
MCP(Model Context Protocol)로 뭔가를 만들려면 어디서부터 손을 대야 할지 막막할 때가 있어요. 다행히 공식 SDK가 언어별로 준비되어 있어서, 서버든 클라이언트든 갖고 있는 언어의 관례에 맞춰 바로 시작할 수 있습니다. 이 페이지에서는 공식 SDK들이 어떻게 나뉘어 있고, 각각 어디까지 지원하는지 정리해 볼게요.
공식 SDK 한눈에 보기¶
공식 SDK는 기능 완성도, 프로토콜 지원 범위, 유지보수 약속에 따라 티어(tier)로 나뉘어요. 어느 티어인지에 따라 짜임새가 어느 정도로 다듬어졌는지 가늠할 수 있죠.
| SDK | 저장소 | 티어 |
|---|---|---|
| TypeScript | modelcontextprotocol/typescript-sdk | Tier 1 |
| Python | modelcontextprotocol/python-sdk | Tier 1 |
| C# | modelcontextprotocol/csharp-sdk | Tier 1 |
| Go | modelcontextprotocol/go-sdk | Tier 1 |
| Java | modelcontextprotocol/java-sdk | Tier 2 |
| Rust | modelcontextprotocol/rust-sdk | Tier 2 |
| Swift | modelcontextprotocol/swift-sdk | Tier 3 |
| Ruby | modelcontextprotocol/ruby-sdk | Tier 3 |
| PHP | modelcontextprotocol/php-sdk | Tier 3 |
| Kotlin | modelcontextprotocol/kotlin-sdk | Tier 3 |
각 티어가 정확히 무엇을 의미하는지는 'SDK 티어 체계(SDK Tiering System)' 문서에서 자세히 다루니, 궁금하면 그쪽을 확인해 보세요.
무엇을 만들 수 있나요¶
각 SDK는 같은 기능을 제공하되, 자기 언어의 관례와 모범 사례를 그대로 따르는 점이 핵심이에요. 어떤 언어를 골라도 아래 일들은 동일하게 할 수 있습니다.
- 도구·리소스·프롬프트를 드러내는 MCP 서버 만들기 — 서버가 노출하는 기능을 정의하고 MCP가 인식하도록 등록하는 작업이에요.
- 어떤 MCP 서버에든 연결할 수 있는 MCP 클라이언트 만들기 — 특정 서버에 종속되지 않고, 임의의 MCP 서버에 붙어 통신하는 애플리케이션을 말해요.
- 로컬 및 원격 전송(transport) 프로토콜 지원 — 같은 머신 안에서든 네트워크를 건너든 연결을 맺을 수 있게 해줘요.
- 타입 안전성(type safety)을 갖춘 프로토콜 호환 — 언어의 타입 시스템 덕분에 프로토콜 규격에 어긋나는 실수를 컴파일 단계에서 미리 잡아줘요.
자세한 설치 방법, 문서, 예제는 각자 선택한 언어의 SDK 페이지에서 찾을 수 있어요.
다음으로 무엇을 할까요¶
이제 MCP로 뭔가를 직접 만들어 보고 싶다면 두 갈래 중 하나를 고르면 돼요.
- 서버 만들기 — 첫 MCP 서버를 어떻게 만드는지 배워요. 모델에게 도구·리소스·프롬프트를 내주는 쪽이에요.
- 클라이언트 만들기 — MCP 서버에 연결하는 애플리케이션을 만들어요.
두 경로 모두 이 문서의 하위 페이지로 이어지니, 목적에 맞는 쪽부터 시작하면 됩니다.