通过MCP为Claude智能体动态接入外部工具与知识数据
Agent负责自主执行,Claude提供模型能力,MCP按服务器地址注入工具,DeepWiki提供可直接使用的仓库知识工具。
方案简介
这是一个基于 Swarms Agent、Claude 模型和 Model Context Protocol(MCP)的外部工具访问方案。Agent 是 Swarms 中的基础执行单元,能够由大语言模型、工具和记忆共同驱动;启用 MCP 后,Agent 可以通过 MCP 服务地址获得外部工具与数据访问能力。方案适合需要让智能体查询代码仓库、调用远程工具,或把外部知识服务接入推理流程的场景。README 使用 DeepWiki 作为公开 MCP 服务示例,让智能体解释 kyegomez/swarms 仓库的功能。
亮点与能力
- 使用
mcp_url或mcp_urls为 Agent 启用 MCP 能力。 - 可以接入一个或多个 MCP 服务器提供的工具。
- 通过公开 MCP 服务直接访问外部工具和数据。
- 使用 Claude Sonnet 5 作为示例模型执行任务。
- 通过
max_loops=1控制示例任务只运行一轮。 - 可以让 Agent 使用工具解释指定 GitHub 仓库的功能。
组成与分工
- Swarms:提供 Agent 类和整体多智能体编排框架。
- Agent:承载模型、MCP 地址和任务执行逻辑,是方案的运行主体。
- Claude Sonnet 5:作为 Agent 的大语言模型,在示例中通过
model_name指定。 - Model Context Protocol:定义 Agent 访问外部工具和数据的接入方式。
- DeepWiki:作为免费的公开 MCP 服务器,为 Agent 提供可直接使用的工具。
- mcp_url:保存 MCP 服务器地址,使 Agent 自动获得对应工具。
前置要求
需要准备 Python 环境、Swarms 包以及可用的模型凭据。README 给出了三种包安装方式;推荐使用 uv,也可以使用 pip 或 Poetry。使用源码时需要先克隆仓库,再安装 requirements.txt。环境变量示例包含 OPENAI_API_KEY、WORKSPACE_DIR、ANTHROPIC_API_KEY 和 GROQ_API_KEY;本方案使用 Claude,因此应准备对应的 Anthropic 凭据。
推荐安装:
$ uv pip install swarms
环境配置:
OPENAI_API_KEY=""
WORKSPACE_DIR="agent_workspace"
ANTHROPIC_API_KEY=""
GROQ_API_KEY=""
实施步骤
1. 安装 Swarms
使用 README 推荐的 uv 安装方式:
$ uv pip install swarms
也可以使用 pip:
$ pip3 install -U swarms
2. 配置环境变量
在运行前准备模型相关的 API Key,并按 README 的变量名配置 ANTHROPIC_API_KEY 等环境项;工作目录可使用 WORKSPACE_DIR 指定。
3. 创建 MCP Agent
从 swarms 导入 Agent,将 model_name 设为 claude-sonnet-5,并把公开 MCP 地址写入 mcp_url。同时设置循环次数、温度、最大 token 数和推理强度。
4. 提交工具任务
调用 agent.run,让 Agent 使用 MCP 工具解释目标仓库。将返回值交给 print,即可看到最终结果。
使用与配置要点
核心配置应保持与 README 示例一致:
from swarms import Agent
agent = Agent(
agent_name="MCP-Agent",
model_name="claude-sonnet-5",
mcp_url="https://mcp.deepwiki.com/mcp",
max_loops=1,
temperature=None,
max_tokens=16_000,
reasoning_effort=None,
)
print(
agent.run(
"Use your tools to explain what the kyegomez/swarms repository does."
)
)
验证是否跑通的直接方式是执行 agent.run 并打印返回结果。任务文本应明确要求 Agent 使用工具;示例任务要求解释仓库功能,能够验证 MCP 工具已经被纳入 Agent 的执行过程。
注意事项与常见问题
- MCP 工具接入依赖服务器 URL,地址必须指向可访问的 MCP 服务。
- README 明确说明,设置
mcp_url或mcp_urls后无需手动配置工具。 - 示例使用
max_loops=1,适合一次性验证;README 同时说明max_loops="auto"可让 Agent 自行判断任务何时完成,适合开放式、多步骤任务。 - 如果任务是延迟或成本敏感的生产流水线,应使用固定的
max_loops值;如果步骤数量取决于中间结果,则适合自动循环。
优缺点
- ✓ 无需手动配置工具
- ✓ 支持一个或多个MCP服务器
出处
本方案挖掘自开源项目 kyegomez/swarms,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。