MCP-DEP-003
resources/subscribe and resources/unsubscribe replaced by subscriptions/listen
“Replace the HTTP GET endpoint and resources/subscribe/resources/unsubscribe with subscriptions/listen: a single long-lived POST-response stream for opted-in server-to-client change notifications.” — spec anchor
How to fix this
Replace `resources/subscribe` and `resources/unsubscribe` with `subscriptions/listen` — one long-lived POST-response stream the client opts into.
Example: failing and passing
Violates MCP-DEP-003 · HTTP
POST /mcp HTTP/1.1
Host: mcp.example.com
Content-Type: application/json
Mcp-Method: resources/subscribe
MCP-Protocol-Version: 2026-07-28
{"jsonrpc":"2.0","id":1,"method":"resources/subscribe","params":{"uri":"file:///projects/myapp/config.json","_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}
HTTP/1.1 200 OK
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"result":{"resultType":"complete"}}Complies with MCP-DEP-003 · HTTP
POST /mcp HTTP/1.1
Host: mcp.example.com
Content-Type: application/json
Mcp-Method: resources/subscribe
MCP-Protocol-Version: 2026-07-28
{"jsonrpc":"2.0","id":1,"method":"resources/subscribe","params":{"uri":"file:///projects/myapp/config.json","_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}
HTTP/1.1 404 Not Found
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"Method not found"}}Check your own server against MCP-DEP-003
Probe P4.3 checks MCP-DEP-003 in the same request as 3 other rules, so one run shows your server's result for this rule next to the rest. Validate a server or read how the validator works.
Background on this topic: the 2026-07-28 migration guide.
Other Deprecated and removed features rules
- MCP-DEP-001ping is no longer implemented
- MCP-DEP-002logging/setLevel is no longer implemented
- MCP-DEP-004No legacy HTTP+SSE endpoint is served
- MCP-DEP-005Roots / Sampling / Logging capabilities are not advertised
- MCP-DEP-006Server accepts initialize (dual-era support)
- MCP-DEP-007A modern-only server names its supported versions in the initialize error