Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#39 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@jernejk ya está trabajando en esto.

Desde el 12/9/2026.

  • #76 de @jernejk — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
45/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp
Área
cli, devtools

Línea de trabajo

Después de que se integre el epic de unificación de CLI/MCP #38, actualiza el pin de ModelContextProtocol en Directory.Packages.props de 1.4.0 a 2.2.0 y comienza con restore para comprobar el conflicto de versiones de Microsoft.Extensions. Ejecuta las comprobaciones de unit, integration, build y auditoría de NuGet; después, prueba legacy initialize y new discovery sobre stdio con los cuatro clientes mencionados; se considera terminado cuando todas las comprobaciones de aceptación pasan y las versiones de los clientes quedan registradas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
Lenguaje dominante
C#
Estrellas
3
Forks
0
Merge medio
8 min
PR fusionados (30 d)
26

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de SSWConsulting/TimePro.Tools

Todos los issues de SSWConsulting/TimePro.Tools

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.