You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用claude-agent-sdk-python时,如何调用子代理仅加载所需MCP服务器?

为Claude子代理单独配置特定MCP服务器

你可以通过在启动子代理的Task工具中单独指定所需的MCP服务器实例来解决这个问题,不需要在主代理的ClaudeAgentOptions里传入所有MCP服务器。具体操作如下:

  1. 提前创建好各功能对应的MCP服务器实例
# 示例:创建不同用途的MCP服务器
document_mcp = create_sdk_mcp_server(
    # 文档处理MCP的专属配置参数
)
data_analysis_mcp = create_sdk_mcp_server(
    # 数据分析MCP的专属配置参数
)
  1. 主代理仅配置自身需要的MCP服务器
main_options = ClaudeAgentOptions(
    mcp_servers=self.get_main_agent_mcp_servers(),  # 只传主代理自用的MCP
    allowed_tools=self.get_allowed_tools(),
)
  1. 在触发子代理的Task工具中指定专属MCP服务器
    启动子代理时,在Task对象里通过mcp_server参数传入该子代理对应的MCP实例即可:
# 示例:启动文档处理子代理,仅传入它需要的MCP服务器
document_subagent_task = Task(
    name="document_processor",
    description="处理文档解析与提取任务的子代理",
    mcp_server=document_mcp,  # 这里只传该子代理所需的MCP
    # 其他子代理配置(如system_prompt、allowed_tools等)
)

这样配置后,每个子代理只会加载你指定的那一个MCP服务器,不会继承主代理的全量MCP列表,既能减少系统负载,也能降低不必要的成本。

内容的提问来源于stack exchange,提问作者Labeeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 13:32:38