오늘의 AI 용어: MCP 태스크 (MCP Tasks)

좋은 아침이에요! 오늘은 MCP 태스크예요. 한 줄로 말하면 “도구 호출을 지금 걸어 두고, 결과는 나중에 받아 오는” MCP의 비동기 실행 방식이에요.

뭔가요?
보통 MCP 도구 호출은 결과가 나올 때까지 대화가 멈춰서 기다려요. 태스크를 쓰면 서버가 결과 대신 “작업 번호(task ID)”와 상태를 바로 돌려주고, 클라이언트는 그 번호로 진행 상황을 확인하다가 끝나면 결과를 받아요. 빌드, 대량 데이터 처리, 긴 크롤링처럼 몇 분씩 걸리는 일에 맞는 구조예요. 택배 송장 번호를 받아 두고 다른 일을 하는 것과 비슷해요.

시점은 이렇게 구분돼요
– 처음 나온 건 꽤 전이에요. 제안서(SEP-1686)가 2025년 10월 20일에 작성됐고, 2025년 11월 25일 MCP 사양에 실험 기능으로 들어갔어요. 그러니까 1년쯤 된 개념이에요.
– 그 뒤 핵심 사양에서 빠져 별도 확장(io.modelcontextprotocol/tasks, SEP-2663)으로 옮겨지며 다시 설계됐고, 예전 실험 버전과는 호환되지 않아요.
– 이번에 화제가 된 건 Claude Code 2.1.319(2026년 11월 6일 17:04 UTC, 한국 시간 11월 7일 새벽 공개) 덕분이에요. MCP 서버가 도구 호출을 태스크로 실행하면 Claude Code가 바로 백그라운드로 보내고, 끝나면 결과를 Claude에게 알려 줘요. 같은 날 OpenCode 2.2.6도 MCP 연결 공유 기능을 내면서 “MCP를 오래 걸리는 일에 어떻게 쓰나”가 같이 이야기됐어요. (Agent Tools Today 11/7)

정리하면 새 기술이라기보다, 1년 된 표준 기능이 주요 도구에 실제로 들어오면서 다시 뜬 경우예요.

Claude만 쓰던 개발자는 어떻게 쓰면 될까요?
– 역할 나누기: 오래 걸리는 일(테스트 전체 돌리기, 배포, 대량 변환)은 MCP 서버가 태스크로 맡고, Claude는 그동안 코드 읽기나 다음 단계 계획을 계속해요. 결과가 오면 Claude가 해석하고 다음 결정을 내리는 식이에요.
– 언제 태스크로 돌릴까: 몇 초 안에 끝나는 조회는 평소처럼 바로 호출하는 게 단순해요. 수십 초 넘게 걸리거나 중간에 끊기면 안 되는 일만 태스크로 돌리세요.
– 직접 MCP 서버를 만든다면: 긴 작업 도구에 태스크 지원을 넣어 두면 Claude Code 같은 클라이언트가 알아서 백그라운드로 처리해 줘요. 다만 사양이 아직 바뀌는 중이라 SDK 버전을 꼭 확인하세요.
– 함께 볼 설정: 같은 릴리스의 permissions.denyInsteadOfPrompting을 켜면 권한 확인이 필요한 호출은 기다리지 않고 거절된 뒤 작업이 이어져요. 백그라운드 작업이 권한 창 때문에 멈추는 걸 막을 때 좋아요.

연관 용어
– 폴링(Polling): 결과가 나왔는지 일정 간격으로 물어보는 방식이에요. MCP 태스크도 tasks/get으로 상태를 확인해요.
– MCP 확장(Extensions): 핵심 사양과 별도로 기능을 키우는 구조예요. 태스크가 바로 여기로 옮겨졌어요.
– 장기 실행 작업(Long-running Operation): 구글 클라우드 API 등에서 오래 써 온 “작업 번호 받고 나중에 확인” 패턴이에요. MCP 태스크의 원조 격이에요.

자세한 건 MCP 태스크 사양(2025-11-25)과 태스크 확장 제안서 SEP-2663에서 볼 수 있어요. 좋은 주말 보내세요!

댓글 남기기