The Testkube MCP Server exposes continuous testing capabilities (test orchestration, execution, t...
10K+
The Testkube MCP Server exposes continuous testing capabilities (test orchestration, execution, troubleshooting and anlysis) to AI tools and workflows .
| Attribute | Details |
|---|---|
| Docker Image | mcp/testkube |
| Author | kubeshop |
| Repository | https://github.com/kubeshop/testkube |
| 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 | |
| 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 |
| 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. |
abort_workflow_executionAbort 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.
build_dashboard_urlBuild 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.
create_workflowCreate 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.
create_workflowtemplateCreate 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.
fetch_execution_logsRetrieve 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.
get_execution_infoGet 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.
get_execution_schemaGet the YAML schema for TestWorkflowExecution data. Returns all available fields, their types, and descriptions. Use to understand execution data structure when analyzing results.
get_workflowGet 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.
get_workflow_definitionGet 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.
get_workflow_execution_metricsGet 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.
get_workflow_metricsGet 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.
get_workflow_resource_historyAnalyze 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.
get_workflow_schemaGet the YAML schema for TestWorkflow definitions. Returns all available fields, their types, and descriptions. Use to understand workflow structure when creating or querying workflows.
get_workflowtemplate_definitionGet 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.
list_agentsList 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.
list_artifactsList 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.
list_executionsList 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.
list_labelsList all workflow labels and their values in the environment. Use to discover available filters for selector parameters in other tools.
list_resource_groupsList available resource groups in the organization. Use to discover group slugs for filtering workflows and executions.
list_workflowsList 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.
list_workflowtemplatesList 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.
lookup_execution_idResolve 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.
read_artifactRead 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.
run_workflowRun 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.
update_execution_tagsUpdate 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.
update_workflowUpdate 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.
update_workflowtemplateUpdate 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.
wait_for_executionsWait 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.
{
"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"
}
}
}
}
Content type
Image
Digest
sha256:43aa88f2d…
Size
44.4 MB
Last updated
14 days ago
docker pull mcp/testkubePulls:
948
Jul 6 to Jul 12