Symfony meluncurkan paket symfony/json-schema untuk rilis Symfony JsonSchema 8.2. Pengumuman resmi muncul dalam catatan fitur 20 Oktober 2026. Namun, branch 8.2 masih under development. Target stabilisasi November 2026 tercantum di halaman rilis resmi. Sementara itu, Symfony 8.1 tetap jalur stabil saat ini. Komponen ini bukan server MCP, melainkan generator schema untuk dokumentasi API dan deskripsi argumen tool agent.
Dari tipe PHP ke JSON Schema
Engine generator berasal dari paket API Platform json-schema tanpa bagian khusus API Platform. Generator membaca properti kelas lewat PropertyInfo. Metadata Serializer (grup, name converter, discriminator) dan constraint Validator ikut dipetakan. Jadi, constraint NotBlank dapat menjadi minLength: 1 pada contoh resmi. Properti tanpa default masuk daftar required. Output memakai JSON Schema draft 2020-12.
API inti meliputi SchemaGenerator::create() dan Type::object(Book::class). Meski demikian, Symfony menegaskan: tidak setiap aturan runtime PHP selalu terjemah sempurna ke JSON Schema. Tim perlu meninjau schema pada edge case custom normalizer atau constraint eksotis. Generator membantu tim yang sudah memetakan entity lewat Serializer groups agar dokumentasi API selaras dengan payload JSON produksi.
Attribute #[JsonSchemaConstraint] memberi kontrol granular pada parameter method tanpa menulis schema JSON manual per field. Kombinasi dengan PHPDoc @param membantu agent memahami deskripsi argumen bila dependency parser terpasang.
Symfony JsonSchema untuk OpenAPI dan tool AI
Kelas Configuration memilih dialect OpenAPI 3.1 atau 3.0, arah input/output, dan grup serialisasi. Pola yang sama bisa dipakai berulang lewat SchemaDocument. Tetapi, definisi schema OpenAPI tidak perlu ditulis ulang manual antara model PHP, Validator, dan spec HTTP.
Untuk agent AI, metode generateForParameters() membuat schema dari parameter method PHP. Sumbernya meliputi tipe deklarasi, nilai default, deskripsi @param, dan attribute #[JsonSchemaConstraint]. Lantaran itu, deskripsi @param membutuhkan paket phpstan/phpdoc-parser. Parameter object sering memakai $ref. Kemudian, method flatten() meng-inline definisi agar payload self-contained. Format ini, menurut Symfony, cocok untuk klien MCP dan penyedia LLM. Walau begitu, opsi allowExtraAttributes: false menolak properti tak dikenal pada schema keluaran generator.
Instalasi dan konteks ecosystem PHP
Instalasi via composer require symfony/json-schema. Symfony mencatat komponen ini hanya membutuhkan PHP 8.2. Kompatibilitas mencakup komponen Symfony 7.4. Proyek seperti Symfony AI bisa mengadopsinya sebelum upgrade penuh ke 8.2. Berbeda dengan itu, Symfony 8.2 penuh mensyaratkan PHP 8.4 menurut halaman rilis. Syarat PHP komponen JsonSchema sendiri lebih rendah. Setelah paket terpasang, service SchemaGeneratorInterface dapat Anda inject seperti service Symfony lain.
Developer PHP yang mengikuti rilis ekosistem dapat membandingkan announcement ini dengan patch keamanan Symfony Oktober 2026 dan ringkasan fitur Symfony 8.2 untuk developer PHP. Pengenalan kerangka Symfony lebih luas ada di glosarium Apa Itu Symfony, sementara alur berita rilis PHP tercatat di PHP News.
Proyek WordPress atau Laravel yang hidup berdampingan dengan layanan Symfony AI dapat memakai komponen ini saat mendefinisikan tool callable dari agent. Akhirnya, upgrade monolith ke 8.2 penuh tidak wajib dulu. Referensi PIE 1.5 untuk ekstensi PHP menunjukkan ekosistem PHP terus menambah jalur instalasi dependency di luar PECL klasik.
Setelah Symfony 8.2 stabil, langkah berikutnya worth watching adalah dokumentasi komponen lengkap dan adopsi di bundle OpenAPI atau proyek MCP PHP. Ternyata, klaim integrasi tetap preview fitur, bukan kontrak rilis final.