MCP & Client

MCP 客户端协议协商、传输层连接与凭据清洗

解密 tools/mcp_tool.py 的 stdio/SSE 握手细节与 API 报错脱敏
工具动态协商
📊 图 10-2-1:AIAgent、MCP Client 与外部 MCP Servers 之间的工具发现与动态协商 UML 时序图

🔌 1. stdio / SSE 传输协议握手

tools/mcp_tool.py 中,系统内置了对 Model Context Protocol (MCP) 规范传输协议的支持,启动子进程并绑定 stdin/stdout 以建立传输,或者通过长链接(SSE)监听工具的实时广播。

传输协议层
📊 图 10-2-2:MCP Client 与 MCP Servers 的 stdio, SSE 和 StreamableHTTP 传输细节图

🔒 2. 安全性与凭据清洗 (_sanitize_error)

工具报错信息直接会作为大模型的 context 返回。在 mcp_tool.py 中,_sanitize_error() 方法利用严格的正则脱敏过滤 ghp_、sk-、Bearer 令牌及 API_KEY 关键字,杜绝了工具报错导致的安全凭据泄露。