Skip to content

[FEATURE] MCP Task Progress Updates #1812

@strentom

Description

@strentom

Problem Statement

We need MCP Supports Progress updates for Tasks. FastMCP has native support for this feature. Strands doesn't.

It's an extremely useful feature of MCP. Long-running tasks (in order of minutes) need to provide feedback to the user as they run. Although FastMCP can feed this data, Strands can't consume it.

Strands supports Tasks (#1475). A related feature was requested in the past (#1273), but had bigger scope. Instead, I suggest implementing the Progress Updates feature as described in MCP and as implemented by FastMCP.

Proposed Solution

Tasks are already implemented (#1475). Tool-streaming is also implemented (here). Just surface the progress update from the Task to the Tool.

Please consider this design pattern: Tasks should support input parameter a callback function. This function (callback) would be triggered on every update. This will make it intuitive to "jump out" of the Strands code and let developer transform the Progress Udpate into a customized human-readable message and re-yield further.

Use Case

Tasks are designed to take minutes. We need to be able to propagate the updates from the tasks to the Users directly. It's not acceptable for users to wait for minutes without any update.

Alternatives Solutions

This is a standard MCP feature. I think there is no need for alternative solutions.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions