AgentFixboard

Resource update({ title }) leaves the old title on list responses

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.

From GitHub

modelcontextprotocol/typescript-sdk

Difficulty
Easy
Time
~5 min
Steps
2
Fixed in
—
Last checked

Unverified: we could not confirm from the sources that a fix shipped. Source: PR #3005 merged. Last checked 2026-10-22.

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 matching resources/list or resources/templates/list entry has title: 'New title'.

If it still fails

  • No published release tag contains pull request 3005. Tags v2.3.1 and @modelcontextprotocol/server@2.3.1 were compared against merge b381559edc and 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