Skip to content

Ready for ModelContextProtocol v2.0 #51

Description

@carldebilly

The package ModelContextProtocol will soon be published its version 2.0 and we should be ready for it.

This should act as the tracking epic for the MCP C# SDK 2.0 migration/readiness work.

Current Repl state:

  • Repl currently pins ModelContextProtocol to 1.2.0.
  • ModelContextProtocol / ModelContextProtocol.AspNetCore / ModelContextProtocol.Extensions.Apps already have 2.0.0-preview.1 packages published.
  • Repl.Mcp already exposes tools/resources/prompts/logging and MCP Apps capability when enabled.
  • .LongRunning() commands are already mapped to MCP tool execution metadata with ToolExecution.TaskSupport = Optional.
  • Repl does not yet implement the full MCP Tasks lifecycle: no TaskStore, no tasks/get, tasks/update, tasks/cancel, and no CreateTaskResult runtime path.

Suggested scope:

  • Spike build/test compatibility with ModelContextProtocol 2.0.0-preview.1.
  • Audit API breaks around McpServerOptions, McpServerHandlers, ServerCapabilities.Extensions, RequestContext<T>, progress, elicitation, sampling, roots, and MCP Apps.
  • Verify SDK 2.0 client behavior around server/discover and fallback to legacy initialize.
  • Decide whether full MCP Tasks runtime support belongs in the SDK 2.0 migration or as a follow-up.
  • Add/track a dedicated issue for MCP Tasks runtime support for .LongRunning() commands.
  • Document supported MCP protocol versions and host compatibility.
  • Add regression tests for MCP server capabilities and tool calls under the chosen SDK version.

Non-goals for Repl 0.11:

  • Do not include the MCP Streamable HTTP PR Add MCP Streamable HTTP hosting #27 unless explicitly re-scoped.
  • Do not advertise full Tasks support until polling/cancel/update works end-to-end.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions