What's broken?
The spec doesn't cover a case it clearly should
Where in the spec or docs?
https://github.com/modelcontextprotocol/modelcontextprotocol/blob/8d07c35d3857412a351c595fe01b7bc70664ba06/seps/1686-tasks.md
What should happen?
(this is a feature request more than an issue, but I couldn't find a more appropriate place to put it)
The tasks SEP currently assumes that no information is available about a task until it completes, after which its results can be queried. For many sorts of tasks, this is not true. For example, for a background process, the agent may want to get the current STDOUT so it can check it's status.
While there is apparently a statusMessage (I didn't see it in the SEP, but it was mentioned in #1955), I do not think that serves this need. That provides a short status update, while this would get the entire results (often much larger), just only what is available currently.
What actually happens?
There is no way to check the output (not just status) of an in-progress task until it completes.
Anything else?
In my Gradle MCP, my "run a task in the background" tool provides a way to get the current results, including the tasks and tests ran. IME this is rather frequently used by agents for longer builds, especially if they suspect a task or test is hanging.
What's broken?
The spec doesn't cover a case it clearly should
Where in the spec or docs?
https://github.com/modelcontextprotocol/modelcontextprotocol/blob/8d07c35d3857412a351c595fe01b7bc70664ba06/seps/1686-tasks.md
What should happen?
(this is a feature request more than an issue, but I couldn't find a more appropriate place to put it)
The tasks SEP currently assumes that no information is available about a task until it completes, after which its results can be queried. For many sorts of tasks, this is not true. For example, for a background process, the agent may want to get the current STDOUT so it can check it's status.
While there is apparently a
statusMessage(I didn't see it in the SEP, but it was mentioned in #1955), I do not think that serves this need. That provides a short status update, while this would get the entire results (often much larger), just only what is available currently.What actually happens?
There is no way to check the output (not just status) of an in-progress task until it completes.
Anything else?
In my Gradle MCP, my "run a task in the background" tool provides a way to get the current results, including the tasks and tests ran. IME this is rather frequently used by agents for longer builds, especially if they suspect a task or test is hanging.