使用说明

项目简介

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 服务器可以向客户端声明其提供的能力。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/The-Swarm-Corporation/Swarms-API
    cd Swarms-API
  2. 安装依赖: 建议使用 Python 虚拟环境。

    pip install -r requirements.txt
    pip install fastmcp httpx requests python-dotenv
  3. 配置环境变量: 复制 '.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())

基本使用方法

  1. 启动 MCP 服务器: 在 'Swarms-API' 仓库根目录下,打开终端并运行以下命令启动 MCP 服务器 (SSE 传输协议):

    python mcp/swarms_api_mcp.py

    服务器默认监听 'http://localhost:8000/sse'。

  2. 配置 MCP 客户端: 在 MCP 客户端中,根据上述 “服务器配置” 中的信息,配置连接到 'http://localhost:8000/sse' 的 MCP 服务器。

  3. 使用 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与计算