--- title: MCP Python SDK — MCP 프로토콜 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 데코레이터 API로 20줄 내외에 MCP 서버를 만들 수 있는 Python 공식 SDK. tags: 프로그램, MCP 프로토콜, py-sdk --- Python로 MCP 서버와 클라이언트를 만드는 공식 SDK ## 기본 정보 | 프로그램 이름 | MCP Python SDK (MCP 파이썬 SDK) | | --- | --- | | 한 줄 소개 | Python로 MCP 서버와 클라이언트를 만드는 공식 SDK | | 개발·유지 | Model Context Protocol 프로젝트 | | 공식 홈페이지 | https://modelcontextprotocol.io/docs/sdk | | 공식 문서 | https://github.com/modelcontextprotocol/python-sdk | | 설치·배포 | uv add "mcp[cli]" 또는 pip install "mcp[cli]" | | 동작 환경 | Python 3.10 이상 | | 라이선스 | MIT 라이선스 | | 안정 버전 | 2.3.0 (PyPI, 2026-10 확인) — 확인일 2026-10-18 | | GitHub 저장소 | https://github.com/modelcontextprotocol/python-sdk | | 분류 | MCP 프로토콜 (태그: MCP, SDK, Python, 서버 개발, 에이전트) | ## 이 프로그램은 무엇인가? MCP Python SDK는 Python로 MCP 서버와 클라이언트를 만드는 공식 SDK입니다. 데코레이터 API를 사용하면 20줄 내외로 도구 하나를 노출하는 서버를 완성할 수 있습니다. FastAPI·Flask처럼 익숙한 Python 패턴을 따르며, AnyIO 기반 비동기 I/O로 stdio·Streamable HTTP 전송을 지원합니다. 데이터 분석·머신러닝 도구를 MCP로 노출할 때 자연스러운 선택입니다. ## 어떤 문제를 해결하는가? - Python로 만든 사내 도구·모델을 MCP로 노출해야 하는 상황 - FastAPI·데이터 파이프라인과 MCP 서버를 통합해야 하는 상황 - uv·pip 등 Python 생태계 도구로 배포해야 하는 상황 ## 주요 기능 ### 데코레이터 API @mcp.tool() 데코레이터로 도구를 간단히 정의 - **활용 상황**: 최소 코드로 서버 구축 - **얻는 결과**: Python 함수가 곧 MCP 도구 - **제한 사항**: 비동기 함수 패턴 이해 필요 ### 다중 전송 stdio·Streamable HTTP 전송 지원 - **활용 상황**: 로컬·원격 서버 모두 구현 - **얻는 결과**: FastAPI와 통합 가능 - **제한 사항**: 원격 배포 시 인증 설정 필요 ### CLI 내장 mcp CLI로 서버 실행·테스트 - **활용 상황**: 빠른 개발 루프 - **얻는 결과**: uvx·pipx로 간편 배포 - **제한 사항**: CLI 옵션은 버전에 따라 다름 ### AnyIO 기반 asyncio·trio 등 Python 비동기 런타임 지원 - **활용 상황**: 기존 비동기 코드와 통합 - **얻는 결과**: 이벤트 루프 호환성 - **제한 사항**: 동기 코드는 별도 처리 필요 ## 설치 및 실행 ### uv (권장) uv 패키지 관리자로 빠르게 설치합니다. ``` uv add "mcp[cli]" ``` ### pip pip로 설치합니다. ``` pip install "mcp[cli]" ``` ### pipx CLI 도구로 격리 설치합니다. ``` pipx install "mcp[cli]" ``` ## 실제 사용 예제 ### 서버 만들기 데코레이터로 도구를 정의하고 서버를 실행합니다. ``` @mcp.tool() def add(a:int,b:int)->int: return a+b ``` ### 서버 실행 stdio 전송으로 서버를 시작합니다. ``` mcp run server.py ``` ### 클라이언트 연결 McpClient로 원격·로컬 서버에 연결합니다. ``` async with client_session(...) as client: await client.list_tools() ``` ## 장점과 한계 ### 장점 - MIT 라이선스, 가장 많은 Python MCP 생태계 - 데코레이터로 최소 코드 서버 구축 - FastAPI·AnyIO와 자연스러운 통합 - uv·pipx 등 Python 배포 도구와 호환 ### 사용 전에 고려할 점 - Python GIL로 대규모 동시성에는 제한 - TypeScript SDK 대비 일부 고급 기능 지원 시점 차이 - 비동기 패턴을 익혀야 함 ## 비슷한 프로그램과 비교 | 프로그램 | 특징 | 이런 경우에 적합 | | --- | --- | --- | | MCP TypeScript SDK | Web 표준 기반 공식 SDK | Node·Bun·Deno 환경 | | FastMCP | 고수준 Python 서버 프레임워크 | 빠른 프로토타이핑 | | mcp-use | Python 에이전트 프레임워크 | 에이전트·서버 통합 개발 | ## 공식 자료 및 추가 학습 - [공식 홈페이지](https://modelcontextprotocol.io/docs/sdk) — https://modelcontextprotocol.io/docs/sdk - [공식 문서 / 지식베이스](https://github.com/modelcontextprotocol/python-sdk) — https://github.com/modelcontextprotocol/python-sdk - [설치·배포](uv add ) — uv add "mcp[cli]" 또는 pip install "mcp[cli]" - [릴리스 노트](https://github.com/modelcontextprotocol/python-sdk/releases) — https://github.com/modelcontextprotocol/python-sdk/releases - [소스 / 개발 자료](https://github.com/modelcontextprotocol/python-sdk) — https://github.com/modelcontextprotocol/python-sdk 버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요. ## 실제 실행 화면 합성 예시 — 실제 실행 결과가 아닙니다. 화면은 합성 예시이며 실제 실행 결과가 아닙니다. ![MCP Python SDK 설치와 서버 실행 예시](https://games.cursorai.co.kr/assets/py-sdk-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/mcp/protocol/py-sdk.html