Skip to main content
A client that supports the MCP Tasks extension gets a build back as a task, which it follows with its own task calls instead of get_job.

Negotiate tasks

The client sends MCP protocol version 2026-07-28 and declares the io.modelcontextprotocol/tasks extension in its client capabilities. Then a build call, such as build_website_tool, returns a task instead of the job. Runs return the job as usual. The task’s taskId is the job’s job_ ID, so get_job still works on it.

Follow the task

A task that needs input carries an elicitation request. A plain question comes as a form. A secret, a login or a saved login to correct comes as a link to a protected Pomerado page, so the value never passes through the client. See answer questions.

Read the result

A completed task’s result is the job object, marked as an error unless the job succeeded. Reading it counts as the result’s one read, as described in results are read once.
A completed task doesn’t mean the build succeeded. Check the job’s status, error and write_status as you would for any job.