项目简介
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 代理进行交互:
- 调用工具: LLM 客户端可以发现并调用 TsAgent 服务器公开的工具 (例如,通过 Meta MCP 暴露的工具代理功能)。
- 管理上下文: LLM 客户端可以利用 Agent Management MCP 提供的工具来管理代理的规则和引用,动态调整其行为和知识。
- 获取代理状态: 客户端可以请求代理的元数据、配置和会话状态。
例如,一个 LLM 代理可以调用 'TsAgent 管理MCP' 提供的 'createRule' 工具来动态创建一个新规则,或者调用 '我的工具代理MCP' 中某个工具代理提供的 'summarizeDocument' 工具来处理文档。
信息
分类
开发者工具