Snapvisor
How it worksFeaturesIntegrationsPricingAppsDocs
Sign inStart free
How it worksFeaturesIntegrationsPricingAppsDocs Join our DiscordSign in

Agent setup

Onboard your agent to Snapvisor

Copy one sentence into your AI coding agent to guide it through Snapvisor setup: the MCP server, the SDK for your test runner, and a check that the connection works.

Fastest: Add to Claude

Using claude.ai, Claude Desktop or Claude Code signed in with a Claude account? Add Snapvisor as a connector in one click, then sign in to approve access.

Add to ClaudeMCP requires a paid plan

Paste one sentence

Fetch and execute the appropriate instructions to set me up for Snapvisor from https://snapvisor.io/agent-setup/prompt.md

The sentence points the agent at /agent-setup/prompt.md, a plain markdown file with the exact commands below. The agent handles setup and reports any sign-in, restart, or CI secret steps you need.

Guides per agent

Claude CodeOne command adds the remote MCP server; OAuth opens in the browser on first use.
CodexRegister the streamable HTTP server, then codex mcp login runs the OAuth consent.
CursorOne entry in mcp.json, global or per project; sign in from Cursor's MCP settings.
OpenCodeA remote entry under mcp in opencode.json, then opencode mcp auth for OAuth.

How the credentials work

  • MCP server, OAuth 2.1 (default). A request without a token gets a 401; compatible clients offer browser sign-in to Snapvisor. The client handles token storage after you approve access. The grant appears under Settings, Applications in the app and can be revoked there.
  • MCP server, personal access token (headless alternative). Use it only when the user asks for a token-based setup or your client cannot open a browser. If SNAPVISOR_ACCESS_TOKEN is not already set, ask the user ONCE to create a token at https://app.snapvisor.io under Settings, Tokens, and to export it as SNAPVISOR_ACCESS_TOKEN in their shell profile. Never write the token into a file that is committed.
  • Project tokens are rejected by the MCP server. A project's ARGOS_TOKEN only uploads screenshots from CI (step 3). It cannot read the API or drive the MCP server.
  • Plan. Hosted MCP access through OAuth requires a paid plan; eligible new teams can start a 14-day Pro trial. On Free, getMe still verifies the connection; other OAuth operations require an upgrade. Personal access tokens use their account permissions separately.

Any other MCP client

  1. Point the client at https://mcp.snapvisor.io over streamable HTTP. Clients that use an mcpServers file take this entry. A client that cannot run OAuth sends Authorization: Bearer followed by a personal access token.
    json
    {
      "mcpServers": {
        "snapvisor": {
          "url": "https://mcp.snapvisor.io"
        }
      }
    }

Add the SDK

  1. Only do this step inside a project that has a UI test suite; otherwise skip it and say so in the completion message. Use the package manager the project already uses (the lockfile tells you): the commands below are written for npm.
  2. Playwright (@playwright/test in package.json): install the SDK, register its reporter in playwright.config.ts, and capture screenshots with argosScreenshot in the tests that render UI.
    bash
    npm install --save-dev @snapvisor/playwright
  3. The reporter uploads from CI only, so local runs stay offline:
    ts
    // playwright.config.ts
    import { defineConfig } from "@playwright/test";
    import { createArgosReporterOptions } from "@snapvisor/playwright/reporter";
    
    export default defineConfig({
      reporter: [
        process.env.CI ? ["dot"] : ["list"],
        [
          "@snapvisor/playwright/reporter",
          createArgosReporterOptions({ uploadToArgos: !!process.env.CI }),
        ],
      ],
    });
  4. Storybook: install @snapvisor/storybook. Vitest browser mode: install @snapvisor/vitest. Then wire them as the SDK page describes.
    bash
    npm install --save-dev @snapvisor/storybook
  5. Any other runner that writes screenshots to a folder: install the CLI and upload that folder after the tests run.
    bash
    npm install --save-dev @snapvisor/cli
    npx @snapvisor/cli upload ./screenshots
  6. Python projects: follow the Python SDK section of https://snapvisor.io/docs/sdks.
  7. Uploads authenticate with the project's ARGOS_TOKEN, found in the project's settings at https://app.snapvisor.io. It belongs in CI secrets, never in the repository. On GitHub Actions no token is needed: https://snapvisor.io/docs/learn/integrations/github-tokenless-authentication.
  8. Optional: the CLI can also inspect builds, submit reviews and post comments from the terminal. login opens the browser for the user to approve; whoami confirms it.
    bash
    npx @snapvisor/cli login
    npx @snapvisor/cli whoami

Verify the connection

  1. The snapvisor MCP server normally shows only two tools, search_tools and execute_typescript, and every operation is reached through them. Call search_tools with the query getMe; it answers with the declaration of external_getMe. Then call execute_typescript with this program:
    ts
    return await external_getMe({});
  2. If the server instead lists getMe as a tool of its own, call that tool directly. Either way, success is a response naming the signed-in user and the accounts the connection can reach; each account slug is the owner argument of every other operation.
  3. Most agents load MCP servers when a session starts. If no snapvisor tool is available to you yet, do not report failure: the completion message tells the user to restart the session and ask you to verify the connection.
  4. A 401 means the browser sign-in has not been completed yet. Inside execute_typescript a refused call throws an error carrying the same message; wrap the call in try/catch to read it. An answer that asks for an upgrade means the connection works and the account is on the Free plan.
Something off? The MCP server guide and the FAQ cover the common cases, and support reads every message.
Snapvisor

Visual regression testing that catches every pixel before it ships — built on a proven open-source visual-diff engine.

Open source at the core

Product

  • Features
  • How it works
  • Pricing
  • Get the app
  • Agent setup
  • Support
  • Refer & Earn
  • Integrations

Compare

  • vs Percy
  • vs Chromatic
  • vs Applitools
  • vs Argos CI
  • vs Lost Pixel

Docs

  • Quickstart
  • MCP server
  • Access tokens
  • Support

Legal

  • Privacy Policy
  • Terms of Service
  • Delete your account
  • Partner Terms
  • Contact

Contact

  • support@snapvisor.io
  • Join our Discord
All documentation
  • Snapvisor
  • Getting started
  • Baseline builds
  • Monitoring mode
  • Parallel testing
  • Summary checks
  • Flaky test detection
  • GitHub
  • GitLab
  • GitHub tokenless authentication
  • GitHub Actions OIDC authentication
  • Slack notifications
  • Deployments
  • Environments
  • URLs and domains
  • Access protection
  • Members and roles
  • SAML SSO
  • Spend management
  • MCP server
  • Access tokens
  • API reference
  • Frequently asked questions
  • Open source
  • Support
  • Self-hosting
  • Review workflow
  • CI integration
  • Migrate from Lost Pixel
  • Migrate from Percy
  • Pricing
  • SDKs
  • API
© 2026 Snapvisor. All rights reserved.Zero third-party runtime requests.