[Schema] SEP-2106: Support JSON Schema 2020-12 vocabulary in SchemaGenerator (oneOf/anyOf/allOf/if-then-else/$ref)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- php
- Bereich
- api, backend-api-design
Rechercherichtung
Beginne mit dem übergeordneten Issue #337 und SEP-2106 und untersuche anschließend src/Capability/Discovery/SchemaGenerator.php und SchemaValidator.php sowie das #[Schema]-Attribut und die hier erwähnten Reflection-/DocBlock-Pfade. Bilde den bestehenden einfachen Schema-Ablauf ab, bevor du bewertest, wie Komposition, Bedingungen, Referenzen und Union-Typen sichtbar gemacht und validiert werden sollten. Als abgeschlossen gilt die Unterstützung des aufgeführten JSON-Schema-2020-12-Vokabulars über diese Pfade hinweg, ohne die Standardwerte für same-document $ref abzuschwächen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- PHP
- Sterne
- 1.6k
- Forks
- 173
- Ø Merge
- 2 T. 49 Min.
- Gemergte PRs (30 T.)
- 23
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus modelcontextprotocol/php-sdk
-
[Server] Handler type uses bare Closure, hard to decorate RegistryInterface under strict PHPStan OffenServer
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
modelcontextprotocol/php-sdk#468 · 2 Kommentare ·
-
needs confirmation needs maintainer action Server
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
modelcontextprotocol/php-sdk#398 · 1 Reaktion ·
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
modelcontextprotocol/php-sdk#370 ·
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
modelcontextprotocol/php-sdk#510 · 1 Kommentar ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
modelcontextprotocol/php-sdk#504 ·
Alle Issues in modelcontextprotocol/php-sdk
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
getgrav/grav-plugin-api#45 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
RSS-Bridge/rss-bridge#5098 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
phingofficial/phing#2025 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
silverstripe/developer-docs#911 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100