[2026-07-28] Schema modernization & error code standardization
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start with sub-issues #356–#359 and their SEP links. For the error-code work, inspect src/Schema/JsonRpc/Error.php and the protocol-version fallback described in the issue; for schema work, begin with the SchemaValidator and the listed JSON Schema vocabulary, outputSchema, structuredContent, SSRF, and DoS requirements. Done means all listed sub-issues are completed against the merged SEP requirements.
Written by the indexing model from the issue text.
Description
Tracking issue for the MCP Spec 2026-07-28 release — Schema & errors milestone.
SEPs covered
| SEP | Title | Spec PR |
|---|---|---|
| SEP-2106 | Tools inputSchema/outputSchema conform to JSON Schema 2020-12 |
#2106 |
| SEP-2164 | Standardize resource-not-found error code to -32602 |
#2164 |
Sub-issues
SEP-2106 (JSON Schema 2020-12):
- #356 — Vocabulary support (oneOf/anyOf/allOf/if-then-else/
$ref) - #357 — Allow non-object
outputSchemaandstructuredContent - #358 — Harden
SchemaValidatoragainst external$refSSRF and composition DoS
SEP-2164:
- #359 — Switch resource-not-found error code to
-32602with protocol-version-aware fallback
Notes
- Both SEPs are merged.
- SEP-2106 is the largest code-level lift this cycle for the schema layer: full JSON Schema 2020-12 vocabulary (composition, conditionals,
$ref), plus non-objectoutputSchema/structuredContent. Also requires hardening against external$refSSRF and composition DoS. - SEP-2164 is mechanically a one-constant flip in
src/Schema/JsonRpc/Error.phpwith a protocol-version-aware fallback.
- Dominant language
- PHP
- Stars
- 1.6k
- Forks
- 173
- Avg merge
- 2d 49m
- Merged PRs (30d)
- 23
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from modelcontextprotocol/php-sdk
-
[Server] Handler type uses bare Closure, hard to decorate RegistryInterface under strict PHPStan OpenServer
Difficulty 1/5 Under an hour Newbie friendliness 78/100
modelcontextprotocol/php-sdk#468 · 2 comments ·
-
needs confirmation needs maintainer action Server
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
modelcontextprotocol/php-sdk#398 · 1 reaction ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
modelcontextprotocol/php-sdk#370 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 55/100
modelcontextprotocol/php-sdk#510 · 1 comment ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
modelcontextprotocol/php-sdk#504 ·
All issues in modelcontextprotocol/php-sdk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
a11y admissions.uiowa.edu needs grooming SiteImprove best practice
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Save States Menu Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
pluginsGLPI/datainjection#673 ·