modelcontextprotocol / modelcontextprotocol/php-sdk

[2026-07-28] Schema modernization & error code standardization

Open
#337 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

2026-07-28 enhancement improves spec compliance Schema
Dominant language
PHP
Stars
1.6k
Forks
173
Avg merge
2d 49m
Merged PRs (30d)
23

Description

Tracking issue for the MCP Spec 2026-07-28 releaseSchema & 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 outputSchema and structuredContent
  • #358 — Harden SchemaValidator against external $ref SSRF and composition DoS

SEP-2164:

  • #359 — Switch resource-not-found error code to -32602 with 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-object outputSchema / structuredContent. Also requires hardening against external $ref SSRF and composition DoS.
  • SEP-2164 is mechanically a one-constant flip in src/Schema/JsonRpc/Error.php with a protocol-version-aware fallback.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

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.

Assessment

Tech stack
php
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.