Python SDK 시작하기
Python SDK 시작하기 (Get started)
MCP가 처음이거나, 이 SDK가 처음이라면 여기서 시작하세요. 이 페이지들은 아무것도 없는 상태에서 검증까지 끝난 서버를 만드는 길을 안내합니다. SDK 설치부터 시작해서 첫 서버 만들기, 이를 실제 호스트에 연결하고, 인메모리 클라이언트로 테스트하는 순서예요.
코드를 직접 돌려보세요
여기 등장하는 코드 블록은 전부 그대로 복사해서 바로 쓸 수 있어요. 완전하고 동작하는 파일입니다.
따라 해 보려면 블록을 server.py에 붙여 넣고 MCP Inspector에서 열면 됩니다.
uv run mcp dev server.py
적극 권장합니다. 코드를 직접 쓰거나 복사해서 편집하고 로컬에서 실행해 보세요. 여러분의 에디터에서 실제로 돌려 보는 것이 진짜 포인트를 보여줍니다. 얼마나 적게 쓰는지, 자동완성이 얼마나 편한지, 타입 검사가 실행 전에 실수를 얼마나 잘 잡아주는지요.
추측할 필요가 없습니다
이 문서의 모든 예제는 SDK 저장소의 docs_src/ 아래에 있는 완전한 파일이고, 그 모든 파일은 SDK의 테스트 스위트가 인메모리 클라이언트를 통해 직접 검증합니다.
import pytest
from mcp import Client
from server import mcp
@pytest.mark.anyio
async def test_add() -> None:
async with Client(mcp) as client:
result = await client.call_tool("add", {"a": 1, "b": 2})
assert result.structured_content == {"result": 3}
서브프로세스도, 포트도, 전송도 없습니다. Client(mcp)는 서버 객체에 직접 연결합니다.
SDK에 뭔가 바뀌어서 이 페이지의 예제가 깨지면, 페이지보다 먼저 CI가 빨간불을 켭니다. 여러분이 읽는 코드는 실제로 도는 코드예요.
이 방식은 Testing에서 직접 써 보게 됩니다. 여러분이 만든 서버도 이렇게 테스트하면 됩니다.
다음으로 어디로 갈까요
서버가 하나 뜨면, 이 문서의 나머지는 강좌가 아니라 참고서입니다. 각 페이지가 독립적으로 성립하니 필요한 곳으로 바로 뛰어들면 됩니다.
- 서버가 노출하는 것(도구·리소스·프롬프트)은 Servers 입니다.
- 등록한 함수 안에서 쓸 수 있는 것들은 Inside your handler 입니다.
- 클라이언트 앞에 내놓는 방법(stdio, HTTP, 기존 FastAPI 앱)은 Running your server 입니다.
- 반대편, 즉 MCP 서버를 사용하는 애플리케이션을 만드는 것은 Clients 입니다.