Skip to content

Rewrite Tasks integration for SEP-2663 (remove IMcpTaskStore) #484

Description

@jongalloway

Rewrite Tasks integration for SEP-2663 (highest-impact break)

Part of #481.

SDK 2.0 removes the experimental Tasks API and replaces it with the SEP-2663 Tasks extension. This server currently depends on the removed surface:

  • Program.cs: builder.Services.AddSingleton<IMcpTaskStore, InMemoryMcpTaskStore>();
  • DotNetCliTools.Core.cs: private readonly IMcpTaskStore? _taskStore; (constructor-injected)
  • DotNetCliTools.Misc.cs: AsyncTasks = _taskStore != null in ServerFeatureSupport

Removed types include McpTask, McpTaskMetadata, McpTasksCapability, tasks/result, tasks/list. Replacements: CreateTaskResult, ResultOrCreatedTask<T>, GetTaskResult, tasks/get, tasks/status, tasks/cancel, plus the new input_required state.

Tasks

  • Remove IMcpTaskStore/InMemoryMcpTaskStore registration and the _taskStore field/parameter.
  • Decide: migrate long-running ops (build/test/publish/restore) to the new Tasks extension, or temporarily drop async-task support.
  • If migrating, adopt ResultOrCreatedTask<T> and the io.modelcontextprotocol/tasks extension; wire tasks/get/tasks/status/tasks/cancel.
  • Update AsyncTasks capability reporting in ServerFeatureSupport.

Acceptance

  • Project compiles against 2.0 with a clear, documented async-task story (migrated or explicitly dropped).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions