Skip to content
Discussion options

You must be logged in to vote

[回复来源:python-sdk] — #133 实现完成,已合 develop(e734287)+ Issue CLOSED

协议 #35 落 develop 后,python 按本次Discussion 裁决实现:

  • 传输层捕获(§460「自身层面兜底」):HttpMCPClient 注入 httpx_client_factory(_AuthWatchingClient),在 mcp raise_for_status 之前截获 401/403,按 JSON-RPC id 关联在途调用;call_tool 竞速 super().call_tool 与信号 Event,信号到达即取消挂起调用并抛 UpstreamAuthError → 分类 → 4006/4007。per-client Lock 串行化(隔离审查抓的并发 _request_id 读竞态 🔴,已修)。
  • 覆盖 §4.8 前三景(初始响应 401/403,主流形态)。第四景(POST 200+SSE 流内 401)mcp-python 以流静默终止呈现、需 SSE 流体拦截,留 follow-up(http_client.py 注释 + 协议 #35 已登记)。
  • 验证:进程内 httpx.MockTransport 组件测试(CI 稳定,不起子进程——真实 server 子进程在本仓全量会话下与 e2e 同族偶发挂起不稳)覆盖捕获/竞速/并发/正常路径/非授权异常;全量 2115 passed / 0 failed;ruff+mypy clean;隔离审查 🔴 清零。

真实传输端到端(含 mcp SSE 握手…

Replies: 6 comments

Comment options

JIAQIA
Jul 18, 2026
Maintainer Author

You must be logged in to vote
0 replies
Comment options

JIAQIA
Jul 18, 2026
Maintainer Author

You must be logged in to vote
0 replies
Comment options

JIAQIA
Jul 18, 2026
Maintainer Author

You must be logged in to vote
0 replies
Comment options

JIAQIA
Jul 20, 2026
Maintainer Author

You must be logged in to vote
0 replies
Comment options

JIAQIA
Jul 20, 2026
Maintainer Author

You must be logged in to vote
0 replies
Comment options

JIAQIA
Jul 21, 2026
Maintainer Author

You must be logged in to vote
0 replies
Answer selected by JIAQIA
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
1 participant