Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Upgrade ModelContextProtocol SDK to 2.x (MCP 2026-07-28)

Aperta
#39 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
csharp
Ambito
cli, devtools

Direzione di ricerca

Dopo che l’epic di unificazione CLI/MCP #38 sarà stato integrato, aggiorna il pin di ModelContextProtocol in Directory.Packages.props da 1.4.0 a 2.2.0 e inizia con restore per verificare il conflitto di versione di Microsoft.Extensions. Esegui i controlli unit, integration, build e di audit NuGet, quindi prova legacy initialize e new discovery tramite stdio con i quattro client indicati; il lavoro è completato quando tutti i controlli di accettazione hanno esito positivo e le versioni dei client sono registrate.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Priority: P2 Type: Feature

Scope

Directory.Packages.props pins ModelContextProtocol 1.4.0. The current stable is 2.2.0 (matches the 2026-07-28 protocol revision). Upgrade after the CLI/MCP unification epic (#38) lands, as a standalone dependency PR.

What we use, and expected impact

An API audit of the 2.2.0 package against this repo found no source-breaking change for our surface:

Used here Status in 2.x
[McpServerToolType], [McpServerTool] with ReadOnly/Destructive/Idempotent retained
AddMcpServer(), WithStdioServerTransport(), WithTools<T>() retained
Task<string> tools with [Description] and injected CancellationToken retained
HTTP/SSE transport, Roots, Sampling, MCP Logging, Tasks, raw JSON-RPC not used, so their breaking changes do not apply

This is an inspection result, not a compile. 2.2.0 requires Microsoft.Extensions 10.0.10 abstractions and Microsoft.Extensions.AI.Abstractions 10.8.3; the repo pins Microsoft.Extensions 10.0.9, so a restore conflict is possible and must be checked.

Client impact

  • Stdio config for Claude Code, Codex CLI, Claude Desktop and VS Code stays the same (tp mcp ...). No HTTP, port, or OAuth change.
  • 2.x keeps down-level interoperability: legacy clients still do initialize version negotiation, 2026-07-28 clients use discovery. Upgrading the server does not drop older clients, but each client must be tested at a recorded version.
  • Keep --tenant, --env, accounting gating, and stderr-only logging.

New capabilities to adopt afterwards, each in its own PR

  1. Structured output: UseStructuredContent = true with typed result records (already available in 1.4.x), keeping JSON text for older consumers.
  2. Tool annotations: mark reads ReadOnly, mark update/delete/cancel/import destructive. GetSuggestedTimesheets refreshes server state, so it is not read-only. Revisit Idempotent = true on import.
  3. Elicitation for confirmations on destructive tools, with a fallback for clients that do not support it.

Acceptance

  • Restore, build, unit, integration and NuGet audit green on 2.2.0
  • Stdio initialize (legacy) and discovery (new) both work; tools/list shows 18 default / 47 with accounting
  • Reads, errors, cancellation and shutdown exercised; writes only against fakes or staging
  • Four named clients tested and versions recorded in the PR
Lingua principale
C#
Stelle
3
Fork
0
Merge medio
29m
PR unite (30g)
28

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di SSWConsulting/TimePro.Tools

Tutte le issue di SSWConsulting/TimePro.Tools

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.