Symptom
After update({ title: 'New title' }) on a registered resource or resource template, resource.title is New title but resources/list still returns Old title. The same split happens for resources/templates/list.
Evidence what you'll see
- The report's table after
update({ title: 'New title' })is:resource.title/template.title→New title; list entries →Old title. - If registration had no initial title, the updated title is missing from the list response instead.
- The split still happens when the client's response cache is bypassed.
Why it happens
update({ title }) changed the handle but list responses kept the original metadata.title. Pull request 3005 synchronizes the metadata title in both resource update paths, including when other metadata is replaced in the same call.
Affected versions
Found on a source checkout of the TypeScript SDK (@modelcontextprotocol/server / @modelcontextprotocol/client). The linked issue does not name a published package version, Node version, or operating system.
Fix steps
0 of 2 done
Your check marks stay in this browser only.
How to check it worked
- After
update({ title: 'New title' }), the matchingresources/listorresources/templates/listentry hastitle: 'New title'.
If it still fails
- No published release tag contains pull request 3005. Tags
v2.3.1and@modelcontextprotocol/server@2.3.1were compared against mergeb381559edcand do not contain it. - The linked issue does not describe a remaining stale title after that pull request.
Sources and credit
Summarized in our own words from these public reports. Credit goes to their authors.
Provided as is, without warranty. Try changes in a non-production environment and back up first. Security-related steps: verify against the official docs. Terms · Request removal or attribution change
Hit an error we don't cover? Submit it