{"name":"io.github.las-team/lastest","slug":"las-team-lastest","title":null,"description":"Run visual regression tests, review diffs, and manage baselines on a Lastest instance.","url":"https://mcp.market/server/las-team-lastest","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":39,"stars":19,"forks":0,"downloads_week":40,"last_push_at":"2026-09-19T18:03:52.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/las-team/lastest","website":"https://github.com/las-team/lastest/wiki/MCP-Server","version":"0.3.7","remotes":[],"packages":[{"registryType":"npm","identifier":"@lastest/mcp-server","version":"0.3.7","transport":{"type":"stdio"},"runtimeArguments":[{"description":"URL of your Lastest instance (e.g. https://lastest.example.com)","isRequired":true,"format":"string","type":"named","name":"--url"},{"description":"API key from Settings → Runners & API Access","isRequired":true,"format":"string","isSecret":true,"type":"named","name":"--api-key"}]}],"tools":[{"name":"lastest_approve_all_diffs","description":"Approve all pending visual diffs in a build at once.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_approve_baseline","description":"Approve visual changes, updating baselines. Accepts one or more diff IDs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_approve_diff","description":"Approve a single visual diff, accepting the current screenshot as the new baseline.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_approve_layer","description":"Per-layer feedback on a step comparison: approve (Mark expected \\u2192 write baseline), reject (Needs fix \\u2192 create todo), or snooze (suppress for this build only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_create_area","description":"Create a new functional area for organizing tests.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_create_repo","description":"Create a new local repository in the current team. Use this when you need a fresh workspace for tests without connecting to GitHub/GitLab. Pass `baseUrl` to point the repo at an external app (e.g. https://staging.example.com) so generated tests target the right origin instead of localhost:3000.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_create_setup_script","description":"Create a reusable setup script for a repository. Two types: `playwright` (async function with page+context) and `api` (HTTP seeding). Attach the returned ID to a test via lastest_update_test with `setupScriptId`.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_create_storage_state","description":"Create a new storage state for a repo from a Playwright `storageState()` JSON string. The JSON should be the output of `await context.storageState()` \\u2014 an object with `cookies` and `origins` arrays. Use this to share a logged-in session across tests instead of re-logging in. Treat the raw JSON like a password: only call this with tokens you intend Lastest to use.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_create_test","description":"Create a test. Two modes: (1) **direct** \\u2014 pass { name, code } to insert ready-made Playwright code. (2) **AI** \\u2014 pass { url } and/or { prompt } to have the Lastest AI agent generate the test. Direct mode returns immediately with a test ID; AI mode may take longer and returns the generated code.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_delete_area","description":"Soft-delete a functional area. Tests remain but become unassigned.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_delete_setup_script","description":"Delete a setup script. Refused with 409 if any test still references it via setupScriptId \\u2014 the response lists the blocking tests.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_delete_storage_state","description":"Delete a storage state. Tests referencing it via setupOverrides.extraSteps will lose that step \\u2014 review usage before deleting.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_delete_test","description":"Soft-delete a test (can be restored). Does not permanently remove test data.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_get_build_status","description":"Get the current status and results of a build. Use after lastest_run_tests to check progress. Returns slim build scalars + slim diff index \\u2014 drill into a specific diff with lastest_get_visual_diff (or pass `includeDiffs: \"full\"` if you really need the joined a11y/network/AI payloads).","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_change_map","description":"Get the build-level Change Map (4-signal area ranking + AI intent/risk summary) for a build.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_coverage","description":"Get test coverage statistics by functional area and route.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_diff","description":"Get full details of a single visual diff including pixel data, AI analysis, and test info.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_job_status","description":"Get the status and progress of a specific background job.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_playwright_settings","description":"Get the repo-level Playwright settings (browser, viewport, timeouts, error modes, stabilization, parallelism caps, etc.). Falls back to the global row + built-in defaults when no per-repo row exists.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_repo","description":"Get details about a specific repository.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_setup_script","description":"Get a setup script including its code.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_test","description":"Get full details of a single test including code, URL, and last run status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_get_test_run","description":"Get detailed results for a specific test run, including individual test results, errors, and durations.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_get_visual_diff","description":"Get visual diff details for a build, including AI classification and confidence scores.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_heal_test","description":"Trigger the AI healer agent to automatically fix a failing test by inspecting the live UI and updating selectors/assertions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_health_check","description":"Check connectivity to the Lastest instance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_active_jobs","description":"List currently active background jobs (builds, AI operations, etc.).","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_areas","description":"List functional areas (test groupings) for a repository.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_build_shares","description":"List public shares anchored on a build (includes revoked ones \\u2014 check `status`). Use to find an existing share before publishing a duplicate, or to grab a slug for revoke.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_builds","description":"List recent builds for a repository with status and test counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_failing_tests","description":"List tests that are currently failing, with error details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_repos","description":"List all repositories accessible to the current team.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_setup_scripts","description":"List setup scripts for a repository. Each entry includes id, name, type (`playwright` or `api`), and code so you can pick one to attach to a test via setupScriptId.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_storage_states","description":"List storage states (saved Playwright `storageState()` blobs \\u2014 cookies + localStorage) for a repository. Returns metadata only; the raw JSON is omitted because it contains live auth tokens. Use these IDs when wiring `setupOverrides.extraSteps` on a test via lastest_update_test.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_test_shares","description":"List public shares anchored on a single test.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_tests","description":"List all tests in a repository with their latest pass/fail status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_list_tests_by_area","description":"List tests within a specific functional area.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_publish_share","description":"Publish a public-share link for a build (or a single test within it). Returns a `/r/<slug>` URL anyone can view without logging in. Use after a build completes so demos and outreach messages can link directly to the visual result. Pass `scopedTestId` to scope the share to one test instead of the whole build.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_qa_summary","description":"Get a comprehensive QA overview for a repository: test health, recent builds, and action items.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_reject_baseline","description":"Reject visual changes, marking them as regressions. Accepts one or more diff IDs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_reject_diff","description":"Reject a single visual diff, marking it as a regression.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_review_build","description":"Comprehensive build review: fetches build details, visual diffs, and failed tests into a structured QA summary with action items.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_revoke_share","description":"Revoke a public share by its share ID. The `/r/<slug>` URL stops resolving immediately. Find share IDs via lastest_list_build_shares or lastest_list_test_shares.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lastest_run_tests","description":"Trigger a test build and return structured results. Can run all tests in a repo, all tests inside one functional area, or specific test IDs. Pass `forceVideoRecording: true` when you intend to publish a share that should include the video player (the share page renders the embedded clip only when the build has video).","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_update_area","description":"Update a functional area's name, description, or parent.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_update_playwright_settings","description":"Upsert repo-level Playwright settings. Pass any subset of fields \\u2014 unknown keys are rejected, unspecified ones stay at their current value. Use this when the demo skill needs to retarget a repo at a different browser, viewport, or error policy without touching every test individually.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_update_repo","description":"Update a repository's name, default branch, selected branch, or base URL. `baseUrl` is the value passed to `test(page, baseUrl, ...)` \\u2014 set it to point a repo at an external app instead of the default http://localhost:3000.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_update_setup_script","description":"Update a setup script's name, type, code, or description.","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_update_test","description":"Update a test's name, code, URL, functional area, setup wiring, or runtime overrides. Pass `setupTestId` to point this test at another test for setup (the most common pattern when two tests share a login), or `setupScriptId` to point at a saved setup script \\u2014 these two are mutually exclusive. Use `setupOverrides` / `teardownOverrides` to skip specific default steps or inject extra ones (test ","write_action":true,"price_micros":0,"input_schema":null},{"name":"lastest_verify_build","description":"Get the full verify-build view: Change Map + step comparisons grouped by regression vs intent gate.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":91,"grade":"A","scanned_at":"2026-09-27T05:27:24.667Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T05:27:24.699Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 7 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@lastest/mcp-server","version":"0.3.7","found":true,"license":"FSL-1.1-ALv2","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-05-14T14:50:29.829Z","repositoryUrl":"git+https://github.com/las-team/lastest.git","weeklyDownloads":40}],"repo":{"found":true,"owner":"las-team","repo":"lastest","archived":false,"pushedAt":"2026-09-19T18:03:52Z","stars":19,"forks":0,"openIssues":6,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/270397722?v=4","ownerCreatedAt":"2026-03-23T15:19:21Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/270397722?v=4&s=128","source":"github"},"presence":{"stars":19,"forks":0,"downloadsWeek":40,"license":"NOASSERTION","lastPushAt":"2026-09-19T18:03:52.000Z","score":39}}}},"grade_history":[],"reviews":[]}