☸️ The Open Testing Platform for AI-Driven Engineering Teams
Setup
Choose your client, copy the config, then fill in any required environment variables.
Local
claude mcp add testkube --env TK_ACCESS_TOKEN='<TK_ACCESS_TOKEN>' --env TK_ORG_ID='<TK_ORG_ID>' --env TK_ENV_ID='<TK_ENV_ID>' -- docker run -i --rm -e TK_ACCESS_TOKEN -e TK_ORG_ID -e TK_ENV_ID docker.io/kubeshop/mcp-server:2.14.2~/.codex/config.toml
[mcp_servers.testkube]
command = "docker"
args = ["run", "-i", "--rm", "-e", "TK_ACCESS_TOKEN", "-e", "TK_ORG_ID", "-e", "TK_ENV_ID", "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>" }
# codex mcp add testkube --env TK_ACCESS_TOKEN='<TK_ACCESS_TOKEN>' --env TK_ORG_ID='<TK_ORG_ID>' --env TK_ENV_ID='<TK_ENV_ID>' -- docker run -i --rm -e TK_ACCESS_TOKEN -e TK_ORG_ID -e TK_ENV_ID docker.io/kubeshop/mcp-server:2.14.2~/.cursor/mcp.json
{
"mcpServers": {
"testkube": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TK_ACCESS_TOKEN",
"-e",
"TK_ORG_ID",
"-e",
"TK_ENV_ID",
"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>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"testkube": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TK_ACCESS_TOKEN",
"-e",
"TK_ORG_ID",
"-e",
"TK_ENV_ID",
"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>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"testkube": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TK_ACCESS_TOKEN",
"-e",
"TK_ORG_ID",
"-e",
"TK_ENV_ID",
"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>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"testkube": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TK_ACCESS_TOKEN",
"-e",
"TK_ORG_ID",
"-e",
"TK_ENV_ID",
"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>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"testkube": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TK_ACCESS_TOKEN",
"-e",
"TK_ORG_ID",
"-e",
"TK_ENV_ID",
"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>"
}
}
}
}Remote
claude mcp add --transport http testkube 'https://api.testkube.io/organizations/<ORGANIZATION_ID>/environments/<ENVIRONMENT_ID>/mcp'~/.codex/config.toml
[mcp_servers.testkube]
url = "https://api.testkube.io/organizations/<ORGANIZATION_ID>/environments/<ENVIRONMENT_ID>/mcp"
# codex mcp add testkube --url 'https://api.testkube.io/organizations/<ORGANIZATION_ID>/environments/<ENVIRONMENT_ID>/mcp'~/.cursor/mcp.json
{
"mcpServers": {
"testkube": {
"url": "https://api.testkube.io/organizations/<ORGANIZATION_ID>/environments/<ENVIRONMENT_ID>/mcp"
}
}
}.vscode/mcp.json
{
"servers": {
"testkube": {
"type": "http",
"url": "https://api.testkube.io/organizations/<ORGANIZATION_ID>/environments/<ENVIRONMENT_ID>/mcp"
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"testkube": {
"httpUrl": "https://api.testkube.io/organizations/<ORGANIZATION_ID>/environments/<ENVIRONMENT_ID>/mcp"
}
}
}claude_desktop_config.json · Customize › Connectors › Add custom connector
{
"mcpServers": {
"testkube": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.testkube.io/organizations/<ORGANIZATION_ID>/environments/<ENVIRONMENT_ID>/mcp"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"testkube": {
"url": "https://api.testkube.io/organizations/<ORGANIZATION_ID>/environments/<ENVIRONMENT_ID>/mcp"
}
}
}Environment variables
TK_ACCESS_TOKENTK_ORG_IDTK_ENV_ID
Replace the placeholders with your own credentials and keep them out of version control.