Repository navigation
Mark identity-dependent MCP results private for caching - #15957
Conversation
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
The checklist omits five of seven MCPGODEBUG options scheduled for removal and needs to clarify that asynchronous cancellation is already the v1.8.0 default, while v1.9.0 removes the blocking opt-out.
1 open issue
What changed in this PR
Marks cacheable MCP results private in the shared server setup to protect responses filtered by identity or security labels.
Changes:
- Forces private cache scopes while preserving cache lifetime hints.
- Adds regression coverage for all four list methods and resource reads with unset, public, and private scopes.
- Documents the retained SDK version, stdio frame limits, and upgrade compatibility checks.
| File | Description |
|---|---|
internal/​server/​http_server.go |
Applies the private cache policy centrally. |
internal/​server/​http_server_test.go |
Checks cache scopes and preserved cache lifetimes through an SDK session. |
AGENTS.md |
Records cache policy, transport limits, and SDK upgrade guidance. |
Review effort: Max (auto)
Updated notes on MCPGODEBUG options scheduled for removal in v1.9.0 and added details for testing launcher shutdown behavior. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
🔒 mcpg Read-Only Stress — defaultSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: INCONCLUSIVE No write leaked through mcpg in this run. Parts A and C (reads) fully PASS. Part B is INCONCLUSIVE because the backend GitHub MCP server (launched with Full details:
|

The SDK review identified default-public cache scopes as unsuitable for identity- and DIFC-filtered results. It also called for checking stdio frame limits and v1.9 compatibility risks.
cacheScope: "private"centrally throughServerOptions.SetCacheable, including when resource handlers specify"public". Preserve TTL hints.CommandTransportlimit, absence of repositoryMCPGODEBUGsettings, and pre-v1.9 cancellation/shutdown checks.