feat(mcp): classify supported-but-outdated MCP clients as stale#2622
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-02 23:28:40 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 6 non-blocking
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2622 +/- ##
=======================================
Coverage 96.04% 96.04%
=======================================
Files 234 234
Lines 26209 26211 +2
Branches 9510 9511 +1
=======================================
+ Hits 25173 25175 +2
Misses 425 425
Partials 611 611
🚀 New features to boost your workflow:
|
…rage Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
classifyMcpClientVersionpreviously treated every MCP client at or above the minimum supported version (0.5.0) ascurrent, even when below the latest recommended version (0.6.0). The type system, operator dashboard, and analytics surfaces already model astaletier (mcpCompatibilityAdoption.staleEvents,byCompatibilityStatus), but live telemetry never populated it for auto-derived classifications.This change completes the three-tier compatibility model:
< 0.5.0→incompatible>= 0.5.0and< 0.6.0→stale>= 0.6.0→currentNo linked issue — this is a small, self-contained gap fix discovered by tracing MCP telemetry through
buildMcpClientTelemetry→classifyMcpClientVersion→ analytics rollups.Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally;codecov/patchrequires ≥99% coverage of the lines AND branches you changed (aim for 100% on your diff so CI variance does not fail near the threshold). Global coverage is a non-blocking trend with a loose 90% backstop, not the gate.npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateIf any required check was skipped, explain why:
npm run test:ci(includes all checks above).Safety
UI Evidencesection below with JPG/JPEG or PNG screenshots arranged as organized, captioned, clickable thumbnails. SVG screenshots are not used as review evidence. Review-only screenshots or recordings are not committed to the repository.UI Evidence
N/A — backend telemetry classification only; no visible UI changes.
Notes
staletier, prerelease edge cases, and MCP server telemetry header classification (0.5.0→stale).