# testkube-mcp

Connects AI assistants to Testkube to orchestrate automated tests in Kubernetes. Useful when you need to trigger runs and inspect artifacts directly from your editor.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 1673
- Author: kubeshop
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/kubeshop/testkube
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/testkube-mcp

## What it does

This server connects AI assistants with the Testkube testing platform running in Kubernetes. It enables your coding assistant to trigger test workflows, retrieve execution logs, and inspect cluster resource metrics.

Kubeshop distributes the server as a Docker container image, `docker.io/kubeshop/mcp-server:2.14.2`, for stdio transport. Alternatively, clients can connect directly via an HTTP endpoint on `api.testkube.io`.

Without `TK_ACCESS_TOKEN` and your organization identifiers, API calls will fail. Using the stdio mode requires an active Docker daemon on the host.

## Requirements
- Needs: Docker
- Remote server: `https://api.testkube.io/organizations/{organization_id}/environments/{environment_id}/mcp`
- Environment variables: `TK_ACCESS_TOKEN`, `TK_ORG_ID`, `TK_ENV_ID`, `TK_CONTROL_PLANE_URL`, `TK_DASHBOARD_URL`, `TK_DEBUG`, `TK_MCP_TRANSPORT`, `TK_MCP_SHTTP_HOST`, `TK_MCP_SHTTP_PORT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.
- Works with: Kubernetes

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add --env TK_ACCESS_TOKEN=<TK_ACCESS_TOKEN> --env TK_ORG_ID=<TK_ORG_ID> --env TK_ENV_ID=<TK_ENV_ID> --env TK_CONTROL_PLANE_URL=<TK_CONTROL_PLANE_URL> --env TK_DASHBOARD_URL=<TK_DASHBOARD_URL> --transport stdio testkube-mcp -- docker run -i --rm -e TK_ACCESS_TOKEN -e TK_ORG_ID -e TK_ENV_ID -e TK_CONTROL_PLANE_URL -e TK_DASHBOARD_URL docker.io/kubeshop/mcp-server:2.14.2
```
Replace <…> with your own values. 4 more environment variables are in the server README

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http testkube-mcp https://api.testkube.io/organizations/{organization_id}/environments/{environment_id}/mcp
```

### Codex

1. **Platform CLI**
```bash
codex mcp add testkube-mcp --env TK_ACCESS_TOKEN=<TK_ACCESS_TOKEN> --env TK_ORG_ID=<TK_ORG_ID> --env TK_ENV_ID=<TK_ENV_ID> --env TK_CONTROL_PLANE_URL=<TK_CONTROL_PLANE_URL> --env TK_DASHBOARD_URL=<TK_DASHBOARD_URL> -- docker run -i --rm -e TK_ACCESS_TOKEN -e TK_ORG_ID -e TK_ENV_ID -e TK_CONTROL_PLANE_URL -e TK_DASHBOARD_URL docker.io/kubeshop/mcp-server:2.14.2
```
Replace <…> with your own values. 4 more environment variables are in the server README

2. **Platform CLI: remote server**
```bash
codex mcp add testkube-mcp --url https://api.testkube.io/organizations/{organization_id}/environments/{environment_id}/mcp
```

### Cursor

1. **Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "testkube-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "TK_ACCESS_TOKEN",
                "-e",
                "TK_ORG_ID",
                "-e",
                "TK_ENV_ID",
                "-e",
                "TK_CONTROL_PLANE_URL",
                "-e",
                "TK_DASHBOARD_URL",
                "docker.io/kubeshop/mcp-server:2.14.2"
            ],
            "env": {
                "TK_ACCESS_TOKEN": "<TK_ACCESS_TOKEN>",
                "TK_ORG_ID": "<TK_ORG_ID>",
                "TK_ENV_ID": "<TK_ENV_ID>",
                "TK_CONTROL_PLANE_URL": "<TK_CONTROL_PLANE_URL>",
                "TK_DASHBOARD_URL": "<TK_DASHBOARD_URL>"
            }
        }
    }
}
```
Replace <…> with your own values. 4 more environment variables are in the server README

2. **Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "testkube-mcp": {
            "url": "https://api.testkube.io/organizations/{organization_id}/environments/{environment_id}/mcp"
        }
    }
}
```

### GitHub Copilot

1. **Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "testkube-mcp": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "TK_ACCESS_TOKEN",
                "-e",
                "TK_ORG_ID",
                "-e",
                "TK_ENV_ID",
                "-e",
                "TK_CONTROL_PLANE_URL",
                "-e",
                "TK_DASHBOARD_URL",
                "docker.io/kubeshop/mcp-server:2.14.2"
            ],
            "env": {
                "TK_ACCESS_TOKEN": "<TK_ACCESS_TOKEN>",
                "TK_ORG_ID": "<TK_ORG_ID>",
                "TK_ENV_ID": "<TK_ENV_ID>",
                "TK_CONTROL_PLANE_URL": "<TK_CONTROL_PLANE_URL>",
                "TK_DASHBOARD_URL": "<TK_DASHBOARD_URL>"
            }
        }
    }
}
```
Replace <…> with your own values. 4 more environment variables are in the server README

2. **Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "testkube-mcp": {
            "type": "http",
            "url": "https://api.testkube.io/organizations/{organization_id}/environments/{environment_id}/mcp"
        }
    }
}
```

### Gemini CLI

1. **Platform CLI**
```bash
gemini mcp add -e TK_ACCESS_TOKEN=<TK_ACCESS_TOKEN> -e TK_ORG_ID=<TK_ORG_ID> -e TK_ENV_ID=<TK_ENV_ID> -e TK_CONTROL_PLANE_URL=<TK_CONTROL_PLANE_URL> -e TK_DASHBOARD_URL=<TK_DASHBOARD_URL> testkube-mcp docker run -i --rm -e TK_ACCESS_TOKEN -e TK_ORG_ID -e TK_ENV_ID -e TK_CONTROL_PLANE_URL -e TK_DASHBOARD_URL docker.io/kubeshop/mcp-server:2.14.2
```
Replace <…> with your own values. 4 more environment variables are in the server README

2. **Platform CLI: remote server**
```bash
gemini mcp add -t http testkube-mcp https://api.testkube.io/organizations/{organization_id}/environments/{environment_id}/mcp
```

## When to use it
- trigger test workflows inside Kubernetes clusters via chat
- retrieve execution logs and test artifacts for debugging
- inspect resource metrics and workflow runs without opening dashboards

## Example prompts
- Show recent Testkube execution results and summarize failed steps.
- Trigger the API test workflow in our staging environment and fetch the logs.

## Similar
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [mobile-mcp](https://affpapa.org/en/nevibecode/mcp/mobile-mcp.md) — MCP server · ★ 9946
- [XcodeBuildMCP](https://affpapa.org/en/nevibecode/mcp/xcodebuildmcp.md) — MCP server · ★ 6505
- [agent-device](https://affpapa.org/en/nevibecode/mcp/agent-device.md) — MCP server · ★ 5149
- [skylos](https://affpapa.org/en/nevibecode/mcp/skylos.md) — MCP server · ★ 849

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
