modelcontextprotocol / modelcontextprotocol/php-sdk
[Schema] SEP-2106: Support JSON Schema 2020-12 vocabulary in SchemaGenerator (oneOf/anyOf/allOf/if-then-else/$ref)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- PHP
- Estrellas
- 1.6k
- Forks
- 173
- Merge medio
- 2 d 49 min
- PR fusionados (30 d)
- 23
Descripción
Implements the vocabulary portion of SEP-2106 for the MCP Spec 2026-07-28 release.
Tracked by umbrella #337.
Spec summary
inputSchemakeepstype: "object"required but accepts any JSON Schema 2020-12 vocabulary (oneOf/anyOf/allOf/not,if/then/else,$ref/$defs/$anchor).
PHP SDK changes
src/Capability/Discovery/SchemaGenerator.phpandSchemaValidator.phpneed to emit/validate full JSON Schema 2020-12 composition, conditionals,$ref(same-document only by default).#[Schema]attribute should accept composition keywords.- Reflection/DocBlock paths today produce simple
{type, properties}only — extend to surface union types asoneOf/anyOf.
Related
- Umbrella #337
- Companion sub-issues: non-object outputSchema,
$refhardening
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el issue general #337 y SEP-2106, y después inspecciona src/Capability/Discovery/SchemaGenerator.php y SchemaValidator.php, junto con el atributo #[Schema] y las rutas de reflection/DocBlock mencionadas aquí. Mapea el flujo de esquema simple existente antes de evaluar cómo deberían exponerse y validarse la composición, las condicionales, las referencias y los tipos unión. Se considera terminado cuando el vocabulario de JSON Schema 2020-12 indicado sea compatible en estas rutas sin debilitar los valores predeterminados de $ref same-document.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- api, backend-api-design
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100