Skip to content

feat: expose negotiated protocol era and version in MCP server status - #451

Merged
LeXwDeX merged 7 commits into
mainfrom
feat/450-expose-negotiated-protocol
Aug 26, 2026
Merged

feat: expose negotiated protocol era and version in MCP server status#451
LeXwDeX merged 7 commits into
mainfrom
feat/450-expose-negotiated-protocol

Conversation

@LeXwDeX

@LeXwDeXLeXwDeX commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Closes#450

Why

MCP SDK v2 迁移后,每个 server 协商出的协议 era(modern 2026-07-28 / legacy 2025-11-25)不可见,排障只能靠猜。

What changed

  • StatusConnected schema 增加可选 era / protocolVersion(未上报时整体缺席,早退裸 connected)
  • httpapi groups 复用单一 MCP.Status 来源;JS SDK 已再生并入树
  • mcp list 渲染 connected · modern (2026-07-28)
  • protocol-era 单测 + httpapi-exercise 场景更新

Evidence

超流评审 PASS(0 P0/P1):oxlint 4814/4850 0 err;typecheck 绿;SDK regen 已提交;场景断言 era 出现/缺席规则。DAG workflow dag_fe5fc4380363FiaRrn7FiF0zed。

…tiation
- swap @modelcontextprotocol/sdk@1.29.0 for @modelcontextprotocol/client@2.0.0
(+core, server dev-only); workspace zod ^4.2.0; drop stale v1 patch
- remove StreamableHTTP->SSE fallback; Streamable HTTP failure is terminal
- handler registration moved to method strings; oauth-provider types from
client root; test mocks re-pointed to the v2 package root
- ConfigMCPV1 local/remote gain optional protocol: auto|legacy|modern,
mapped to ClientOptions.versionNegotiation (default auto probes
server/discover with 2025 fallback; modern pins 2026-07-28)
- regenerate JS SDK types; mcp auth diagnostics mirror the era mapping
- behavior note: v2 removes transparent 404 session recovery and SSE-only
(pre-2025-03-26) servers no longer connect; protocol: legacy is the
escape hatch
Closes#447Closes#448
refactor: upgrade MCP client to SDK v2 packages
@LeXwDeX
LeXwDeX marked this pull request as ready for review August 26, 2026 03:28
@LeXwDeX
LeXwDeX merged commit 5d45370 into mainAug 26, 2026
13 checks passed
@LeXwDeX
LeXwDeX deleted the feat/450-expose-negotiated-protocol branch August 26, 2026 03:58
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: expose negotiated protocol era and version in MCP server status

1 participant

@LeXwDeX