用途:用于评审或调试通过 mcp-use(pip install mcp-use)连接现有 MCP 服务器的 Python 代码。核心前提:mcp-use 是客户端 SDK,负责把 LangChain LLM 连接到已有 MCP 服务器并发现工具;它不用于构建或暴露 MCP 服务器。若文件消费 MCP 工具,应导入 mcp_use(MCPClient、MCPAgent、MCPSession);若提供工具,才可能导入 mcp.server 或 mcp-use/server。混用客户端与服务器导入通常是错误的。
配置:mcpServers dict 遵循 Claude Desktop/Cursor 约定,按键自动判断传输类型——含 command 走 Stdio;含 url 走 Http(优先 Streamable HTTP,回退 SSE);含 ws_url 走 WebSocket。可通过 MCPClient(config=...)、from_dict 或 from_config_file 加载配置。
用法:高层用 MCPAgent,agent.run() 负责连接、初始化、发现工具并运行循环;低层需手动 await create_all_sessions()、get_session()、await list_tools()、await call_tool()、await close_all_sessions()。仅解析配置是同步的,协议调用与连接均需 async/await。
常见问题:把 mcp_use 与 mcp.server 混淆;误用 @tool 装饰器定义本地工具;手工编写工具 schema;遗漏异步生命周期步骤;给工具名加命名空间前缀;使用过时的 LangChain 导入路径。评审清单覆盖导入正确性、配置键名、异步正确性、生命周期与工具使用。
测试:可用 pytest、AsyncMock、patch 和 mcp.types 的 Tool、CallToolResult、TextContent 模拟 MCP 服务器,验证工具发现、工具调用及完整 agent 循环。
限制:本技能针对 mcp-use 客户端消费场景,未提供无关服务器开发的完整指南;价格、平台和效果等信息暂未提供。