NestDaddy

Testsy

dev.testsy/testsy · v1.0.2

Run plain-English web QA tests and inspect check results and evidence.

Connect Remote server

Terminal
claude mcp add --transport http testsy https://app.testsy.dev/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
~/.cursor/mcp.json
{
  "mcpServers": {
    "testsy": {
      "url": "https://app.testsy.dev/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "testsy": {
      "type": "http",
      "url": "https://app.testsy.dev/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://app.testsy.dev/mcp

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools 48 found in our last check

  • get_workspace

    The workspace this key belongs to: its id, name and plan, and this period's usage.

  • get_usage

    Plan, runs used this billing period, included runs, extra-run packs and runs left.

  • get_network

    How our browsers reach your sites: the static addresses to allow-list, the country they browse from, and the countries available.

  • set_browse_from

    Choose the country our browsers and devices reach your sites and app servers from (web and app tests), or automatic: the site's own country (an app test then uses our default country).

  • list_projects

    The projects in this workspace (a project groups the tests of one site or app).

  • get_project

    One project.

  • create_project

    Create a project, for example one per site or app.

  • update_project

    Rename a project or change its description.

  • delete_project

    Archive a project: its tests stop running; past runs stay in the run history.

  • list_tests

    The tests of a project, each with its latest run.

  • get_test

    One test: its start address, requirement, plan, options and latest run.

  • create_test

    Create a test of a website (url) or of an app (platform android or ios, and appId; device phone or tablet and osVersion, default a phone on the latest OS). Pass `plan` (from plan_test, after the requester confirmed it): it is stored as the approved checklist and the tester follo…

  • update_test

    Change a test: its title, start address, requirement, plan or options. Only the fields you pass change; within `options`, only the options you pass change and the others keep their values.

  • duplicate_test

    Copy a test under a new title: the test's info is copied over (start address, requirement, plan, options and files). Its run history and schedules stay with the original. The copy counts toward the plan's test limit. Without `title` it is named "<original title> (copy)". Pass `p…

  • delete_test

    Archive a test: it stops running; past runs stay in the run history.

  • plan_test

    Have the assistant draft a test from a plain-language description, or revise a plan, without saving anything. Returns the proposed steps, checks, values to record, assumptions and any questions only the requester can answer. Show the plan to the requester; to change it, call aga…

  • list_test_files

    Files a test can upload during its steps (for example an import file).

  • add_test_file

    Add a file the tester can upload during the test: up to 25 MB, up to 10 files per test. REST: send the raw bytes as the body with the file name in the X-File-Name header (or ?name=), or JSON {name, contentBase64}. MCP: name and contentBase64. A file with the same name replaces t…

  • delete_test_file

    Remove one of a test's files.

  • list_credentials

    The sign-in accounts stored for a project: names, usernames and sites. Passwords are never returned.

  • add_credential

    Store a sign-in account the tester can use. The password is encrypted, never returned, and never sent to the tester's AI: the tester types it. Tests refer to the account by name ("Sign in as the account \"customer\""). Through MCP the password passes through your AI agent: prefe…

  • delete_credential

    Delete a sign-in account. Tests that sign in with it stop running until it is added again or they are edited.

  • list_endpoints

    Calls into your own systems the tester may make during a run (for example "create a voucher"). Headers are never returned.

  • add_endpoint

    Add a call the tester may make into your system. It sees only the name, the description and what the call returned. Using endpoints in a run needs a paid plan. bodyTemplate may contain {{param}} placeholders the tester fills in. Headers (for example Authorization) are encrypted…

  • delete_endpoint

    Delete an endpoint.

  • run_test

    Start a run of one test. Runs take minutes: poll get_run until final is true. watchUrl opens the run live without signing in. App tests run the newest build of their app unless buildId names another (see list_builds). watchUrl is a view-only link anyone can open (no sign-in) to…

  • run_project

    Start a run of every test in a project (a suite). Each started run has a watchUrl to watch it live without signing in. buildIds: builds to use; each app test runs the one of its own app. Tests that could not start are listed in skipped with the reason. REST: send an Idempotency-…

  • list_runs

    Recent runs, newest first, optionally for one test or project or with one status; or the runs with the given ids.

  • get_run

    A run: its status, and once final the verdict, the headline, each check's result with the reason, the values read, and links to the video, screenshots and the result page.

  • wait_run

    Wait up to seconds (default 25, at most 55) for a run to finish, then return it: one call instead of polling get_run every few seconds. Call it again while final is false. The answer comes back the moment the run is final (verdict, checks and evidence in), or when the time is up…

  • stop_run

    Stop a queued or running run. A run you stop is not counted.

  • create_watch_link

    A view-only link to watch a run live and read its result, with no sign-in, valid while it runs and for some hours after. Runs started here get one automatically; this makes another, or one for a run started from the web app. The link shows the live screen, the steps and checks s…

  • revoke_watch_link

    Turn off every watch link of a run straight away.

  • list_share_links

    The share links made for a run, with when they expire and how often they were opened.

  • create_share_link

    A read-only link to a run's result, replay and video that anyone can open without signing in, until it expires.

  • delete_share_link

    Turn off a share link straight away.

  • list_schedules

    When tests run by themselves: every schedule in the workspace, or those of one test or project.

  • create_schedule

    Run a test by itself: on chosen weekdays, or monthly on a day, at a time in a time zone. Each scheduled run counts like any other run.

  • update_schedule

    Pause or resume a schedule.

  • delete_schedule

    Delete a schedule.

  • list_devices

    The phones and tablets app tests can run on, and their OS versions (latest first). Pass device and osVersion to create_test, update_test, run_test or run_project. A new app test runs on a phone with the latest OS unless you choose otherwise; the version is saved with the test, s…

  • list_builds

    The app builds uploaded to a project (Android .apk, iOS Simulator .app zipped), newest first, with the largest size and part size for uploads.

  • get_build

    One build: its app id, version, status and any warnings.

  • find_build

    Is this build already uploaded? Looks up the project's newest ready build by the file's sha256, else by a native fingerprint; build is null when neither matches. A sha256 match means the exact file is uploaded: run it with run_test {buildId} / run_project {buildIds} instead of u…

  • create_build_upload

    Start a build upload and get signed links that upload the file without an API key: run the returned command in a shell, or PUT each part and POST complete to the links. The build is then checked and ready to run. For AI agents: tool arguments cannot carry a build, so hand the by…

  • import_build

    Fetch a build from an https link (an EAS, Bitrise, S3 or GitHub artifact link, up to the build size limit) into the project; it is checked and ready to run. Nothing to upload from your side. The link must be https to a public host name; up to 3 redirects are followed. headers (o…

  • complete_build_upload

    Finish the upload with every part's etag. The build is checked (app id, version, whether our devices can run it) and returned. Use the returned build.id in run_test {buildId} or run_project {buildIds} to run the new build. Uploading alone does not start a run. The command from c…

  • delete_build

    Delete a build. Runs that used it keep their results; a build a test pins cannot be deleted.

Headers

NameDescription
Authorization
Optional, secret
Optional: Bearer followed by a Testsy workspace API key. Without it, clients sign in with OAuth when a tool is first called; listing the tools needs neither.

Details

Endpointhttps://app.testsy.dev/mcp (Streamable HTTP)
First published10 Nov 2026
Last updated10 Nov 2026
Registry namedev.testsy/testsy

More developer tools servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.