jongalloway / jongalloway/dotnet-mcp
Rewrite Tasks integration for SEP-2663 (remove IMcpTaskStore)
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 36
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
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 != nullinServerFeatureSupport
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/InMemoryMcpTaskStoreregistration and the_taskStorefield/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 theio.modelcontextprotocol/tasksextension; wiretasks/get/tasks/status/tasks/cancel. - Update
AsyncTaskscapability reporting inServerFeatureSupport.
Acceptance
- Project compiles against 2.0 with a clear, documented async-task story (migrated or explicitly dropped).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the IMcpTaskStore registration in Program.cs, then inspect the _taskStore field and constructor parameter in DotNetCliTools.Core.cs and AsyncTasks reporting in DotNetCliTools.Misc.cs. Build the project against SDK 2.0 and determine whether long-running operations will migrate to the Tasks extension or async-task support will be dropped. Done means the project compiles and the async-task behavior is clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend-api-design
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100