使用说明
项目简介
Swarms API 是一个用于构建、部署和编排 AI 智能体系统的 REST API 服务。该仓库除了提供 REST API 外,还实现了基于 FastMCP 的 MCP 服务器功能,允许 LLM 客户端通过 Model Context Protocol (MCP) 协议与 Swarms API 服务进行交互,以标准化的方式利用其提供的多智能体系统能力。
主要功能点
- 资源管理 (Resources): Swarms API 管理和托管多智能体系统相关的资源,例如智能体配置、模型选择、任务队列等。虽然仓库文档没有明确提及“资源”的 MCP 概念,但其 API 设计和多智能体管理功能可以被视为一种资源管理形式。
- 工具注册和执行 (Tools): 通过 'fastmcp' 库的 '@mcp.tool' 装饰器,仓库注册了 'swarm_completion' 和 'swarms_available' 两个工具,允许 MCP 客户端调用 Swarms API 的核心功能,例如运行智能体集群完成任务、获取可用智能体类型列表等。
- Prompt 模板 (Prompts): 虽然仓库没有明确定义和渲染 Prompt 模板的功能,但 Swarms API 的核心是管理和执行多智能体“Swarm”,用户可以通过配置 'SwarmSpec' 和 'AgentSpec' 对象来自定义智能体的行为和 Prompt,可以被视为一种动态 Prompt 模板的应用。
- JSON-RPC 协议通信: MCP 服务器基于 'fastmcp' 库构建,默认使用 JSON-RPC 协议与客户端通信。
- SSE 传输协议: MCP 服务器示例代码配置使用 SSE (Server-Sent Events) 作为传输协议 ('mcp.run(transport="sse")')。
- 会话管理和能力声明: Swarms API 通过 API Key 进行身份验证和授权,实现了基本的会话管理。通过 'swarms_available' 工具,MCP 服务器可以向客户端声明其提供的能力。
安装步骤
-
克隆仓库:
git clone https://github.com/The-Swarm-Corporation/Swarms-API cd Swarms-API -
安装依赖: 建议使用 Python 虚拟环境。
pip install -r requirements.txt pip install fastmcp httpx requests python-dotenv -
配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',然后根据需要配置 'SWARMS_API_KEY' 环境变量。你需要一个有效的 Swarms API 密钥才能使用该服务。
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能与 MCP 服务器建立连接。以下是基于仓库信息生成的 MCP 服务器配置信息,为json格式:
{ "server name": "swarms-api-mcp", "command": "python", "args": [ "mcp/swarms_api_mcp.py" ], "description": "Swarms API MCP Server using SSE transport", "transport": "sse" }
参数注释:
- '"server name"': MCP 服务器的名称,可以自定义。
- '"command"': 启动 MCP 服务器的命令,这里使用 'python' 命令。
- '"args"': 启动命令的参数,指向 'mcp/swarms_api_mcp.py' 脚本,该脚本包含了 MCP 服务器的实现代码。
- '"description"': 对该服务器配置的描述信息。
- '"transport"': 指定 MCP 服务器使用的传输协议,这里配置为 'sse' (Server-Sent Events)。
MCP 客户端配置示例 (以 fastmcp 客户端为例):
from fastmcp import Client import asyncio async def main(): async with Client(transport="http://localhost:8000/sse") as client: # 假设 MCP 服务器运行在 http://localhost:8000/sse tools = await client.list_tools() print("Available tools:", tools) # 调用 MCP 服务器提供的工具 result = await client.call_tool("swarms_available", None) print("Swarms available:", result) if __name__ == "__main__": asyncio.run(main())
基本使用方法
-
启动 MCP 服务器: 在 'Swarms-API' 仓库根目录下,打开终端并运行以下命令启动 MCP 服务器 (SSE 传输协议):
python mcp/swarms_api_mcp.py服务器默认监听 'http://localhost:8000/sse'。
-
配置 MCP 客户端: 在 MCP 客户端中,根据上述 “服务器配置” 中的信息,配置连接到 'http://localhost:8000/sse' 的 MCP 服务器。
-
使用 MCP 客户端调用工具: 使用 MCP 客户端提供的 API (例如 'fastmcp' 客户端的 'client.call_tool'),调用 MCP 服务器注册的工具,例如 'swarm_completion' 和 'swarms_available',以利用 Swarms API 的多智能体系统功能。 具体工具的使用方法和参数可以参考仓库中的 'mcp/test_api.py' 示例代码。
注意:
- 启动 MCP 服务器前,请确保已经正确安装了所有依赖,并配置了有效的 'SWARMS_API_KEY' 环境变量。
- MCP 客户端需要根据实际情况配置 MCP 服务器的地址和传输协议。
- 详细的 API 文档和使用示例请参考 Swarms API Docs。
信息
分类
AI与计算