CLI Integradora para Arcee, TESS e MCP
Servidor MCP para integração com a API TESS, permitindo utilizar agentes TESS via protocolo MCP
diegofornalha
README
CLI Integradora para Arcee, TESS e MCP
Este projeto implementa uma interface de linha de comando (CLI) que integra APIs de terceiros, incluindo Arcee AI, TESS e o SDK oficial do Model Context Protocol (@sdk-mcp). O projeto segue a estrutura Clean Architecture e os princípios do Domain-Driven Design (DDD).
Visão Geral da Integração
Esta CLI não reimplementa os serviços que integra, mas serve como uma camada de abstração que permite:
- Acesso unificado a múltiplos serviços (Arcee, TESS, MCP)
- Padronização de interfaces para facilitar o uso
- Adição de funcionalidades específicas à CLI sem modificar as APIs subjacentes
Arquitetura de Componentes
MCP (Model Context Protocol)
O MCP é um protocolo padronizado que facilita a comunicação entre modelos de linguagem e ferramentas externas. Este projeto utiliza o SDK oficial do MCP (@sdk-mcp) para implementar essa comunicação, sem modificar ou reimplementar o protocolo.
Servidor TESS-MCP
O servidor TESS-MCP é o componente responsável por implementar a integração entre o TESS (Tool Execution Subsystem) e o MCP. Este servidor:
- Orquestra e gerencia ferramentas que podem ser utilizadas por modelos de IA
- Expõe APIs para listar e executar agentes de IA
- Gerencia upload e organização de arquivos
- Permite interação com modelos de linguagem como o "tess-ai-light"
O TESS trabalha em conjunto com o MCP, permitindo que modelos solicitem e utilizem ferramentas de forma padronizada.
CLI (Interface de Linha de Comando)
A CLI consome as APIs do servidor TESS-MCP, Arcee AI e MCP, fornecendo uma interface unificada para o usuário final. Ela não reimplementa essas funcionalidades, apenas oferece uma forma padronizada de acessá-las.
Arcee AI
O Arcee AI é uma plataforma completa de IA que inclui:
- Arcee Orchestra: plataforma agentic para construir fluxos de trabalho de IA
- Arcee Conductor: roteador inteligente que seleciona o modelo mais adequado e eficiente em custo para cada prompt
- Small Language Models (SLMs): modelos de linguagem otimizados para tarefas específicas
Para mais informações sobre TESS, consulte a documentação oficial da API TESS.
Arquitetura do Projeto
O projeto segue a Clean Architecture com as seguintes camadas:
1. Domínio
domain/interfaces
: Interfaces que definem contratos para integração com APIs externasdomain/services
: Serviços de domínio que orquestram as chamadas para APIs externasdomain/exceptions
: Exceções de domínio para tratamento de erros
2. Aplicação
application/use_cases
: Casos de uso que coordenam a lógica de negócio
3. Infraestrutura
infrastructure/mcp_client
: Cliente que integra o SDK oficial do MCP (@sdk-mcp)infrastructure/providers
: Adaptadores para as APIs externas (TESS, Arcee)
4. Interface de Usuário
src/commands
: Comandos CLI para interação com os casos de usosrc/adapters
: Adaptadores para compatibilidade entre implementações
Arquitetura de Adaptadores
Papel dos Adaptadores
Os adaptadores no projeto são componentes arquiteturais intencionais que servem a propósitos específicos:
-
Desacoplamento entre sistemas:
- MCP e TESS são sistemas com responsabilidades distintas que evoluem independentemente
- Os adaptadores permitem que essas evoluções ocorram sem quebrar a integração
-
Tradução entre interfaces:
- Convertem chamadas e dados entre o formato esperado por cada sistema
- Protegem o domínio de mudanças nas APIs externas
-
Implementação do padrão Ports & Adapters:
- Facilitam testes unitários e simulações
- Permitem substituir implementações sem afetar o domínio
Tipos de Adaptadores
O projeto utiliza dois tipos principais de adaptadores:
-
Adaptadores de Infraestrutura:
- Localização:
infrastructure/providers
- Propósito: Conectar as interfaces do domínio com APIs externas
- Exemplo:
TessApiProvider
adapta a API do TESS para a interfaceITessProvider
do domínio
- Localização:
-
Adaptadores de Compatibilidade:
- Localização:
src/adapters
- Propósito: Manter compatibilidade com código existente enquanto usa as novas implementações
- Exemplo:
MCPRunClient
adapta a nova implementação para código que ainda usa a interface antiga
- Localização:
Otimização de Adaptadores
Nosso foco é manter adaptadores eficientes através de:
- Interfaces padronizadas com contratos claros
- Minimização de conversões desnecessárias
- Cobertura adequada de testes
- Documentação das responsabilidades de cada adaptador
Funcionalidades da CLI
A CLI fornece acesso unificado aos seguintes serviços:
MCP e TESS
A CLI consome as APIs do servidor TESS-MCP, permitindo:
- Listar todas as ferramentas disponíveis
- Buscar ferramentas específicas
- Obter detalhes de ferramentas e agentes
- Executar ferramentas e agentes com parâmetros
- Fazer upload de arquivos para uso com agentes
Arcee AI
A CLI permite interagir com a API do Arcee AI:
- Gerar conteúdo com modelos de linguagem
- Interagir através de uma interface de chat
- Selecionar entre diferentes modelos disponíveis
- Utilizar o roteamento inteligente do Arcee Conductor
Uso
# 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"
Garantindo Compatibilidade e Evolução
O projeto usa adaptadores para permitir evolução contínua enquanto mantém compatibilidade:
# 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()
Este modelo de adaptadores permite:
- Evolução gradual sem quebrar código existente
- Melhoria contínua da implementação interna
- Facilidade de migração para novos clientes
Desenvolvimento
Para desenvolver novos recursos de integração:
- Defina interfaces no domínio (
domain/interfaces
) que espelhem as APIs externas - Implemente serviços no domínio (
domain/services
) que orquestrem chamadas às APIs - Crie casos de uso na aplicação (
application/use_cases
) para funcionalidades específicas - Implemente clientes/adaptadores na infraestrutura (
infrastructure
) para comunicação com APIs externas - Exponha funcionalidades via CLI (
src/commands
)
Este fluxo de desenvolvimento garante uma separação clara entre o código do projeto e as APIs externas integradas.
Novidades
25/03/2024
- Novo script para interação direta com API TESS: Implementado o script
tess_api_cli.py
que permite listar, consultar e executar agentes TESS diretamente, sem depender do comandotest_api_tess
. - Suporte a múltiplos modelos de linguagem: O script suporta diversos modelos de linguagem, incluindo GPT-4o e Claude 3.5 Sonnet.
- Exemplos práticos para geração de anúncios: Adicionados exemplos para cafeteria, agência de marketing digital e corretora de seguros.
- Documentação detalhada: Criados guias de integração e dicas avançadas para otimização de anúncios Google Ads usando a API TESS.
20/03/2024
- Interface Streamlit simplificada: Removidas as abas superiores desnecessárias, mantendo apenas "Arcee CLI" e "Ajuda".
- Correção de bugs no adaptador TESS: Resolvidos problemas na comunicação com a API TESS.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.