CLI Integradora para Arcee, TESS e MCP について
TESS、Arcee AI、MCP の API を使うユーザー向けに、アクセスを一つにまとめるコマンドラインツールです。ツールやエージェントの操作、ファイルのアップロード、モデルによるコンテンツ生成に対応し、アダプターで各連携を分離します。
主な機能
- 01TESS、Arcee、MCP への統合アクセス
- 02ツールの一覧、検索、詳細確認
- 03パラメーター付きのツールとエージェント実行
- 04エージェント用ファイルのアップロード
- 05Arcee モデルでの生成とチャット
- 06アダプターによる API 連携
活用シーン
- 01TESS ツールの検索と実行
- 02エージェントの詳細確認や実行
- 03エージェント用ファイルのアップロード
- 04Arcee AI によるコンテンツ生成
MCP 対応
公式 MCP SDK を使って TESS-MCP と MCP の API を利用します。利用可能なツールの一覧表示、検索、詳細確認、実行に加え、TESS-MCP 経由でエージェントにもアクセスできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Arcee、TESS、MCP 統合 CLI
このプロジェクトでは、Arcee AI、TESS、Model Context Protocol の公式 SDK(@sdk-mcp)など、サードパーティ API を統合するコマンドラインインターフェース(CLI)を実装しています。Clean Architecture の構造と Domain-Driven Design(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 エージェントの一覧表示と実行のための API を公開します
- ファイルのアップロードと整理を管理します
- 「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(SLM):特定のタスクに最適化された言語モデル
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:実装間の互換性を確保するためのアダプター
アダプターアーキテクチャ
アダプターの役割
このプロジェクトのアダプターは、特定の目的を果たす意図的なアーキテクチャコンポーネントです。
-
システム間の疎結合:
- MCP と TESS は、責任が異なり、それぞれ独立して進化するシステムです
- アダプターにより、統合を損なうことなくそれぞれの進化が可能になります
-
インターフェース間の変換:
- 各システムが想定する形式に合わせて、呼び出しとデータを変換します
- 外部 API の変更からドメインを保護します
-
Ports & Adapters パターンの実装:
- 単体テストとシミュレーションを容易にします
- ドメインに影響を与えずに実装を置き換えられます
アダプターの種類
このプロジェクトでは、主に2種類のアダプターを使用します。
-
インフラストラクチャアダプター:
- 場所:
infrastructure/providers - 目的:ドメインのインターフェースを外部 API に接続します
- 例:
TessApiProviderは TESS API をドメインのITessProviderインターフェースに適合させます
- 場所:
-
互換性アダプター:
- 場所:
src/adapters - 目的:新しい実装を使いながら、既存のコードとの互換性を維持します
- 例:
MCPRunClientは、新しい実装を、旧インターフェースを引き続き使用するコードに適合させます
- 場所:
アダプターの最適化
以下の方法で、アダプターの効率性を維持することに重点を置いています。
- 明確な契約を備えた標準化インターフェース
- 不要な変換の最小化
- 適切なテストカバレッジ
- 各アダプターの責務の文書化
CLI の機能
CLI から、以下のサービスに一元的にアクセスできます。
MCP と TESS
CLI は TESS-MCP サーバーの API を利用し、以下を実行できます。
- 利用可能なすべてのツールを一覧表示する
- 特定のツールを検索する
- ツールやエージェントの詳細を取得する
- パラメーターを指定してツールやエージェントを実行する
- エージェントで使用するファイルをアップロードする
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()
このアダプターモデルにより、以下が可能になります。
- 既存のコードを壊すことなく段階的に進化する
- 内部実装を継続的に改善する
- 新しいクライアントへの移行を容易にする
開発
新しい連携機能を開発するには、以下の手順に従います。
- 外部 API を反映するインターフェースをドメイン(
domain/interfaces)で定義します - API 呼び出しを調整するサービスをドメイン(
domain/services)に実装します - 特定の機能に対応するユースケースをアプリケーション(
application/use_cases)に作成します - 外部 API と通信するクライアント/アダプターをインフラストラクチャ(
infrastructure)に実装します - CLI(
src/commands)を通じて機能を公開します
この開発フローにより、プロジェクトのコードと連携する外部 API を明確に分離できます。
新機能
25/03/2024
- TESS API と直接やり取りする新しいスクリプト:
test_api_tessコマンドに依存せず、TESS エージェントの一覧表示、照会、実行ができるtess_api_cli.pyスクリプトを実装しました。 - 複数の言語モデルをサポート:このスクリプトは、GPT-4o や Claude 3.5 Sonnet を含む、さまざまな言語モデルに対応しています。
- 広告生成の実践例:カフェテリア、デジタルマーケティング代理店、保険代理店向けの例を追加しました。
- 詳細なドキュメント:TESS API を使った Google Ads 広告最適化のための連携ガイドと高度なヒントを作成しました。
20/03/2024
- Streamlit インターフェースの簡素化:不要な上部タブを削除し、「Arcee CLI」と「ヘルプ」のみを残しました。
- TESS アダプターのバグ修正:TESS API との通信に関する問題を解決しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。