Squidler.io について
Squidler.ioのMCPサーバーは、コーディングエージェントから自然言語でWebアプリのテストを作成・実行し、結果やアクセシビリティ、品質、使いやすさの問題を確認できるようにします。サイト連携型と単独型のテストケースに対応し、機能追加後の検証手順も案内します。
主な機能
- 01テストケースの作成と管理
- 02テスト実行と結果の確認
- 03実行イベントとスクリーンショットの確認
- 04サイトの問題の追跡と対応
- 05ペルソナによるUXレビュー
- 06単独Markdownテストへの対応
活用シーン
- 01新たに実装したWeb機能の検証
- 02テスト失敗や操作上のつまずきの調査
- 03機能ラベル別の回帰テスト整理
MCP 対応
Bearerトークンを使ったHTTP接続で、MCPクライアントをSquidlerに接続します。サイトテストや問題管理のツール、リソース、プロンプトと、エージェント向けの組み込みガイダンスを提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.squidler.ioclaude mcp add --transport http squidlerio https://mcp.squidler.io{"mcpServers":{"squidlerio":{"type":"http","url":"https://mcp.squidler.io"}}}Cursor で開く{"servers":{"squidlerio":{"type":"http","url":"https://mcp.squidler.io"}}}VS Code で開く{"mcpServers":{"squidlerio":{"type":"http","url":"https://mcp.squidler.io"}}}{"mcpServers":{"squidlerio":{"serverUrl":"https://mcp.squidler.io"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.squidler.io認証が必要ツール
詳細
Squidler MCP サーバー
Squidler.io
AI コーディングエージェントはウェブアプリの 構築 フェーズには優れていますが、検証 フェーズには苦戦します。Squidler は、壊れやすい DOM 依存のテストを書くことなく、自然言語のユースケースに基づいて、人間のようにウェブアプリを検証できるよう設計されています。
Squidler は単なるテストツールではありません。コーディングエージェントが実装から切り離されたユーザーの視点で、自身の作業を分析できるようにします。Squidler は自律的な 構築 → 検証 → 修正 のループを完成させ、出力ではなく成果を管理する、真の人間参加型プロセスを実現します。
Squidler MCP サーバー
Squidler MCP サーバーを使うと、Cursor、Claude Code、Replit、Lovable などの AI コーディングエージェントで Squidler を利用できるようになります。つまり、コーディングエージェントに機能を構築させ、そのユースケースを自然言語で Squidler に説明し、テストを依頼して、テスト実行の詳細や、ウェブアプリの利用時に見つかった問題や不便な点の詳細を取得できます。
以下に、MCP 経由で Squidler を使い始める方法の詳細と例を示します。ご質問があれば、お気軽に [email protected] までご連絡ください。
設定
MCP クライアントの設定に追加します:
{
"mcpServers": {
"squidler": {
"transport": "http",
"url": "https://mcp.squidler.io",
"headers": {
"Authorization": "Bearer YOUR_SQUIDLER_API_TOKEN"
}
}
}
}
API トークンは squidler.io/integrations/api-keys から取得してください。
組み込みのエージェント向けガイダンス
MCP サーバーには、AI エージェントに 機能追加後のテストワークフロー を教える組み込みの指示が含まれています。接続すると、説明しなくてもエージェントが Squidler の使い方を自動的に把握します。エージェントが実行するワークフローは次のとおりです。
- 既存のテストを実行する — 新機能によって何も壊れていないことを確認します。
- 失敗を調査する — テスト実行の結果やイベントを使って、何が失敗したのかを把握します。バグであればコードを修正し、テストが古くなっていれば更新または削除します。
- 機能にラベルを付ける — 完了した機能(例:「ユーザーログイン」「チェックアウトフロー」)のラベルを作成し、テストカタログを整理します。
- 新機能をカバーする — ガイド付きの会話(
test_case_create)を使って新しい動作のテストケースを作成し、機能ラベルを付けてから実行し、合格することを確認します。- クリック可能なリンクがないページ(非表示のエンドポイントやディープリンク)では、手順を「/path に直接移動する」と記述します。
- すべて合格するまで確認する — すべてのテストが合格するまで再実行してから、次の機能に進みます。
このワークフローを続けることで、機能ごとに整理されたテストのカタログが蓄積され、リグレッションを防ぎ、システムの想定される動作を記録できます。
リソース
| リソース URI | 説明 |
|---|---|
squidler://help | サーバーのドキュメントと利用可能な機能 |
squidler://sites | 利用可能なすべてのサイトの一覧 |
ツール
サイト
| ツール | 説明 |
|---|---|
sites_list | 利用可能なすべてのサイトを一覧表示します |
site_details | サイト情報(所有者、URL、名前、フロントエンドのリンク)を取得します |
site_create | 新しいサイトを作成します |
問題
| ツール | 説明 |
|---|---|
problems_summary | 問題の概要(種類ごとの合計数) |
problems_list | ページネーションとフィルタリングを使って問題を一覧表示します |
problem_get | 特定の問題に関する詳細情報を取得します |
problem_resolve | 問題を解決済みとしてマークします |
problem_dismiss | 問題を誤検知としてマークします |
テストケースの作成
| ツール | 説明 |
|---|---|
test_case_create | Squidler に保存する高品質なテストケースを作成するためのガイド付き会話を開始します。サイトページの知識、既存のテストカバレッジ、テストのベストプラクティスを活用します。conversationId が返されます。test_case_create_respond で続行してください。 |
test_case_create_respond | 進行中のテストケース作成の会話を続けます。質問への回答、下書きの確認、作成の確定ができます。test_case_create と test_case_create_standalone のどちらにも対応しています。 |
テストケース
| ツール | 説明 |
|---|---|
test_cases_list | すべてのテストケースを一覧表示します。 |
test_case_get | テストケースの詳細を取得します。 |
test_cases_list_by_label | 特定のラベルが付いたテストケースを一覧表示します。 |
validate_test_case | 品質、実現可能性、ベストプラクティスの観点からテストケースを検証します。 |
test_case_update | 既存のテストケースを更新します(検証結果のフィードバックを自動的に含みます)。 |
test_case_delete | テストケースを削除します。 |
test_case_run | 単一のテストケースを実行します。 |
test_cases_run_all | すべてのテストケースを実行します。 |
test_cases_run_by_label | 特定のラベルが付いたテストケースを実行します。 |
リポジトリ保存型/スタンドアロンのテストケース
Squidler に保存せず、エージェントが自身のリポジトリ内の Markdown ファイルとしてテストケースを管理する場合に使用します。作成 → 検証 → 実行 → 登録のサイクルに対応します。ローカル開発の反復作業に特に便利です。test_case_run_standalone と @squidlerio/squidler-mcp の npx プロキシを組み合わせると、ローカルの Chrome 経由で http://localhost:<port> に対して実行できます。
| ツール | 説明 |
|---|---|
test_case_create_standalone | スタンドアロンの Markdown テキストを生成するガイド付き会話を開始します(Squidler には保存されません)。サイトのコンテキストがないため、サイトに紐づくフローよりもアーキテクトが多くの確認質問をします。最終結果は {filename, markdown} で、エージェントがローカルリポジトリに書き込みます。test_case_create_respond で続行してください。 |
validate_test_case_text | System B のテストケースファイルを実行せずに、Markdown を検証します。フロントマター、スキーマ、本文の問題について、利用可能な場合はファイル内の行番号付きで型付きエラーを返します。生成したファイルの書き込み前、手動編集後、CI フックで使用してください。 |
test_case_run_standalone | インライン Markdown で指定したテストケースを、カスタムの baseUrl(通常は localhost の開発サーバーまたはプレビュー環境)に対して実行します。ステップの最適化/固定アクションでは、同じ (org, contentHash) の過去の実行結果が自動的に活用されます。checkId が返されます。 |
test_case_runs_standalone_list | 指定した識別子に一致する、呼び出し元の組織の過去のスタンドアロン実行を新しい順に一覧表示します。test_runs_list に対応するスタンドアロン版です。コンテンツハッシュを使った重複確認を行ってから再実行する場合に便利です。 |
test_case_promote | リポジトリに保存された Markdown ファイルを、Squidler のサイトに紐づくテストケースとして登録します。(siteId, identifier) に対して冪等であり、最新リビジョンとのコンテンツハッシュの比較結果に応じて UNCHANGED、UPDATED、CREATED を返します。 |
テスト実行
| ツール | 説明 |
|---|---|
test_runs_list | テストケースの実行履歴を一覧表示します |
test_case_poll | テスト実行のステータス更新とイベントをロングポーリングします |
test_run_outcome | テスト実行の合否と目標の結果を取得します |
test_run_events | 詳細な実行イベントとスクリーンショットを取得します |
test_run_stop | 現在実行中のテストを停止します |
pending_checks_list | サイトでキューに入っている(開始待ちの)チェックと、それぞれが開始を妨げられている原因となる現在実行中のチェックを一覧表示します。test_case_run が queued: true を返す場合に使用します。 |
ラベル
| ツール | 説明 |
|---|---|
labels_list | すべてのラベルを一覧表示します |
label_get | ラベルの詳細を取得します |
label_create | 新しいラベルを作成します |
label_update | ラベルを更新します |
label_delete | ラベルを削除します |
test_case_labels_add | テストケースにラベルを追加します |
test_case_label_remove | テストケースからラベルを削除します |
ヘッダー
| ツール | 説明 |
|---|---|
headers_list | サイトのカスタムヘッダーを一覧表示します |
header_add | カスタムヘッダーを追加または更新します |
header_delete | カスタムヘッダーを削除します |
認証情報
| ツール | 説明 |
|---|---|
credentials_list | 利用可能なログイン認証情報を一覧表示します |
credentials_create_userpass | 明示的に指定したメールアドレス/ユーザー名とパスワードで認証情報を作成します |
credentials_create_email | 検証テスト用に自動生成された @squidlermail.io メールアドレスで認証情報を作成します |
credentials_create_oidc | OpenID Connect を使用するサイト用の OIDC 認証情報を作成します |
ペルソナレビュー(UX フィードバック)
| ツール | 説明 |
|---|---|
personas_list | UX レビューで利用可能なすべてのペルソナを一覧表示します |
persona_review_run | 検証済みのテストケースでペルソナレビューを実行します |
persona_review_findings | 完了したペルソナレビューの詳細な調査結果を取得します |
persona_findings_list | ステータスで絞り込んだ、サイトとペルソナの調査結果を一覧表示します |
persona_finding_triage | 調査結果のステータス(RESOLVED、DISMISSED、IN_PROGRESS、OPEN)を更新します |
アカウント管理
| ツール | 説明 |
|---|---|
account_status | 現在のプラン、残りのテスト枠、利用可能なアップグレードを確認します |
account_upgrade_url | プランをアップグレードするための有効期間の短い URL を生成します |
プロンプト
| プロンプト | 説明 |
|---|---|
create-test-case | 目標、手順、失敗時の対処方法を含む、ガイド付きのテストケース作成 |
site-health-check | 実行可能な推奨事項を含む、サイトの品質状況の概要 |
run-test-suite | すべてのテストまたはラベル付きテストを実行し、結果を監視 |
get-started-with-squidler | オンボーディングを一通り実施:サイトを作成し、初期テストを生成して実行 |
suggest-initial-tests | コードベースを分析して、初期テストケースを2~4件提案 |
enhance-tests-from-runs | テスト実行イベントを分析して、テストの弱点を特定・修正 |
identify-ux-improvements | AI テスターのつまずきのパターンからユーザビリティの問題を発見 |
correlate-accessibility-and-ux | アクセシビリティの問題とテスト実行時のつまずきを相互参照 |
run-persona-review | 検証済みのテストケースでペルソナレビューを実行し、UX の問題を発見 |
migrate-legacy-tests | レガシーなテストケースを現行の形式に移行 |
プロンプトの例
| 入力例 | 動作 |
|---|---|
| "https://myapp.com のサイトを「My App」という名前で作成して" | Squidler にウェブサイトを登録し、監視とテストを開始します |
| "コードベースを分析して、主要なユーザーフローのテストケースを作成して" | ガイド付きの会話を使用して、通常のフロー、エッジケース、ネガティブテストを網羅する包括的なテストケースを作成します |
| "すべてのテストケースを実行して" | 目標の検証と問題の検出を行いながら、実際のブラウザーでテストケースを実行します |
| "最新のテスト実行結果を見せて" | どの目標が成功または失敗したかを確認し、実行中に何が起きたかを把握できます |
| "テストケース #1 の詳細なテストイベントを取得して、UX を分析して" | 実行ログを確認して、UX のつまずきやユーザビリティの問題を特定します |
| "テストケース #1 の合格を妨げている問題を修正して" | テストの失敗を分析し、根本的なコードの問題を修正します |
| "問題 #42 を取得して、修正を手伝って" | 特定のアクセシビリティ、機能、またはコンテンツの問題に対処します |
| "サイトのアクセシビリティの問題をすべて修正して" | 問題を順に処理して、WCAG 準拠に関する問題を一括修正します |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。