关于 CLI Integradora para Arcee, TESS e MCP
该命令行工具为使用 TESS、Arcee AI 和 MCP API 的用户提供统一入口,可操作工具与 Agent、上传文件并通过模型生成内容;适配器用于隔离各项集成。
主要功能
- 01统一访问 TESS、Arcee 和 MCP
- 02列出、搜索和查看工具
- 03传参运行工具与 Agent
- 04为 Agent 上传文件
- 05使用 Arcee 模型生成内容和聊天
- 06基于适配器集成 API
适用场景
- 01查找并运行 TESS 工具
- 02查看或执行 Agent
- 03上传供 Agent 使用的文件
- 04通过 Arcee AI 生成内容
MCP 相关
该命令行工具使用官方 MCP SDK 调用 TESS-MCP 和 MCP API,可列出、搜索、查看和执行可用工具,也可通过 TESS-MCP 访问 Agent。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Arcee、TESS 和 MCP 集成 CLI
本项目实现了一个命令行界面(CLI),用于集成第三方 API,包括 Arcee AI、TESS 和 Model Context Protocol 官方 SDK(@sdk-mcp)。项目遵循整洁架构和领域驱动设计(DDD)原则。
集成概览
此 CLI 不会重新实现所集成的服务,而是作为一个抽象层,用于:
- 统一访问多个服务(Arcee、TESS、MCP)
- 标准化接口,方便使用
- 在不修改底层 API 的情况下,为 CLI 添加特定功能
组件架构
MCP(Model Context Protocol)
MCP 是一种标准化协议,可促进语言模型与外部工具之间的通信。本项目使用 MCP 官方 SDK(@sdk-mcp)实现这种通信,不会修改或重新实现该协议。
TESS-MCP 服务
TESS-MCP 服务负责实现 TESS(Tool Execution Subsystem)与 MCP 之间的集成。该服务:
- 编排并管理可供 AI 模型使用的工具
- 提供用于列出和执行 AI Agent 的 API
- 管理文件上传与整理
- 支持与“tess-ai-light”等语言模型交互
TESS 与 MCP 协同工作,让模型能够以标准化方式请求和使用工具。
CLI(命令行界面)
CLI 使用 TESS-MCP 服务、Arcee AI 和 MCP 的 API,为最终用户提供统一界面。它不会重新实现这些功能,只提供标准化的访问方式。
Arcee AI
Arcee AI 是一个完整的 AI 平台,包括:
- Arcee Orchestra:用于构建 AI 工作流的 Agentic 平台
- Arcee Conductor:智能路由器,可为每个提示词选择最合适且成本效益最高的模型
- Small Language Models(SLM):针对特定任务优化的语言模型
如需了解有关 TESS 的更多信息,请参阅 TESS API 官方文档。
项目架构
项目遵循整洁架构,包含以下层:
1. 领域层
domain/interfaces:定义外部 API 集成契约的接口domain/services:编排外部 API 调用的领域服务domain/exceptions:用于错误处理的领域异常
2. 应用层
application/use_cases:协调业务逻辑的用例
3. 基础设施层
infrastructure/mcp_client:集成 MCP 官方 SDK(@sdk-mcp)的客户端infrastructure/providers:外部 API(TESS、Arcee)的适配器
4. 用户界面层
src/commands:用于与用例交互的 CLI 命令src/adapters:用于兼容不同实现的适配器
适配器架构
适配器的作用
项目中的适配器是有意设计的架构组件,用于实现特定目的:
-
解耦系统:
- MCP 和 TESS 是职责不同、独立演进的系统
- 适配器使它们能够各自演进,而不会破坏集成
-
转换接口:
- 在不同系统预期的格式之间转换调用和数据
- 保护领域层免受外部 API 变更的影响
-
实现 Ports & Adapters 模式:
- 便于进行单元测试和模拟
- 支持替换实现,而不影响领域层
适配器类型
项目使用两种主要类型的适配器:
-
基础设施适配器:
- 位置:
infrastructure/providers - 用途:将领域接口连接到外部 API
- 示例:
TessApiProvider将 TESS API 适配到领域接口ITessProvider
- 位置:
-
兼容性适配器:
- 位置:
src/adapters - 用途:在使用新实现的同时,保持与现有代码的兼容性
- 示例:
MCPRunClient将新实现适配到仍在使用旧接口的代码
- 位置:
适配器优化
我们致力于通过以下方式保持适配器的高效性:
- 使用具有明确契约的标准化接口
- 尽量减少不必要的转换
- 提供充分的测试覆盖
- 记录每个适配器的职责
CLI 功能
CLI 提供对以下服务的统一访问:
MCP 和 TESS
CLI 使用 TESS-MCP 服务 API,支持:
- 列出所有可用工具
- 搜索特定工具
- 获取工具和 Agent 的详细信息
- 使用参数执行工具和 Agent
- 上传文件以供 Agent 使用
Arcee AI
CLI 支持与 Arcee AI API 交互:
- 使用语言模型生成内容
- 通过聊天界面进行交互
- 从多个可用模型中选择
- 使用 Arcee Conductor 的智能路由
使用
# Ferramentas MCP (via SDK @sdk-mcp)
arcee mcp-tools listar
arcee mcp-tools buscar "processamento"
arcee mcp-tools detalhes tool1
arcee mcp-tools executar tool1 '{"param1": "valor1"}'
# Servidor TESS-MCP
arcee tess listar
arcee tess executar agent123 "Como posso otimizar este código?"
# API Arcee AI
arcee chat "Explique o conceito de Clean Architecture"
arcee generate "Escreva um código Python para ordenar uma lista"
确保兼容性并持续演进
项目使用适配器实现持续演进,同时保持兼容性:
# Código existente (continua funcionando)
from src.tools.mcpx_simple import MCPRunClient
client = MCPRunClient(session_id="abc123")
tools = client.get_tools()
# Código novo (implementação atual)
from infrastructure.mcp_client import MCPClient
client = MCPClient()
tools = client.list_tools()
这种适配器模式支持:
- 逐步演进而不破坏现有代码
- 持续改进内部实现
- 轻松迁移到新的客户端
开发
如需开发新的集成功能:
- 在领域(
domain/interfaces)中定义与外部 API 对应的接口 - 在领域(
domain/services)中实现用于编排 API 调用的服务 - 在应用程序(
application/use_cases)中为特定功能创建用例 - 在基础设施(
infrastructure)中实现用于与外部 API 通信的客户端/适配器 - 通过 CLI(
src/commands)公开功能
此开发流程确保项目代码与集成的外部 API 之间清晰分离。
最新动态
25/03/2024
- 用于直接与 TESS API 交互的新脚本:实现了脚本
tess_api_cli.py,可直接列出、查询和执行 TESS Agent,无需依赖命令test_api_tess。 - 支持多个语言模型:该脚本支持多种语言模型,包括 GPT-4o 和 Claude 3.5 Sonnet。
- 广告生成实用示例:新增了咖啡馆、数字营销机构和保险经纪公司的示例。
- 详细文档:创建了集成指南和进阶技巧,介绍如何使用 TESS API 优化 Google Ads 广告。
20/03/2024
- 简化 Streamlit 界面:移除了不必要的顶部选项卡,仅保留“Arcee CLI”和“帮助”。
- 修复 TESS 适配器中的错误:解决了与 TESS API 通信时的问题。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。