mcpField
L
Lastest

Lastest

ローカル
github.com開発ツール217 週間前に更新

Lastest について

Lastest MCP サーバーは、ビジュアルリグレッションテストの Lastest をClaude Code や Cursor などのクライアントから AI エージェントが扱えるようにします。クラウド版またはセルフホスト版のインスタンスでテスト実行、スクリーンショット差分の確認、ベースラインの承認を行うチーム向けです。

主な機能

  1. 01テストの実行と実行結果の取得
  2. 02ビジュアル差分の確認とベースラインの承認・却下
  3. 03AI によるテストの作成と修復
  4. 04ストレージステートや再利用可能なセットアップスクリプトの管理
  5. 05read・write・full のアクセスレベルによるツールの絞り込み

活用シーン

  1. 01エージェントが UI を変更した後のビジュアルリグレッションテスト実行
  2. 02MCP クライアントからのスクリーンショット差分のレビューと承認
  3. 03URL や自然言語の指示からのテスト生成

MCP 対応

stdio または Streamable HTTP で lastest_ プレフィックスの 20 個のツールを MCP クライアントに公開し、クライアントの代わりに Lastest インスタンスの REST API を呼び出すMCP サーバーです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"las-team": {
"command": "npx",
"args": [
"-y",
"@lastest/mcp-server"
]
}
}
}
起動コマンドnpx -y @lastest/mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@lastest/mcp-server0.3.7

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@lastest/mcp-server

npm version npm downloads License GitHub stars

Claude Code、Cursor、Windsurf、Cline、Claude Desktop向けのMCP サーバーです。AI エージェントが、Model Context Protocolを通じてLastestインスタンス上でビジュアルリグレッションテストを実行し、スクリーンショットの差分をレビューして、ベースラインを承認できるようにします。

クイックスタート

npx -y @lastest/mcp-server@latest --url https://your-lastest-instance --api-key YOUR_API_KEY

LastestのUIでAPIキーを生成します:Settings → Runners & API Access → Create API Key(表示されるのは一度のみです)。このサーバーはstdio経由でMCPを使用します。以下の互換クライアントに接続してください。

互換クライアント

クライアント状態インストール方法
Claude Code検証済みclaude mcp add(以下を参照)
Claude Desktop検証済みclaude_desktop_config.json
Cursor検証済み~/.cursor/mcp.json
Windsurf検証済みMCP設定(汎用JSON)
Cline検証済みMCP設定(汎用JSON)

引数を指定してstdioサーバーを起動できるMCP準拠のクライアントであれば、どれでも使用できます。

インストール — Claude Code

claude mcp add lastest -- npx -y @lastest/mcp-server@latest \
  --url https://your-lastest-instance \
  --api-key YOUR_API_KEY

claude mcp listで確認します。

インストール — Claude Desktop / Cursor / Windsurf / Cline

claude_desktop_config.json、~/.cursor/mcp.json、またはクライアントのMCP設定に追加します:

{
  "mcpServers": {
    "lastest": {
      "command": "npx",
      "args": [
        "-y",
        "@lastest/mcp-server@latest",
        "--url",
        "https://your-lastest-instance",
        "--api-key",
        "YOUR_API_KEY"
      ]
    }
  }
}

クライアントを再起動します。

エージェントができること

  • リポジトリ、テスト、機能領域、ビルド、アクティブなジョブを一覧表示する
  • URLまたは自然言語のプロンプトから、AIが作成したテストを作成する
  • テストと機能領域を更新または削除する
  • テストの実行環境をセルフ設定する:playwrightOverrides、diffOverrides、stabilizationOverrides、ビューポート、セットアップの配線
  • 共有認証を管理する:ストレージ状態(PlaywrightのstorageState() blobs)と再利用可能なセットアップスクリプト
  • テスト実行を開始し(必要に応じてforceVideoRecordingを指定)、実行結果を読み取る
  • ビジュアル差分を調べ、ベースラインを個別または一括で承認/却下する
  • 最新の実行結果に基づいて、AIで失敗したテストを修復する
  • ビルドとテストの公開共有リンクを公開、一覧表示、無効化する
  • リポジトリレベルのPlaywright設定(ブラウザー、ビューポート、タイムアウト、並列実行数、安定化)を読み取り、更新する
  • Verifyフェーズを進める:Change Map、ステップ比較、レイヤーごとの承認
  • QAサマリー、ビルドレビューレポート、カバレッジ統計を取得する

公開されるツール

このサーバーは20個のMCPツール(すべてlastest_を接頭辞とします)を登録します。各ツールは、構造化された{ status, summary, actionRequired?, details }ペイロードを返します。

純粋なCRUD操作は、action(またはscope)識別子を受け取るリソースツールにまとめられています。ワークフローの動詞は独立したツールとして提供されます。

リソースツール(アクション振り分け)
ツールaction(または scope)の値目的
lastest_statushealth、jobs、jobインスタンスの接続状況とバックグラウンドジョブのステータス
lastest_repolist、get、create、update、get_settings、update_settingsリポジトリとリポジトリ単位のPlaywright設定
lastest_arealist、create、update、delete、list_tests機能領域(テストグループ)
lastest_testlist(filter: all|failing)、get、update、deleteテストの読み取り/更新/削除
lastest_storage_statelist、create、delete保存済みPlaywright storageState()のデータ
lastest_setup_scriptlist、get、create、update、delete再利用可能なPlaywright/APIセットアップブロック
lastest_get_diffsscope: single|buildビジュアル差分の読み取り(1件、またはビルドの全件)
lastest_decide_diffapprove、reject(diffIdsによる一括処理、またはbuildIdによる一括承認)ビジュアル差分とベースラインの承認/却下
lastest_buildlist、get、reviewビルド:一覧、ステータス、包括的なQAレビュー
lastest_sharelist、revoke既存の公開共有の一覧表示/取り消し
lastest_verifyview、change_map検証フェーズのビューとビルド単位の変更マップ
lastest_insightscoverage、qaリポジトリのカバレッジ統計とQAサマリー
ワークフロー動詞(単独)
ツール目的
lastest_run_testsテストビルドを実行します(リポジトリ/領域/特定のテスト)
lastest_create_testテストを作成します(直接/AI、ブラウザー/APIモード)
lastest_heal_testAI修復エージェントが失敗したテストを自動修正します
lastest_validate_diff差分単位の検証:影響を受けるテストのみを実行し、判定結果を返します
lastest_suggest_app_fix実際のリグレッションに対するアプリケーションコードの修正案を提示します
lastest_approve_layerステップ比較でレイヤーごとに承認/却下/保留します
lastest_publish_shareビルド/テストの公開共有 /r/<slug> を公開します
lastest_quickstart製品化された2テストのデモを起動します(sessionIdを返します)
lastest_quickstart_statusQuickStartセッションの状態を確認します
自己設定型テスト

lastest_test(action: "update")は、UI に触れることなくエージェントがテストを調整できるよう、すべての上書き項目を受け付けます。

  • セットアップの設定 — setupTestId(別のテストをセットアップとして使用し、こちらが優先されます)、または setupScriptId に加え、デフォルトの手順(test | script | storage_state)を挿入またはスキップする setupOverrides / teardownOverrides ブロック。
  • 実行時の上書き — playwrightOverrides(ブラウザー、ナビゲーション/アクション/セレクターのタイムアウト、エラーモード、baseUrl、カーソル速度)、viewportOverride、diffOverrides、stabilizationOverrides。
  • ライフサイクル — quarantined、executionMode(procedural | agent)。

任意の上書きブロックに null を渡すと、そのブロックがクリアされます。API は、参照される各 ID が保存前に同じリポジトリ内にあることを検証します。

移行 — ツールの統合(v0.3.x)

純粋な CRUD を上記のリソースツールに統合したことで、ツール群を個別のツール約 56 個から約 21 個に集約しました。これは、従来の操作ごとのツール名を呼び出していたスクリプトにとって破壊的変更です。ワークフローの動詞と QuickStart チェーン(lastest_quickstart → lastest_quickstart_status → lastest_publish_share)の名前とシグネチャは変更されていません。削除された名前は、次のように置き換えてください。

削除されたツール代わりに呼び出すツール
lastest_health、lastest_list_jobs、lastest_get_joblastest_status { health | jobs | job }
lastest_list_repos、lastest_get_repo、lastest_create_repo、lastest_update_repo、lastest_get_repo_settings、lastest_update_repo_settingslastest_repo { action }
lastest_list_areas、lastest_create_area、lastest_update_area、lastest_delete_area、lastest_list_area_testslastest_area { action }
lastest_list_tests、lastest_get_test、lastest_update_test、lastest_delete_test、lastest_list_failing_testslastest_test { action }
lastest_list_storage_states、lastest_create_storage_state、lastest_delete_storage_statelastest_storage_state { action }
lastest_list_setup_scripts、lastest_get_setup_script、lastest_create_setup_script、lastest_update_setup_script、lastest_delete_setup_scriptlastest_setup_script { action }
lastest_get_diff、lastest_get_build_diffslastest_get_diffs { scope }
lastest_approve_diff、lastest_reject_diff、lastest_approve_build_diffslastest_decide_diff { approve | reject }
lastest_list_builds、lastest_get_build_status、lastest_review_build、lastest_get_test_runlastest_build { list | get | review }
lastest_list_build_shares、lastest_list_test_shares、lastest_revoke_sharelastest_share { list | revoke }
lastest_get_coverage、lastest_get_qa_summarylastest_insights { coverage | qa }
lastest_verify_view、lastest_get_change_maplastest_verify { view | change_map }

移行中に一時的に旧名が必要な場合は、このパッケージの 0.2.x リリースを固定してください。

CLI

lastest-mcp --url <url> --api-key <key>

プロセスは stdio 経由でホストクライアントと通信します。

フラグデフォルト意味
--url(required)ツールが呼び出す Lastest インスタンス。
--api-key—API キー。stdio では必須です。http モードでは、Authorization ヘッダーなしで届いたリクエストに対するフォールバックとして使用されます。
--transportstdioローカルエージェントの場合は stdio、リモートの Streamable HTTP エンドポイントの場合は http です。
--port / --host9700 / 127.0.0.1http モードでリッスンする場所です。
--access-levelfullread、write、full のいずれかです。公開するツールの範囲を指定します。

要件: Node.js 18 以降、および接続可能な Lastest インスタンス。

リモート(Streamable HTTP)

多くの場合、Lastest インスタンスがすでに提供しているエンドポイントを使用します。

https://your-lastest-instance/api/mcp

Streamable HTTP に対応しており、API キーまたは OAuth 2.1 接続を受け付けるため、URL のみを認識するエージェントプラットフォーム(Salesforce Agentforce、ChatGPT、Claude web)は単独で接続できます。WWW-Authenticate ヘッダーから認証サーバーを検出して自身を登録し、同意画面に誘導します。OAuth 接続で使用できるツールは read または write の範囲に限られます。削除、共有の取り消し、公開リンクの発行は、引き続きご自身の API キーが必要です。

MCP エンドポイントを別のホストまたはポートで実行する場合は、このパッケージを独立した HTTP サーバーとして起動します。

lastest-mcp --url https://your-lastest-instance --transport http --port 9700
# → POST http://127.0.0.1:9700/mcp with Authorization: Bearer <api-key>

このモードは API キーのみを使用します。独立したプロセスでは OAuth を利用できません。

アクセスレベル

--access-level(および /api/mcp での OAuth スコープ)で、使用できるツールの範囲を指定します。

レベル使用できるもの
readプロジェクト、テスト、ビルド、差分、カバレッジ、検証、ジョブのステータス。
writeread のすべてに加えて、テストの実行、テストとエリアの作成・更新、ビジュアル変更の承認または却下。
full削除、共有の取り消し、公開 /r/ リンクの発行を含むすべて。API キーのみ。

ツールは登録時にフィルタリングされるため、制限付きの接続には実行できないアクションが表示されません。

認証

サーバーは Bearer トークンを使用して Lastest の REST API(/api/v1/*)に対して認証します。Lastest UI の Settings → Runners & API Access からキーを管理、無効化できます。

トラブルシューティング

症状解決方法
Failed to connect to Lastest at …このマシンから URL に接続できることと、API キーが有効であることを確認してください。
Lastest API error 401トークンが無効化されたか、有効期限が切れています。Settings で新しいトークンを生成してください。
Claude Code にツールが表示されないclaude mcp list を実行してください。表示されない場合は、claude mcp add を再実行してください。クライアントを再起動してください。
Cursor / Windsurf / Cline にツールが表示されないJSON 設定が有効であることと、クライアントが完全に再起動されたことを確認してください。

ローカル開発

git clone https://github.com/las-team/lastest
cd lastest/packages/mcp-server
pnpm install
pnpm dev -- --url http://localhost:3000 --api-key <key>

使用先

  • Lastest — スクリーンショットの差分と AI によるテスト作成機能を備えたビジュアルリグレッションテストプラットフォーム
  • @lastest/runner — AI がトリガーしたテストを自社インフラで実行するためのセルフホスト可能なランナー
  • Model Context Protocol — Claude、Cursor、Windsurf などでのツール利用を支えるオープンスタンダード

リンク

ライセンス

FSL-1.1-ALv2 — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。