UniAuto MCP Server について
UniAuto MCP Serverは、Playwright、ビジュアル照合、AIによるテスト生成を組み合わせ、Webとデスクトップのテスト自動化を支援します。セレクターの自己修復やテスト管理、複数のテスト機能も備えています。
主な機能
- 01Webとデスクトップのテスト自動化
- 02複数の方法によるセレクター修復
- 03複数のフレームワーク向けテストコード生成
- 04ビジュアル・アクセシビリティ・性能テスト
- 05ネットワーク追跡とテストケース管理
活用シーン
- 01クロスブラウザーWebテストの自動化
- 02画面変更の影響を受けるテストの保守
- 03アプリのテストスイートの生成と実行
- 04ページの外観、アクセシビリティ、性能の確認
MCP 対応
自動化操作とテスト生成機能をAIアシスタントに公開し、MCP互換のコマンド実行インターフェースを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
UniAuto MCP Server
Web およびデスクトップの自動化に対応し、自己修復機能と AI 統合を備えたユニバーサルテスト自動化 MCP サーバーです。
最先端の機能
UniAuto MCP Server には、テスト自動化技術の最前線に位置づける、最先端かつ先進的な機能が複数組み込まれています。
1. 多層型の自己修復自動化
このサーバーの5段階の自己修復メカニズムは、洗練された復旧戦略の連鎖を利用する画期的なものです。
- リポジトリベースの代替セレクター
- ロールベースのアクセシビリティセレクター
- 動的でより緩やかなセレクターの生成
- DOM と画像認識を利用した視覚的な要素マッチング
- コンテキストに基づくテキスト近接検出
この複数の戦略を組み合わせたアプローチにより、UI が大幅に刷新された場合でも維持できる、非常に堅牢なテストを作成できます。
2. AI を活用したテストの生成と保守
Claude やその他の LLM との統合により、次のことが可能になります。
- 自然言語によるテスト作成(「チェックアウトのプロセスを自動化」)
- 適切なセレクターを使ったテストステップの自動生成
- AI の出力を実行可能なコマンドに変換する、インテリジェントな応答解析
- 視覚的コンテキストの解釈(スクリーンショットを入力として使用)
- 複数のフレームワーク(Playwright、Cypress、Jest など)でのテストコードの自動生成
- さまざまなテストスタイル(BDD、TDD)と出力形式への対応
- インテリジェントなテスト作成のためのアプリケーション構造分析
3. MCP(Model Context Protocol)統合
MCP の実装は、特に先進的です。
- AI アシスタントがテストインフラストラクチャを直接制御できます
- 自動化アクションの標準化された API を公開します
- Smithery.ai などの AI オーケストレーションプラットフォームとシームレスに統合できます
- LLM と Web/デスクトップ自動化の橋渡しをします
4. Web とデスクトップの統合自動化
Web テスト(Playwright 経由)とデスクトップ自動化を単一のフレームワークに統合することで、次のことが可能になります。
- ドメインをまたいだテスト機能
- ブラウザーとネイティブアプリケーションにまたがるフローのテスト
- さまざまな種類のアプリケーションに共通する一貫した API
5. 視覚的インテリジェンス
視覚的マッチングの実装により、次のことが可能になります。
- 構造ではなく外観による要素の認識
- DOM 要素が完全に変更された場合でもテストを継続
- ピクセル単位の精密な比較機能
主な機能
- Playwright を使った Web 自動化(複数ブラウザーに対応)
- デスクトップ自動化機能
- 堅牢なテスト自動化を実現する自己修復セレクター
- テスト生成のための AI 統合(Claude やその他のモデルに対応)
- 複数のフレームワークとスタイルでのテストコード自動生成
- AI アシスタントでの利用に対応する MCP(Model Context Protocol)互換性
- テストケースの管理と実行履歴
- 視覚的な要素マッチング
テスト自動化エコシステムへの影響
UniAuto MCP Server は、テスト自動化の状況を一変させる可能性を秘めています。
1. 保守コストの削減
自己修復機能により、テスト自動化における最大の課題である保守コストを大幅に削減できます。調査によると、組織はテスト時間の30~40%をテストの保守に費やしています。UniAuto によってこれを70~80%削減し、QA リソースをより戦略的な業務に振り向けられる可能性があります。
2. テスト自動化の民主化
AI 統合により、技術者以外の関係者も自然言語を使ってテストを作成でき、次のことを通じてテスト自動化の導入を拡大できる可能性があります。
- プロダクトマネージャーが受け入れテストを直接指定できるようにする
- ビジネスアナリストがコーディングなしで機能を検証できるようにする
- テスト作成に必要な専門スキルを減らす
3. レジリエンス革命
最新の自動化における脆弱性の問題を解決することで、UniAuto はエコシステム全体を、セレクター重視のテストからレジリエンス重視のテストへと移行させます。このパラダイムシフトにより、テストの作成方法と評価方法が根本的に変わります。
4. テストにおける AI の活用
Claude やその他のモデルと連携する MCP 互換システムとして、UniAuto は自動化を「AI ネイティブ」なテクノロジーと位置付け、次の基盤を構築します。
- AI 主導の探索的テスト
- 自律的なテスト保守
- アプリケーションの変更に基づくインテリジェントなテストの優先順位付け
- ステークホルダー向けの自然言語によるテストレポート
5. クロスドメインテストの標準
Web テストとデスクトップテストを単一のフレームワークに統合することで、UniAuto は、アプリケーションの種類ごとに分断されている現在のアプローチを超える、エンドツーエンドテストの新たな標準の確立を支援します。
インストール
# Clone the repository
git clone https://github.com/yourusername/uniauto-mcp-server.git
cd uniauto-mcp-server
# Install dependencies
npm install
# Install Playwright browsers
npx playwright install
# Create environment file
cp .env.example .env
設定
.env ファイルを編集してサーバーを設定します。
# Server Configuration
PORT=3000
NODE_ENV=development
# Database (optional)
MONGODB_URI=mongodb://localhost:27017/uniauto
# Claude Configuration (required for AI processing)
CLAUDE_API_KEY=your_claude_api_key
CLAUDE_MODEL=claude-3-7-sonnet-20240229
Claude API との連携
UniAuto MCP Server は公式の Anthropic SDK を使用して Claude と連携します。
const Anthropic = require('@anthropic-ai/sdk');
const anthropic = new Anthropic({
apiKey: process.env.CLAUDE_API_KEY,
});
const response = await anthropic.messages.create({
model: "claude-3-7-sonnet-20240229",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello, Claude" }],
});
使用方法
# Start the server in development mode
npm run dev
# Start the server in production mode
npm start
API エンドポイント
ヘルスチェック
GET /api/health- サーバーのステータスを確認します
自動化コマンド
POST /api/execute- 自動化コマンドを実行します
テストケース管理
POST /api/test-cases- テストケースを作成しますGET /api/test-cases- すべてのテストケースを取得しますGET /api/test-cases/:id- ID でテストケースを取得しますPUT /api/test-cases/:id- テストケースを更新しますDELETE /api/test-cases/:id- テストケースを削除します
AI 連携
POST /api/ai/process- AI で自動化タスクを処理します
テスト生成
POST /api/generate-tests- アプリケーションのテストケースを生成しますPOST /api/generate-full-suite- 複数のテストタイプを含む完全なテストスイートを生成しますPOST /api/scaffold-project- 完全なテストプロジェクトの構成を生成しますGET /api/test-frameworks- 利用可能なテストフレームワーク、スタイル、形式を取得します
高度なテスト
POST /api/visual-compare- ページまたは要素をベースライン画像と比較しますPOST /api/accessibility-test- ページのアクセシビリティテストを実行しますPOST /api/performance-test- ページのパフォーマンステストを実行しますPOST /api/network-trace- API テスト用にネットワークアクティビティをトレースしますPOST /api/test-suite- 包括的なテストスイートを実行します
MCP 連携
POST /api/mcp/invoke- MCP 互換のコマンドを実行しますGET /api/mcp/manifest- MCP マニフェストを取得します
MCP 連携
このサーバーは、Claude などの AI アシスタントが使用する Model Context Protocol(MCP)と互換性があります。Claude またはその他の AI モデルで使用するには、次の手順に従います。
- サーバーを起動します
- AI アシスタントに MCP サーバーを登録します
- AI が MCP プロトコル経由で自動化機能を使用できるようになります
Smithery.ai との連携
UniAuto MCP Server は Smithery.ai とシームレスに連携し、Claude 3.7 やその他の AI アシスタントと簡単に接続できます。
AI アシスタントとシームレスに連携するには、Smithery.ai を使用できます。
# Install Smithery CLI
npm install -g @smithery/cli
# Connect UniAuto to Smithery
smithery connect uniauto-mcp-server
# Connect to an AI assistant
smithery connect --assistant claude
接続後は、Claude Code、Claude Web、Claude Extension を使用した VSCode、または Cursor を使って UniAuto を操作し、自動テストを実行できます。
詳しい手順については、Smithery セットアップガイドを参照してください。
AI アシスタントとの連携
UniAuto はさまざまな AI アシスタントと連携できます。
テスト生成機能
UniAuto MCP Server は、さまざまなフレームワークやスタイルでテストコードを自動生成できます。
- 複数のフレームワーク:Playwright、Cypress、Jest、Selenium、WebDriverIO などのテストを生成します
- テストスタイル:BDD、TDD、その他のテスト手法に対応しています
- 出力形式:JavaScript、TypeScript、Python、Java、C#、Ruby
- アプリケーション分析:アプリケーションの構造をインテリジェントに分析し、コンテキストを考慮したテストを生成します
- プロジェクトのひな形作成:設定ファイルを含む完全なテストプロジェクトを生成します
- Claude AI との統合:Claude 3.7 を使用して、品質が高く保守しやすいテストコードを生成します
- MCP との統合:すべてのテスト生成機能を Model Context Protocol 経由で利用できます
高度なテスト機能
UniAuto MCP Server は、テストコードの生成にとどまらない、包括的なテスト機能を提供します。
- ビジュアルテスト:設定可能なしきい値に基づいて、ページや要素のスクリーンショットをベースラインと比較します
- アクセシビリティテスト:WCAG への準拠状況を確認し、問題と修正案の詳細なレポートを作成します
- パフォーマンステスト:読み込み時間、FCP、LCP、リソースなど、主要なウェブパフォーマンス指標を測定します
- ネットワークトレース:API 呼び出しを監視し、レスポンスを分析して、ネットワークの動作を検証します
- 並列実行:複数の種類のテストを同時に実行し、合計実行時間を短縮します
- 包括的なテストスイート:テストをまとめて実行し、統一されたレポートを作成します
API ドキュメントと例について詳しくは、テスト生成ガイドをご覧ください。
セルフヒーリング機能
サーバーは、セレクターのセルフヒーリングに複数の手法を使用します。
- 代替セレクターのリポジトリ
- ロールベースのセレクター(Playwright 固有)
- より柔軟な CSS セレクターの生成
- Playwright の組み込み機能を使用したビジュアル要素のマッチング
- テキストに基づく最寄りの要素の検索
Playwright の利点
Playwright は、テスト自動化において次のような利点があります。
- クロスブラウザー対応:Chromium、Firefox、WebKit で動作します
- 最新のウェブ技術への対応:Shadow DOM、iframe、ウェブコンポーネントをより適切に扱えます
- 強力なセレクター:ロールベースのセレクター、テキストベースの選択、CSS/XPath に対応しています
- 自動待機:操作を実行する前に、要素の準備が整うまで自動的に待機します
- 信頼性の高い操作:再試行とタイミング管理により、より確実に要素を操作します
- ネットワーク制御:ネットワークリクエストをインターセプトして変更できます
- ヘッドレスモードとヘッド付きモード:必要に応じて、画面を見ながらデバッグできます
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
