StreamableHTTPClientTransport leaves POST requests pending when their SSE response ends or errors
POST 已收到 text/event-stream,但 request-scoped SSE 在匹配 JSON-RPC 结果前 error/EOF;transport 很快知道流已失效,请求却继续 pending 到协议 timeout。
不抄厂商宣传页:一边记录 XBSTACK MCP Inspector 实际观察到的公开远程 Server 行为,一边把 MCP、Vercel AI SDK、LangGraph、OpenAI Agents SDK 的真实兼容性问题放进同一张持续更新的工程追踪表,并明确区分“本站已复现”和“仅上游复现”。
Server 数据生成:2026年8月31日 12:04;Issue 状态核对:2026年9月1日 14:59。远程服务和上游 Issue 都会变化,这里只表示最近一次可复核观测。
| Server | 状态 | 协议 | Era | Tools | Resources | Prompts | Auth | 最近验证 |
|---|---|---|---|---|---|---|---|---|
Context7 https://mcp.context7.com/mcp 公开文档 ↗ | 已验证 | 2026-07-28 | Modern | 2 | 0 | 0 | No public auth challenge observed | 2026年8月31日 12:04 |
Microsoft Learn https://learn.microsoft.com/api/mcp 公开文档 ↗ | 已验证 | 2025-06-18 | Legacy | 3 | 0 | 0 | No public auth challenge observed | 2026年8月31日 12:04 |
DeepWiki https://mcp.deepwiki.com/mcp 公开文档 ↗ | 已验证 | 2025-11-25 | Legacy | 3 | 0 | 0 | No public auth challenge observed | 2026年8月31日 12:04 |
GitHub https://api.githubcopilot.com/mcp/ 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Vercel https://mcp.vercel.com 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Atlassian Rovo https://mcp.atlassian.com/v1/mcp/authv2 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Cloudflare API https://mcp.cloudflare.com/mcp 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Cloudflare Documentation https://docs.mcp.cloudflare.com/mcp 公开文档 ↗ | 已验证 | 2026-07-28 | Modern | 2 | 0 | 1 | No public auth challenge observed | 2026年8月31日 12:04 |
Cloudflare Workers Bindings https://bindings.mcp.cloudflare.com/mcp 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Cloudflare Workers Builds https://builds.mcp.cloudflare.com/mcp 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Cloudflare Observability https://observability.mcp.cloudflare.com/mcp 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Cloudflare Radar https://radar.mcp.cloudflare.com/mcp 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Cloudflare Digital Experience Monitoring https://dex.mcp.cloudflare.com/mcp 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Cloudflare GraphQL https://graphql.mcp.cloudflare.com/mcp 公开文档 ↗ | 已验证 | — | Unknown | — | — | — | Required / observed | 2026年8月31日 12:04 |
Cloudflare Agents SDK Documentation https://agents.cloudflare.com/mcp 公开文档 ↗ | 已验证 | 2025-11-25 | Legacy | 1 | 0 | 0 | No public auth challenge observed | 2026年8月31日 12:04 |
这里不把 GitHub Issue 自动等同于 XBSTACK 实测。只有完成本地独立复现的条目才标记为“XBSTACK 已本地复现”;其余保留上游证据、影响版本和待测状态,方便之后回来确认是否修复。
POST 已收到 text/event-stream,但 request-scoped SSE 在匹配 JSON-RPC 结果前 error/EOF;transport 很快知道流已失效,请求却继续 pending 到协议 timeout。
服务端合法重复 opaque cursor 时,自动聚合的 listTools/listPrompts/listResources 路径可能提前停止并删除 nextCursor,使漏页看起来像完整结果。
SDK 1.30.0 的 McpServer 在未显式指定 target 时会把 outputSchema 发成 draft-07;严格按 2020-12 验证的客户端可能在工具调用前直接拒绝工具。
WorkflowAgent 可以接收 abortSignal 或 timeout,但当前上游报告显示有效取消信号没有传入 Tool execute 回调;Agent 已停止后,正在运行的 fetch、数据库请求或子进程仍可能继续执行到自己的超时。
LangGraph 1.2.11 的上游最小复现显示,同样的 State 更新序列在同步 update_state 中成功,但异步 aupdate_state 会抛出 InvalidUpdateError: Ambiguous update;同步和异步路径使用了不同的 fallback 条件。
Command(resume=dict) 的普通字典值可能被误判为 interrupt-ID map:空字典和 32 位十六进制键字典会继续停留在 interrupted 状态,非字符串键字典会在键匹配时触发 TypeError。
上游报告显示,审批后的本地 Tool 成为 terminal output 时,如果最后一次 Session.add_items 写入失败,RunState 不能恢复已接受的 terminal result;重试会再次进入模型,并可能让最终输出、guardrail 证据与持久 Session 历史发生分叉。
每周只整理真正改变工程判断的版本变化、兼容性故障、XBSTACK 独立复现与已验证修复;没有足够证据就不凑一期。
表示公开端点已经按 MCP 2026-07-28 的 stateless 时代行为完成验证,Inspector 优先通过 server/discover 与无状态 list 请求判断。
表示端点仍通过 2025-era initialize/session 兼容流程被识别。Legacy 不等于不可用,只表示协议代际尚未切到当前基线。
官方 Issue 的 Open / Closed 与 XBSTACK 的本地复现是两条独立证据链。只有本站跑过最小复现,才会写入 verifiedVersions 和实测日期。
每个公开 endpoint 使用同一套 XBSTACK MCP Inspector 只读探测:优先检查 2026-07-28,失败后再做 Legacy 兼容识别;只读取 discovery 与第一屏 tools/resources/prompts list,绝不发送 tools/call。如果某个远程服务临时不可达,生成器保留上一次成功观测并标记为“历史结果”,而不是把瞬时网络错误改写成协议结论。