LabStore
← All labs

Testkube

by docker ✓ verified ✓ Packaged by Docker

The Testkube MCP Server exposes continuous testing capabilities (test orchestration, execution, troubleshooting and anlysis) to AI tools and workflows.

MCP server installable needs setup network: on runtime: sysbox

DevOps MCP Servers

Testkube MCP Server

The Testkube MCP Server exposes continuous testing capabilities (test orchestration, execution, troubleshooting and anlysis) to AI tools and workflows .

What is an MCP Server?

MCP Info

Attribute Details
Docker Image mcp/testkube
Author kubeshop
Repository https://github.com/kubeshop/testkube

Image Building Info

Attribute Details
Dockerfile https://github.com/kubeshop/testkube/blob/d392deb5bf6876064b2499f92fd78308aeb57c45/build/mcp-server/Dockerfile
Commit d392deb5bf6876064b2499f92fd78308aeb57c45
Docker Image built by Docker Inc.
Docker Scout Health Score Docker Scout Health Score
Verify Signature COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/testkube --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
Licence Other

Available Tools (28)

Tools provided by this Server Short Description
abort_workflow_execution Abort a running workflow execution.
build_dashboard_url Build dashboard URLs for Testkube workflows and executions.
create_workflow Create a new TestWorkflow from a YAML definition.
create_workflowtemplate Create a new TestWorkflowTemplate from a YAML definition.
fetch_execution_logs Retrieve logs from a test workflow execution.
get_execution_info Get detailed information about a specific workflow execution: status, timing, results, configuration, and worker instances.
get_execution_schema Get the YAML schema for TestWorkflowExecution data.
get_workflow Get detailed workflow information including execution history, health metrics, and current status.
get_workflow_definition Get the YAML definition of a specific Testkube workflow.
get_workflow_execution_metrics Get raw resource metrics (CPU, memory, disk, network) for a single workflow execution as time-series data.
get_workflow_metrics Get execution metrics for a workflow: execution statistics, health scores, pass rates, and performance data.
get_workflow_resource_history Analyze resource consumption patterns (CPU, memory, disk, network) across recent executions of a workflow.
get_workflow_schema Get the YAML schema for TestWorkflow definitions.
get_workflowtemplate_definition Get the YAML definition of a specific TestWorkflowTemplate.
list_agents List available agents in the organization for workflow execution targeting.
list_artifacts List all artifacts (files, reports, logs) generated by a workflow execution.
list_executions List test workflow executions with filtering by workflow, status, date range, labels, tags, or text search.
list_labels List all workflow labels and their values in the environment.
list_resource_groups List available resource groups in the organization.
list_workflows List Testkube workflows with optional filtering by resource group, selector, status, and text search.
list_workflowtemplates List all TestWorkflowTemplates with optional label filtering.
lookup_execution_id Resolve an execution name (e.g., 'my-workflow-123') to its execution ID.
read_artifact Read content from an artifact file produced by a workflow execution.
run_workflow Run a TestWorkflow with optional configuration parameters and agent targeting.
update_execution_tags Update tags on a workflow execution.
update_workflow Update an existing TestWorkflow with a new YAML definition.
update_workflowtemplate Update an existing TestWorkflowTemplate with a new YAML definition.
wait_for_executions Wait for a list of workflow executions to complete.

Tools Details

Tool: abort_workflow_execution

Abort a running workflow execution. Stops the execution and marks it as aborted. Use for cancelling long-running or stuck executions.

Parameters Type Description
executionId string The unique execution ID in MongoDB ObjectID format (24 hex chars, e.g., '67d2cdbc351aecb2720afdf2').
Use lookup_execution_id if you only have an execution name.
workflowName string The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: build_dashboard_url

Build dashboard URLs for Testkube workflows and executions. Supports deep linking to a specific step in the execution log view via stepRef.

Parameters Type Description
resourceType string Type of dashboard resource: 'workflow' or 'execution'
workflowName string Name of the test workflow
executionId string optional Execution ID (required for execution URLs)
executionTab string optional Execution tab to navigate to (e.g. 'log-output'). Defaults to 'log-output' when stepRef is provided.
stepRef string optional Step reference ID to deep link to a specific workflow step in the log view (e.g. 'rwhc2zn'). Obtain from execution info signatures. Requires executionId.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: create_workflow

Create a new TestWorkflow from a YAML definition. The workflow is immediately available for execution after creation.

Parameters Type Description
yaml string Complete YAML definition of the TestWorkflow to create in Testkube. This should be the full workflow specification including metadata, spec, and all steps.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: create_workflowtemplate

Create a new TestWorkflowTemplate from a YAML definition. The template is immediately available for use by workflows.

Parameters Type Description
yaml string Complete YAML definition of the TestWorkflowTemplate to create in Testkube. This should be the full template specification including metadata and spec.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: fetch_execution_logs

Retrieve logs from a test workflow execution. Default returns last 100 lines. Use grep to search the full log (capped at 100 matches). Always paginate in 100-line chunks. For parallel workflows with workers, call get_execution_info first to get valid worker refs (do not use step refs).

Parameters Type Description
executionId string The unique execution ID in MongoDB format (e.g., '67d2cdbc351aecb2720afdf2').
endLine string optional 1-based line number to stop reading at (inclusive). Use with startLine for a range.
grep string optional Filter to lines containing this substring (e.g., grep=ERROR).
startLine string optional 1-based line number to start reading from. Use with endLine for a range.
step string optional Filter to logs from a specific workflow step by reference name (e.g., 'run-tests', 'setup-env').
tail string optional Return the last N lines of the log. Example: '50'
workerIndex string optional 0-based index of the parallel worker to fetch logs from (default: 0). Use with workerRef.
workerRef string optional Worker instance ref from the 'workers' array returned by get_execution_info (e.g., 'r72qph9'). ONLY use values from that array — do NOT use step refs from the main log metadata. When set, fetches that specific worker's logs instead of the main execution log.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: get_execution_info

Get detailed information about a specific workflow execution: status, timing, results, configuration, and worker instances. Requires executionId. workflowName is optional for disambiguation.

Parameters Type Description
executionId string The unique execution ID in MongoDB ObjectID format (24 hex chars, e.g., '67d2cdbc351aecb2720afdf2').
Use lookup_execution_id if you only have an execution name.
workflowName string optional Optional workflow name for scoping an execution name lookup. Safe to omit when you have an execution ID.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: get_execution_schema

Get the YAML schema for TestWorkflowExecution data. Returns all available fields, their types, and descriptions. Use to understand execution data structure when analyzing results.

Tool: get_workflow

Get detailed workflow information including execution history, health metrics, and current status.

Parameters Type Description
workflowName string The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: get_workflow_definition

Get the YAML definition of a specific Testkube workflow. Returns the complete specification including steps, configuration schema, and metadata.

Parameters Type Description
workflowName string The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: get_workflow_execution_metrics

Get raw resource metrics (CPU, memory, disk, network) for a single workflow execution as time-series data. Use for deep-dive debugging of a specific run. Requires workflowName and executionId.

Parameters Type Description
executionId string The unique execution ID in MongoDB ObjectID format (24 hex chars, e.g., '67d2cdbc351aecb2720afdf2').
Use lookup_execution_id if you only have an execution name.
workflowName string The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.
maxSamples number optional Maximum number of time-series data points to return per metric (default: 50). Increase for more granular data, decrease for a more compact response.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: get_workflow_metrics

Get execution metrics for a workflow: execution statistics, health scores, pass rates, and performance data. Use to analyze workflow reliability over time.

Parameters Type Description
workflowName string The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: get_workflow_resource_history

Analyze resource consumption patterns (CPU, memory, disk, network) across recent executions of a workflow. Computes cross-execution statistics (mean, min, max, stdDev), detects trends, and identifies outliers. Use to investigate growing resource usage or find abnormal runs. Requires workflowName.

Parameters Type Description
workflowName string The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.
lastN string optional Number of recent executions to analyze (default: 50, max: 100)
metrics string optional Filter to specific metrics: cpu, memory, disk, network. Comma-separated for multiple. Default: all metrics.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: get_workflow_schema

Get the YAML schema for TestWorkflow definitions. Returns all available fields, their types, and descriptions. Use to understand workflow structure when creating or querying workflows.

Tool: get_workflowtemplate_definition

Get the YAML definition of a specific TestWorkflowTemplate. Returns the complete template specification including steps, config schema, and metadata.

Parameters Type Description
templateName string The name of the workflow template. Template names are lowercase alphanumeric with dashes
(e.g., 'my-template', 'official--k6--v1'). This uniquely identifies a TestWorkflowTemplate within the environment.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: list_agents

List available agents in the organization for workflow execution targeting. Returns agent names, types, capabilities, labels, and status. Use before run_workflow to discover target agents.

Parameters Type Description
capability string optional Filter by capability (e.g., 'runner')
page string optional Page number (default: 0)
pageSize string optional Number of items per page (default: 20)
type string optional Filter by agent type (e.g., 'runner')

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: list_artifacts

List all artifacts (files, reports, logs) generated by a workflow execution. Returns artifact names, sizes, and status. Use to discover available outputs before reading specific artifacts.

Parameters Type Description
executionId string The unique execution ID in MongoDB ObjectID format (24 hex chars, e.g., '67d2cdbc351aecb2720afdf2').
Use lookup_execution_id if you only have an execution name.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: list_executions

List test workflow executions with filtering by workflow, status, date range, labels, tags, or text search. Returns execution summaries including status, duration, and metadata. Use to discover recent runs or find specific executions.

Parameters Type Description
endDate string optional Filter items on or before this time. Accepts a date (YYYY-MM-DD, e.g., '2024-01-31')
or an RFC 3339 timestamp (e.g., '2024-01-31T16:00:00Z'). Combine with startDate for date ranges.
page string optional Page number for pagination (default: 0)
pageSize string optional Number of items to return per page (default: 10, max: 100)
selector string optional Filter workflows by label using key=value format. For single label use 'key=value',
for multiple labels use comma-separated format 'key1=value1,key2=value2' (e.g., 'tool=cypress,env=prod').
Note: filters workflow-level labels, not execution tags — use tagSelector for execution tags.
since string optional Filter executions created after this time (ISO 8601 format)
startDate string optional Filter items on or after this time. Accepts a date (YYYY-MM-DD, e.g., '2024-01-15')
or an RFC 3339 timestamp (e.g., '2024-01-15T13:00:00Z').
status string optional Filter by execution status. Available statuses: 'queued', 'running', 'passed',
'failed', 'skipped', 'aborted', 'timeout', 'paused'
tagSelector string optional Filter executions by tag using key=value format. For single tag use 'key=value',
for multiple tags use comma-separated format 'key1=value1,key2=value2' (e.g., 'type=suite,env=prod').
Note: filters execution-level tags (set via update_execution_tags), not workflow labels — use selector for workflow labels.
textSearch string optional Text search filter for names or descriptions. Can use space-separated words
to find items containing all terms
workflowName string optional The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: list_labels

List all workflow labels and their values in the environment. Use to discover available filters for selector parameters in other tools.

Tool: list_resource_groups

List available resource groups in the organization. Use to discover group slugs for filtering workflows and executions.

Tool: list_workflows

List Testkube workflows with optional filtering by resource group, selector, status, and text search. Returns workflow names, descriptions, and execution status.

Parameters Type Description
page string optional Page number for pagination (default: 0)
pageSize string optional Number of items to return per page (default: 10, max: 100)
resourceGroup string optional Filter by resource group using the group slug (e.g., 'demo-resource-group', 'accounting-tests'). Use the list_resource_groups tool to discover available groups
selector string optional Filter workflows by label using key=value format. For single label use 'key=value',
for multiple labels use comma-separated format 'key1=value1,key2=value2' (e.g., 'tool=cypress,env=prod').
Note: filters workflow-level labels, not execution tags — use tagSelector for execution tags.
status string optional Filter by execution status. Available statuses: 'queued', 'running', 'passed',
'failed', 'skipped', 'aborted', 'timeout', 'paused'
textSearch string optional Text search filter for names or descriptions. Can use space-separated words
to find items containing all terms

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: list_workflowtemplates

List all TestWorkflowTemplates with optional label filtering. Returns template names, descriptions, and labels.

Parameters Type Description
selector string optional Filter workflows by label using key=value format. For single label use 'key=value',
for multiple labels use comma-separated format 'key1=value1,key2=value2' (e.g., 'tool=cypress,env=prod').
Note: filters workflow-level labels, not execution tags — use tagSelector for execution tags.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: lookup_execution_id

Resolve an execution name (e.g., 'my-workflow-123') to its execution ID. Use when you have an execution name but need the ID for other tools.

Parameters Type Description
executionName string The name of the execution (e.g., 'my-workflow-123'). Execution names follow
the pattern of workflow name plus a numeric suffix. Use lookup_execution_id to get the ID from a name.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: read_artifact

Read content from an artifact file produced by a workflow execution. Default returns first 100 lines (max 200 per request). Always paginate in 100-200 line chunks. For binary artifacts, returns a summary instead of content.

Parameters Type Description
executionId string The unique execution ID in MongoDB ObjectID format (24 hex chars, e.g., '67d2cdbc351aecb2720afdf2').
Use lookup_execution_id if you only have an execution name.
fileName string The name of the artifact file to retrieve
endLine string optional 1-based line number to stop reading at (inclusive). Use with startLine for a range.
grep string optional Case-insensitive substring filter. Returns matching lines with 3 lines of context. When set, startLine and endLine are ignored — use grep OR line range, not both.
startLine string optional 1-based line number to start reading from. Use with endLine for a range.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: run_workflow

Run a TestWorkflow with optional configuration parameters and agent targeting. Use get_workflow_definition first to discover available config parameters. Use list_agents to discover available target agents.

Parameters Type Description
workflowName string The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.
config object optional Configuration parameters for the workflow. Use get_workflow_definition tool first to examine the spec.config section to see what parameters are available.
target object optional Target specification for multi-agent execution (optional). Supports: {"name": "agent-name"} for name-based targeting, {"labels": {"env": "prod"}} for label-based targeting, or standard ExecutionTarget format with match/not/replicate fields.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: update_execution_tags

Update tags on a workflow execution. Uses replace semantics: provided tags completely replace existing tags. Send empty map {} to clear all tags. Tags are key-value pairs for categorization and filtering.

Parameters Type Description
executionId string The unique execution ID in MongoDB ObjectID format (24 hex chars, e.g., '67d2cdbc351aecb2720afdf2').
Use lookup_execution_id if you only have an execution name.
tags object Key-value tag pairs (e.g., {"env":"prod","bug":"found"}). Replaces all existing tags. Use {} to clear all tags.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: update_workflow

Update an existing TestWorkflow with a new YAML definition. The workflow is updated immediately and available for execution with the new configuration.

Parameters Type Description
workflowName string The name of the workflow. Workflow names are lowercase alphanumeric with dashes
(e.g., 'my-workflow', 'api-tests'). This uniquely identifies a TestWorkflow within the organization.
yaml string Complete YAML definition of the TestWorkflow to update in Testkube. This should be the full workflow specification including metadata, spec, and all steps.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: update_workflowtemplate

Update an existing TestWorkflowTemplate with a new YAML definition. Workflows using the template pick up the changes.

Parameters Type Description
templateName string The name of the workflow template. Template names are lowercase alphanumeric with dashes
(e.g., 'my-template', 'official--k6--v1'). This uniquely identifies a TestWorkflowTemplate within the environment.
yaml string Complete YAML definition of the TestWorkflowTemplate to update in Testkube. This should be the full template specification including metadata and spec.

This tool may perform destructive updates.

This tool interacts with external entities.


Tool: wait_for_executions

Wait for a list of workflow executions to complete. Returns the final status of all executions. Use for synchronizing dependent workflows.

Parameters Type Description
executionIds string Comma-separated list of execution IDs to wait for (e.g., 'exec1,exec2,exec3').
timeoutMinutes string optional Maximum time to wait in minutes before timing out (default: 30). Set to 0 for no timeout.

This tool may perform destructive updates.

This tool interacts with external entities.


Use this MCP Server

{
  "mcpServers": {
    "testkube": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "TK_CONTROL_PLANE_URL",
        "-e",
        "TK_ACCESS_TOKEN",
        "-e",
        "TK_ORG_ID",
        "-e",
        "TK_ENV_ID",
        "mcp/testkube"
      ],
      "env": {
        "TK_CONTROL_PLANE_URL": "https://api.testkube.io",
        "TK_ACCESS_TOKEN": "tkcapi_xxxxxxx",
        "TK_ORG_ID": "tkcorg_xxxxxxx",
        "TK_ENV_ID": "tkcenv_xxxxxxx"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?