Live demo — data resets daily at 03:00 UTC. Nothing you enter is saved. Server UI →

product: assert audience: test-developer, operator, ai-assistant authority: normative

MCP Tools — Packages

Tools for managing test packages — the versioned bundles that contain YAML test files and runner assemblies.

All tool responses include a top-level station field containing the StationLabel configured for this server instance.

See also: tools-reference.md for the full tool index.


list_packages

Lists all packages in the registry with their status and lifecycle.

Parameter Type Required Description
(none)

Returns: packages[] — each has name, version, status, lifecycleStatus, installedVersion

Status values: NotInstalled, Downloading, Installed, UpdateAvailable, Error

Calls: GET /api/packages


trigger_package_refresh

Triggers a background re-scan of the package registry to discover updates. Returns immediately; results arrive via SignalR (visible in the Packages UI page).

Parameter Type Required Description
(none)

Returns: message confirming the refresh was triggered

Calls: POST /api/packages/refresh


download_package

Starts a background download of a named package from the registry. Returns immediately (202 Accepted). To block until the download finishes, follow this call with wait_for_package (preferred). Alternatively monitor the Packages UI page, or poll list_packages until status == "Installed".

Parameter Type Required Description
name string Yes Package name as shown in list_packages

Returns: message confirming the download was accepted

Calls: POST /api/packages/{name}/download


wait_for_package

Blocks until an asynchronous package operation reaches a terminal state (completed or failed), then returns the outcome — the package-lifecycle counterpart to wait_for_test_completion. Use it instead of a fixed sleep after trigger_package_refresh or download_package.

Call it immediately after triggering the operation: the operation runs asynchronously and its terminal event fires later. Pass name to wait for that package's download; leave it empty to wait for the next terminal event of any kind (e.g. a registry refresh, which is not package-scoped). activate_package is already synchronous, so it does not need this.

Parameter Type Required Description
name string No Package to wait for; omit to match the next terminal event of any kind
timeoutSeconds int No Max time to wait; defaults to 120 when ≤ 0

Returns: { outcome, eventType, packageName, message, isError } where outcome is one of completed, failed, timeout, not_connected.

Reliable deploy sequence (no guessed sleeps):

trigger_package_refresh
wait_for_package                      # name omitted → catches RegistryRefreshCompleted/Failed
download_package        name: "PKG"
wait_for_package        name: "PKG"   # blocks until PackageDownloadCompleted/Failed
activate_package        name: "PKG"   # synchronous — its response is the result

Uses the same live SignalR stream as poll_test_progress. wait_for_package blocks for you; poll_test_progress (see live-events) returns the raw packageEvents if you prefer to poll.


activate_package

Marks a downloaded package as active, making its test files available for execution.

Parameter Type Required Description
name string Yes Package name

Returns: message confirming activation

Calls: POST /api/packages/{name}/activate


install_package

Convenience tool: downloads and activates a package in a single step. Polls list_packages internally until status == "Installed" (up to 120 seconds) before calling activate.

Parameter Type Required Description
name string Yes Package name

Returns: download and activate message strings


uninstall_package

Deactivates and removes a package from the local cache.

Parameter Type Required Description
name string Yes Package name

Returns: message confirming removal

Calls: DELETE /api/packages/{name}


set_package_lifecycle

Sets the lifecycle status of a package (controls whether it is eligible for use in staging or production environments).

Parameter Type Required Description
name string Yes Package name
lifecycleStatus string Yes One of: NotReleased, Development, Staging, Production

Returns: message confirming the change

Calls: PUT /api/packages/{name}/lifecycle


get_available_test_files

Lists all YAML test files available from activated packages. Identical to list_available_tests but grouped here for discoverability.

Parameter Type Required Description
(none)

Returns: testFiles[]packageName, testName, filePath, requiredTags

Calls: GET /api/packages/test-files

An unhandled error has occurred. Reload

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.