Repository navigation
fix(mcp): advertise ttlMs and cacheScope on list responses - #287
Open
BigWebstas wants to merge 1 commit into
Open
BigWebstas wants to merge 1 commit into
BigWebstas wants to merge 1 commit into
Conversation
Clients implementing the 2026-07-28 MCP spec (Claude Code 2.1.301) reject tools/list, prompts/list and resources/list results that lack ttlMs and cacheScope, which drops the whole server. Send a 60s private cache hint. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Claude Code 2.1.301 rejects
tools/list,prompts/listandresources/listresults that lackttlMsandcacheScope(the 2026-07-28 MCP spec makes both mandatory). The client logsInvalid result for tools/list: expected number, received undefinedforttlMsand drops the whole server, so Cortex never connects even thoughinitializeand auth succeed.Change
Send
ttlMs: 60000andcacheScope: privateon all three list responses. The lists only change when the server binary does and are auth-gated, so a private 60s hint is conservative. The tools/list test now asserts both fields.Verification
ttlMs=60000 cacheScope=privateontools/list,prompts/listandresources/list; Claude Code then connected.cargo test/rustfmt(no Rust toolchain on the authoring machine). The import list was re-wrapped by hand to rustfmt width, so please let CI confirm formatting.🤖 Generated with Claude Code