项目简介

TsAgent 是一个基于 TypeScript 构建的开源平台,专注于 AI 代理的构建、测试、运行和编排。它提供了一个完整的生态系统,包括用于无代码代理创建的桌面应用和命令行工具,以及用于生产环境的代理服务器。通过支持 Model Context Protocol (MCP),TsAgent 服务器能以标准化方式向 LLM 客户端提供代理的上下文信息和调用能力。

主要功能点

  • 代理能力托管: TsAgent 服务器能托管不同类型的 AI 代理,包括交互式代理、自主代理和工具代理。
  • 上下文管理: 允许代理使用“引用”(内存、事实数据)和“规则”(Prompt 指导)来维护持久化知识。
  • 工具集成: 支持通过 MCP 协议连接和管理数千种外部工具,供 LLM 代理调用。
  • LLM 提供商支持: 与所有主流 LLM 提供商(如 OpenAI, Anthropic, Google, AWS Bedrock, Ollama)无缝协作。
  • 多种 MCP 服务器: 提供专门的 MCP 服务器用于代理编排、将工具代理公开为 MCP 工具,以及进行代理管理(创建、配置、管理规则、引用、工具、提供商等)。
  • 多种传输协议: 支持通过 Stdio, SSE, WebSocket 等协议与 MCP 客户端通信。

安装步骤

TsAgent 的 MCP 服务器组件通常作为 '@tsagent' NPM 包的一部分发布。您可以使用 npm 或 yarn 安装所有开发工具,其中包括 MCP 服务器组件:

npm install @tsagent/core @tsagent/cli @tsagent/server @tsagent/acp-server @tsagent/orchestrator @tsagent/meta-mcp @tsagent/agent-mcp

或者单独安装特定的 MCP 服务器组件,例如:

npm install @tsagent/orchestrator  # 用于编排 A2A 代理服务器的 MCP 服务器
npm install @tsagent/meta-mcp     # 用于将工具代理公开为 MCP 工具的 MCP 服务器
npm install @tsagent/agent-mcp    # 用于管理 TsAgent 代理的 MCP 服务器

服务器配置 (供 MCP 客户端使用)

MCP 客户端需要配置 MCP 服务器的连接信息,以便与 TsAgent 提供的 MCP 服务器进行通信。以下是一些 TsAgent MCP 服务器组件的典型配置示例:

1. TsAgent Orchestrator (代理编排 MCP 服务器):

这是一个用于编排其他 A2A 代理服务器的 MCP 服务器。

  • 启动命令:

    npx @tsagent/orchestrator
    # 或者如果全局安装:
    tsagent-orchestrator
  • MCP 客户端配置示例 (假设通过 Stdio 传输协议连接):

    {
      "serverName": "TsAgent Orchestrator",
      "config": {
        "type": "stdio",
        "command": "tsagent-orchestrator",
        "args": [],
        "description": "用于编排其他 TsAgent 代理的 MCP 服务器。"
      }
    }
    • 'serverName': 为您的 MCP 服务器指定的名称,方便在客户端识别。
    • 'config.type': 指定服务器的传输协议类型,这里是 'stdio'(标准输入/输出)。
    • 'config.command': 启动 MCP 服务器的可执行命令。
    • 'config.args': 传递给启动命令的参数列表。

2. TsAgent Meta MCP (工具代理 MCP 服务器):

这个服务器可以将一个或多个“工具代理”的能力作为标准的 MCP 工具暴露出来。工具代理通过执行 Prompt 模板来响应工具调用。

  • 启动命令:

    npx @tsagent/meta-mcp /path/to/your-tools-agent.yaml
    # 或者如果全局安装:
    tsagent-meta-mcp /path/to/your-tools-agent.yaml

    请将 '/path/to/your-tools-agent.yaml' 替换为您的工具代理配置文件的实际路径。

  • MCP 客户端配置示例 (假设通过 Stdio 传输协议连接):

    {
      "serverName": "我的工具代理MCP",
      "config": {
        "type": "stdio",
        "command": "tsagent-meta-mcp",
        "args": [
          "/path/to/your-tools-agent.yaml"
        ],
        "description": "将指定工具代理的能力公开为 MCP 工具,供 LLM 客户端调用。"
      }
    }
    • 'serverName': 为您的 MCP 服务器指定的名称。
    • 'config.type': 这里是 'stdio'。
    • 'config.command': 启动 Meta MCP 服务器的可执行命令。
    • 'config.args': 包含您的工具代理配置文件路径的参数。

3. TsAgent Agent Management MCP (代理管理 MCP 服务器):

这个服务器提供 MCP 工具,用于创建、配置和管理 TsAgent 平台上的各种代理。

  • 启动命令:

    npx @tsagent/agent-mcp
    # 或者如果全局安装:
    tsagent-agent-mcp
  • MCP 客户端配置示例 (假设通过 Stdio 传输协议连接):

    {
      "serverName": "TsAgent 管理MCP",
      "config": {
        "type": "stdio",
        "command": "tsagent-agent-mcp",
        "args": [],
        "description": "提供代理创建、配置、规则、引用、工具和提供商管理等 MCP 工具。"
      }
    }
    • 'serverName': 为您的 MCP 服务器指定的名称。
    • 'config.type': 这里是 'stdio'。
    • 'config.command': 启动 Agent Management MCP 服务器的可执行命令。
    • 'config.args': 该服务器通常不需要额外的启动参数。

重要提示:

  • 'command' 字段应为可执行文件或通过 'npx' 调用的脚本。
  • 'args' 字段是传递给 'command' 的命令行参数列表。
  • 'type' 字段指定传输协议,目前主要示例是 'stdio' (标准输入/输出)。
  • 实际部署中,可能需要考虑不同的 'type' (如 SSE, WebSocket) 或 'env' (环境变量) 配置。

基本使用方法

一旦 MCP 服务器启动并配置到您的 MCP 客户端中,您的 LLM 客户端 (如 Claude Desktop 或其他兼容客户端) 就可以通过以下方式与 TsAgent 代理进行交互:

  1. 调用工具: LLM 客户端可以发现并调用 TsAgent 服务器公开的工具 (例如,通过 Meta MCP 暴露的工具代理功能)。
  2. 管理上下文: LLM 客户端可以利用 Agent Management MCP 提供的工具来管理代理的规则和引用,动态调整其行为和知识。
  3. 获取代理状态: 客户端可以请求代理的元数据、配置和会话状态。

例如,一个 LLM 代理可以调用 'TsAgent 管理MCP' 提供的 'createRule' 工具来动态创建一个新规则,或者调用 '我的工具代理MCP' 中某个工具代理提供的 'summarizeDocument' 工具来处理文档。

信息

分类

开发者工具