An MCP task is a durable handle for work started by a Model Context Protocol (MCP) tool call when the result will not be available in the initial response. The Tasks extension lets a server return resultType: "task" and a taskId instead of keeping the original tools/call request open until the work finishes.
The client uses tasks/get to poll for status and the eventual result. A task can be working, require additional input, or reach a terminal state such as completed, failed, or cancelled. The extension also defines tasks/update for supplying requested input and tasks/cancel for requesting cancellation. Cancellation is cooperative: an acknowledgement does not prove that the underlying operation stopped.
This is useful for operations such as a long-running analysis, a data export, or a deployment that may outlive a network request. A production client should persist the task ID, respect the server's polling interval, handle expiry, and check the final result rather than equating task creation with success. A server should restrict task lookup and updates to the authorized caller; a task ID is a reference, not permission to access someone else's work.
An MCP task describes the lifecycle of one server-side operation. It is narrower than a resumable agent run, which may span many model turns and tool calls, or an agent session, which can contain multiple runs. If the task needs a user answer while it is running, the client can supply that answer through the extension's input flow; for synchronous interactions, a Multi Round-Trip Request serves a different purpose.
See the MCP Tasks extension specification for the result shape, lifecycle methods, and security requirements.
The LLM Knowledge Base is a collection of bite-sized explanations for commonly used terms and abbreviations related to Large Language Models and Generative AI.
It's an educational resource that helps you stay up-to-date with the latest developments in AI research and its applications.
Previous