Azure Functions에서 장기 실행 MCP 도구... 노트

Azure Functions에서 장기 실행 MCP 도구를 구축하는 방법

Azure Functions와 MCP 확장을 사용하여 서버를 구축하는 고객들은 클라이언트에서 부과하는 타임아웃을 초과하는 도구로 인해 어려움을 겪고 있습니다. 현재 MCP 도구는 요청/응답 모델로 작동하는데, 이는 다단계 또는 장기 실행 작업에 적합하지 않습니다. 도구 호출이 너무 오래 걸리면 클라이언트가 타임아웃되어, 근본적인 작업은 계속 진행될 수 있지만 에이전트는 실패로 인식하게 됩니다. 새로운 MCP Tasks 확장은 장기 실행 작업의 비동기 처리를 표준화하는 것을 목표로 합니다. 이 확장은 서버가 작업 핸들을 반환하도록 하여, 클라이언트가 상태를 폴링하고 작업 수명 주기를 관리할 수 있도록 합니다. 그러나 Tasks 확장은 클라이언트와 SDK 모두에서 광범위한 생태계 지원이 필요합니다. 이것이 널리 사용 가능해질 때까지, 장기 실행 작업을 위해 Durable Functions를 사용하는 패턴을 구현할 수 있습니다. 이 패턴은 두 개의 노출된 도구를 포함합니다. 하나는 작업을 시작하고 다른 하나는 상태를 검색합니다. 시작 도구는 예산 내에서 완료되면 인라인 결과를 반환하고, 아직 실행 중이면 워크플로 ID를 반환합니다. 상태 검색 도구는 워크플로 ID를 받아 권장 폴링 간격을 포함한 작업의 현재 상태를 보고합니다. Tasks 확장을 사용하면 클라이언트가 워크플로 ID와 같은 식별자를 에이전트가 관리할 필요 없이 직접 작업 수명 주기를 관리하므로 모델이 단순화될 것입니다. 개발자는 제공된 Durable Functions 샘플을 사용해 보도록 권장됩니다.