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

Wire-schema validation does not see raw-HTTP / inline-mock scenario traffic

Abierto
#418 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 7 días

@RanaPriyansh ya está trabajando en esto.

Desde el 8/9/2026.

  • #497 de @RanaPriyansh — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
68/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript
Área
testing-qa

Línea de trabajo

Empieza con los escenarios de cliente listados en src/scenarios/client/ y los escenarios de servidor en src/scenarios/server/, y después ejecuta la suite principal del cliente contra el SDK de TypeScript everything-client para reproducir las comprobaciones de esquema wire que faltan. Sigue el mock server compartido consciente de la versión y las rutas de raw fetch o Client, incluidos los mocks inline de request-metadata.ts, mrtr-client.ts, json-schema-ref-deref.ts y http-base.ts. Se considera terminado cuando se valida el tráfico de bypass, las infracciones intencionadas pueden optar por no participar y los mocks de servidor/discover draft utilizan la forma actual de serverInfo de _meta.

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

Descripción

#399 validates every JSON-RPC message that flows through the shared choke points (the SDK transport hooks and the version-aware mock server). Traffic that bypasses those choke points is never schema-checked, and the bypass surface is wider than the note in the PR body (which only mentions the client-auth express mock).

Known uninstrumented paths:

Client scenarios with hand-rolled inline HTTP mocks (requests from the client under test are not validated):

  • src/scenarios/client/initialize.ts — the client's initialize request is never schema-checked
  • src/scenarios/client/sse-retry.ts
  • src/scenarios/client/elicitation-defaults.ts
  • src/scenarios/client/http-base.ts and its subclasses (request-metadata.ts, mrtr-client.ts, json-schema-ref-deref.ts)
  • the client-auth scenarios' express mock (already disclosed in #399)

Server scenarios using raw fetch or their own SDK Client (messages to/from the server under test are not validated):

  • src/scenarios/server/sse-polling.ts and sse-multiple-streams.ts — both build their own uninstrumented Client
  • src/scenarios/server/http-standard-headers.ts, lifecycle.ts, stateless.ts — raw fetch calls

Observable at the CLI: running the core client suite against the typescript-sdk everything-client, only tools_call reports a wire-schema-valid check; initialize, sse-retry, and every auth scenario record no wire traffic at all.

Related cleanup while touching these files: four client-scenario inline mocks still emit the pre-#3002 top-level serverInfo on draft server/discover responses instead of _meta['io.modelcontextprotocol/serverInfo'] (request-metadata.ts, mrtr-client.ts, json-schema-ref-deref.ts, http-base.ts — src/mock-server/stateless.ts was already fixed in #403).

Suggested direction: route inline client-scenario mocks through the shared version-aware mock server where feasible, and add a small validated-fetch helper for the raw-HTTP server scenarios so intentional protocol violations can opt out explicitly.

Lenguaje dominante
TypeScript
Estrellas
130
Forks
107
Merge medio
8 d 19 h
PR fusionados (30 d)
2

Preparar el entorno

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 modelcontextprotocol/conformance

Todos los issues de modelcontextprotocol/conformance

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.