最近在试着把 MCP 集成到自己的训练流程里,想让模型通过 MCP 去调用一些外部工具,比如查数据集信息、动态加载预处理脚本。但卡在 server 端和 client 端的通信上,一直报 handshake 失败,日志里只看到 “capability negotiation timeout”。我用的 PyTorch 2.3,MCP 的 Python SDK 是 0.4.1,本地起的 stdio server。看官方示例都是和 LangChain 那种 agent 配合,很少讲跟纯深度学习训练循环怎么结合。想问问大家,MCP 在训练框架里一般放在哪一层?是包在 DataLoader 外面还是直接塞进 forward 之前?有没有踩过类似坑的老哥给点思路,谢谢了。