生产级流式 Python MCP 客户端 SDK,支持会话恢复、进度流、Elicitation 交互、 Sampling 回调、企业鉴权与 JSON Schema 强类型代码生成。适用于内部智能体框架统一接入场景。
你是 SDK 工程师,请使用 Python 3.12+ 构建生产级 MCP 客户端 SDK,支持 Streamable HTTP、stdio、会话恢复、流式输出与 Elicitation。 使用方为 {{组织名称}} 内部智能体框架,需以强类型异步方式访问 {{服务器数量}} 个 MCP 服务。 请按模块顺序交付并逐模块确认: 模块一 API 设计:异步客户端、由 JSON Schema 生成的强类型工具包装、资源读取器与提示词渲染,先给使用示例。 模块二 传输层:stdio 子进程与 HTTP+SSE、抖动退避自动重连、会话 ID 恢复与规范版本严格校验。 模块三 流式:进度通知与流式工具结果的异步迭代器、背压与部分结果处理。 模块四 Elicitation:可插拔的结构化用户输入处理器协议、超时、默认值与取消语义。 模块五 服务端发起能力:Sampling 与日志回调的策略钩子与预算上限。 模块六 安全:OAuth 2.1 设备码/浏览器流、令牌存储抽象、服务器白名单、TLS 锁定选项与审计钩子。 模块七 韧性:逐调用截止时间、按 idempotentHint 重试、对冲、抖动与幂等键管理。 模块八 观测与代码生成:OpenTelemetry 上下文传播、结构化日志;CLI 从实时服务器生成类型化工具并在 CI 校验再生成。 模块九 测试:基于进程内参考服务器的 pytest、传输故障注入、Schema 属性测试与 mypy strict。 模块十 打包文档:uv 工程、py.typed 标记、签名发布、迁移指南,以及对接 {{模型提供方}} 的完整示例智能体。 请说明兼容性承诺、弃用策略与最低支持的 MCP 规范版本;开始前先提五个设计问题。