CLI Integradora para Arcee, TESS e MCP

CLI Integradora para Arcee, TESS e MCP

用于与 TESS API 集成的 MCP 服务器,允许通过 MCP 协议使用 TESS 代理。

diegofornalha

开发者工具
访问服务器

README

Arcee、TESS 和 MCP 的 CLI 集成器

本项目实现了一个命令行界面 (CLI),集成了包括 Arcee AI、TESS 和 Model Context Protocol 官方 SDK (@sdk-mcp) 在内的第三方 API。该项目遵循 Clean Architecture 架构和 Domain-Driven Design (DDD) 原则。

集成概览

此 CLI 不会重新实现它集成的服务,而是作为一层抽象,允许:

  1. 统一访问多个服务(Arcee、TESS、MCP)
  2. 标准化接口以方便使用
  3. 在不修改底层 API 的情况下,向 CLI 添加特定功能

组件架构

MCP (Model Context Protocol)

MCP 是一种标准化协议,可促进语言模型和外部工具之间的通信。本项目使用 MCP 的官方 SDK (@sdk-mcp) 来实现这种通信,而无需修改或重新实现该协议。

TESS-MCP 服务器

TESS-MCP 服务器是负责实现 TESS (Tool Execution Subsystem) 和 MCP 之间集成的组件。此服务器:

  • 编排和管理可供 AI 模型使用的工具
  • 公开 API 以列出和执行 AI 代理
  • 管理文件上传和组织
  • 允许与诸如 "tess-ai-light" 之类的语言模型进行交互

TESS 与 MCP 协同工作,允许模型以标准化方式请求和使用工具。

CLI (命令行界面)

CLI 使用 TESS-MCP 服务器、Arcee AI 和 MCP 的 API,为最终用户提供统一的界面。它不会重新实现这些功能,只是提供了一种标准化的访问方式。

Arcee AI

Arcee AI 是一个完整的 AI 平台,包括:

  • Arcee Orchestra: 用于构建 AI 工作流程的代理平台
  • Arcee Conductor: 智能路由器,为每个提示选择最合适且最具成本效益的模型
  • Small Language Models (SLMs): 针对特定任务优化的语言模型

有关 TESS 的更多信息,请参阅 TESS API 的官方文档

项目架构

该项目遵循 Clean Architecture,具有以下层:

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: 用于实现之间兼容性的适配器

适配器架构

适配器的作用

项目中的适配器是有意的架构组件,用于实现特定目的:

  1. 系统之间的解耦:

    • MCP 和 TESS 是具有不同职责且独立演进的系统
    • 适配器允许这些演进发生而不会破坏集成
  2. 接口之间的转换:

    • 在每个系统期望的格式之间转换调用和数据
    • 保护领域免受外部 API 更改的影响
  3. Ports & Adapters 模式的实现:

    • 方便单元测试和模拟
    • 允许替换实现而不影响领域

适配器的类型

该项目使用两种主要类型的适配器:

  1. 基础设施适配器:

    • 位置: infrastructure/providers
    • 目的: 将领域接口与外部 API 连接起来
    • 示例: TessApiProvider 将 TESS 的 API 适配到域的 ITessProvider 接口
  2. 兼容性适配器:

    • 位置: src/adapters
    • 目的: 在使用新实现的同时保持与现有代码的兼容性
    • 示例: MCPRunClient 将新实现适配到仍然使用旧接口的代码

适配器优化

我们的重点是通过以下方式保持适配器的高效性:

  • 具有清晰合约的标准化接口
  • 最小化不必要的转换
  • 适当的测试覆盖率
  • 每个适配器职责的文档

CLI 功能

CLI 提供对以下服务的统一访问:

MCP 和 TESS

CLI 使用 TESS-MCP 服务器的 API,允许:

  • 列出所有可用的工具
  • 搜索特定工具
  • 获取工具和代理的详细信息
  • 使用参数执行工具和代理
  • 上传文件以供代理使用

Arcee AI

CLI 允许与 Arcee AI 的 API 交互:

  • 使用语言模型生成内容
  • 通过聊天界面进行交互
  • 在不同的可用模型之间进行选择
  • 使用 Arcee Conductor 的智能路由

使用

# MCP 工具 (通过 SDK @sdk-mcp)
arcee mcp-tools listar
arcee mcp-tools buscar "processamento"
arcee mcp-tools detalhes tool1
arcee mcp-tools executar tool1 '{"param1": "valor1"}'

# TESS-MCP 服务器
arcee tess listar
arcee tess executar agent123 "Como posso otimizar este código?"

# Arcee AI API
arcee chat "Explique o conceito de Clean Architecture"
arcee generate "Escreva um código Python para ordenar uma lista"

保证兼容性和演进

该项目使用适配器来允许持续演进,同时保持兼容性:

# 现有代码 (继续工作)
from src.tools.mcpx_simple import MCPRunClient

client = MCPRunClient(session_id="abc123")
tools = client.get_tools()

# 新代码 (当前实现)
from infrastructure.mcp_client import MCPClient

client = MCPClient()
tools = client.list_tools()

这种适配器模型允许:

  • 逐步演进,而不会破坏现有代码
  • 持续改进内部实现
  • 易于迁移到新客户端

开发

要开发新的集成功能:

  1. 在域中定义反映外部 API 的接口 (domain/interfaces)
  2. 在域中实现编排对 API 调用的服务 (domain/services)
  3. 在应用程序中创建用于特定功能的用例 (application/use_cases)
  4. 在基础设施中实现用于与外部 API 通信的客户端/适配器 (infrastructure)
  5. 通过 CLI 公开功能 (src/commands)

这种开发流程确保了项目代码和集成的外部 API 之间的清晰分离。

新闻

2024/03/25

  • 用于与 TESS API 直接交互的新脚本: 实现了 tess_api_cli.py 脚本,允许直接列出、查询和执行 TESS 代理,而无需依赖 test_api_tess 命令。
  • 支持多种语言模型: 该脚本支持多种语言模型,包括 GPT-4o 和 Claude 3.5 Sonnet。
  • 用于生成广告的实际示例: 添加了咖啡馆、数字营销机构和保险经纪人的示例。
  • 详细文档: 创建了集成指南和高级技巧,用于使用 TESS API 优化 Google Ads 广告。

2024/03/20

  • 简化的 Streamlit 界面: 删除了不必要的顶部选项卡,仅保留 "Arcee CLI" 和 "帮助"。
  • 修复了 TESS 适配器中的错误: 解决了与 TESS API 通信的问题。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript