설치
설치 (Installation)
Python SDK는 PyPI에 mcp 이름으로 올라가 있어요. **Python 3.10+**가 필요합니다.
이 문서들이 설명하는 것은 현재 안정 릴리스 라인인 v2예요.
=== "uv"
```bash
uv add "mcp[cli]"
```
=== "pip"
```bash
pip install "mcp[cli]"
```
!!! note "v1에서 오셨나요?"
v2는 호환성이 깨지는 변경을 담은 메이저 버전입니다. 그 변경 전부는 **Migration Guide**에 정리되어 있어요. 여러분의 패키지가 mcp를 의존하고 있고 아직 마이그레이션할 준비가 안 됐다면, <2 상한을 걸어 두세요(예: mcp>=1.28,<2). 그러면 고정하지 않은 resolve가 1.x 라인에 머무릅니다.
뭐가 설치되나요
SDK를 쓰려면 이런 걸 다 알 필요는 없어요. 그래도 각 의존성이 뭘 하는지 궁금하다면:
mcp-types: 모든 프로토콜 타입(요청·결과·콘텐츠 블록)을 SDK와 같은 버전으로 맞춘 별도 패키지로 담아요. 이 문서의 모든from mcp.types import ...처럼,mcp를 의존하는 코드는mcp.types별칭으로 import합니다.mcp-types를 SDK 없이 설치하는 프로젝트에서만import mcp_types를 직접 쓰세요.anyio: 비동기 런타임입니다. SDK 전체가 anyio를 기준으로 짜여 있어서asyncio든trio든 그 위에서 돌아갑니다.pydantic: 모든mcp.types모델의 기반이 되고, 스키마 생성과 검증도 전부 담당합니다.httpx2: Streamable HTTP와 SSE 클라이언트 전송 뒤에 있는 HTTP 클라이언트로, server-sent events 지원이 내장되어 있어요.starlette,uvicorn,sse-starlette,python-multipart: HTTP 서버 전송입니다.jsonschema: 도구의 구조화 출력을 선언한 출력 스키마와 대조해 검증합니다.pyjwt[crypto]: 인증(Authorization)을 위한 OAuth 토큰 처리를 담당해요.opentelemetry-api: 가벼운 API만 있어서, 여러분이 OpenTelemetry SDK와 exporter를 직접 설치하지 않는 한 SDK의 트레이싱 미들웨어는 비용이 들지 않아요.typing-extensions와typing-inspection: Python 3.10에서 최신 타이핑 기능을 제공합니다.pywin32: Windows 전용으로,stdio서브프로세스 관리에 쓰입니다.
선택적 추가(extras)
mcp[cli]는mcp커맨드라인 도구(mcp dev,mcp run,mcp install)를 위해typer와python-dotenv를 추가합니다. 개발 중에는 필요하고, 배포된 서버에서는 필요 없을 수도 있어요.mcp[rich]는 서버 로그를 보기 좋게 해 주는rich를 추가합니다.