Skip to main content
Glama

QIT MCP Server

An MCP (Model Context Protocol) server that wraps the QIT CLI, enabling natural language interaction and agent-based workflows for WordPress/WooCommerce plugin testing.

Features

  • Natural Language Testing: Run QIT tests using conversational commands

  • Agent Integration: Enable AI agents to run tests as part of automated workflows

  • Full CLI Coverage: Access all essential QIT CLI functionality through MCP tools

  • Smart CLI Detection: Automatically finds QIT CLI in PATH, local vendor, or custom location

Related MCP server: WordPress Developer MCP Server

Prerequisites

  • Node.js 18+

  • QIT CLI installed and accessible

Installation

git clone https://github.com/woocommerce/qit-mcp
cd qit-mcp
npm install
npm run build

Configuration

Claude Code

Add to your Claude Code MCP settings (~/.claude.json):

{
  "mcpServers": {
    "qit": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/qit-mcp/dist/index.js"],
      "env": {
        "QIT_CLI_PATH": "/path/to/qit-cli/qit"
      }
    }
  }
}

QIT CLI Detection

The MCP server automatically detects QIT CLI in this order:

  1. QIT_CLI_PATH environment variable

  2. qit in system PATH

  3. ./vendor/bin/qit (local Composer installation)

Available Tools

Authentication (2 tools)

Tool

Description

authenticate

Connect to WooCommerce.com Partner Developer account

get_auth_status

Check current authentication status

Test Execution (2 tools)

Tool

Description

run_test

Run any test type (security, e2e, phpstan, activation, etc.)

run_test_group

Run a predefined test group from qit.json

Test Results (4 tools)

Tool

Description

get_test_result

Get test result(s) by ID

list_tests

List test runs with filters

get_test_report

Get detailed test report

open_test_result

Open result in browser

Groups (1 tool)

Tool

Description

get_group_status

Fetch status of a registered test group

Environment (5 tools)

Tool

Description

start_environment

Start a local test environment

stop_environment

Stop a running environment

list_environments

List running environments

exec_in_environment

Execute command in environment container

reset_environment

Reset environment database

Packages (2 tools)

Tool

Description

manage_package

Manage test packages (publish, download, scaffold, delete, show)

list_packages

List available test packages with filtering

Configuration (1 tool)

Tool

Description

manage_config

Manage backends, partners, and tunneling configuration

Utilities (5 tools)

Tool

Description

list_extensions

List extensions you can test

validate_zip

Validate a plugin ZIP file

manage_cache

Manipulate QIT cache

get_qit_dir

Get QIT config directory path

sync_cache

Re-sync with QIT Manager

Usage Examples

Natural Language (via Claude Code)

"Run security tests on my-plugin"
→ run_test(type="security", plugin="my-plugin")

"Start a test environment with PHP 8.2"
→ start_environment(php_version="8.2")

"Show me my recent failed tests"
→ list_tests(status="failed")

"What plugins can I test?"
→ list_extensions()

Programmatic Usage

The MCP server communicates via stdio using the Model Context Protocol. See the MCP documentation for integration details.

Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

# Run tests
npm test

# Lint
npm run lint

License

MIT

Available Tools

22 tools
authenticateB

Authenticate with WooCommerce.com Partner Developer account. Required before running managed tests.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: user, application_password.

exec_in_environmentC

Execute a command inside a running QIT test environment's PHP container.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: command (required), env_id.

get_auth_statusB

Check if QIT CLI is authenticated and show current authentication status.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: no named parameters.

get_group_statusC

Fetch the status of a registered test group from QIT Manager.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: group (required), json.

get_qit_dirC

Get the QIT configuration directory path.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: no named parameters.

get_test_reportC

Get a detailed local test report for a specific test run. Only available for tests run locally (not managed tests).

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: test_run_id (required).

get_test_resultC

Get test result(s) by test run ID.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: test_run_id (required), json.

list_environmentsC

List all running QIT test environments with compact output.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: no named parameters.

list_extensionsC

List WooCommerce extensions you have access to test with QIT. Use 'search' parameter to filter results and reduce response size.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: search, limit.

list_packagesC

List available QIT test packages with compact output. Use 'search' to filter and 'limit' to control response size.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: search, type, limit.

list_testsC

List test runs with optional filters. Default per_page is 10 to reduce response size.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: status, test_type, extension, per_page.

manage_cacheB

Low-level QIT cache manipulation. For refreshing cache data, use sync_cache instead.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: action (required), key (required), value, expiration.

manage_configC

Manage QIT configuration (backends, partners, tunneling). Actions: add_backend, remove_backend, switch_backend, current_backend, add_partner, remove_partner, setup_tunnel, set_default_tunnel

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: action (required), name, url, tunnel_method.

manage_packageC

Manage QIT test packages. Actions: publish, download, scaffold, delete, show

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: action (required), package_name, path, type, +1 more.

open_test_resultC

Open a test result in the default web browser and return the report URL.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: test_run_id (required).

reset_environmentC

Reset a QIT test environment's database to the post-setup state.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: env_id.

run_testC

Run a QIT test on a plugin or theme. Local tests (activation, e2e, performance, woo-api, woo-e2e) run in Docker locally. Managed tests (api, compatibility, malware, phpcompatibility, phpstan, plugin-check, security, validation) are enqueued on GitHub Actions. Version flags - Full (php/wp/woo): activation, e2e, performance, compatibility, woo-api, woo-e2e; WP/Woo only: phpstan, phpcompatibility; None: security, malware, validation, api, plugin-check. Local-only flags (env_vars, volumes, additional_plugins/themes, object_cache, tunnel, ui, test_packages): activation, e2e, performance.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: type (required), plugin (required), zip, php_version, +14 more.

run_test_groupC

Run a group of tests defined in qit.json configuration file.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: group (required), config, wait, json.

start_environmentC

Start a local QIT test environment. Creates a temporary, ephemeral environment for testing.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: environment_type, php_version, wp_version, wc_version, +14 more.

stop_environmentC

Stop a running QIT test environment.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: env_id.

sync_cacheC

Re-sync local cache with QIT Manager.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: no named parameters.

validate_zipC

Validate a local plugin or theme ZIP file's content.

⚠️ QIT CLI not detected. QIT CLI not found. Please install it using one of these methods:

  1. Via Composer (recommended): composer require woocommerce/qit-cli --dev

  2. Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit

  3. Ensure 'qit' is available in your system PATH

For more information, visit: https://github.com/woocommerce/qit-cli

Inputs: path (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 22 tools

    Disambiguation4/5

    Most tools have distinct purposes, such as authentication (authenticate, get_auth_status), environment management (start_environment, stop_environment, reset_environment), and test operations (run_test, run_test_group). However, some overlap exists between get_test_report and get_test_result, which could cause confusion about their specific functions, and manage_cache vs. sync_cache might be ambiguous without careful reading of descriptions.

    Naming Consistency5/5

    All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as list_environments, get_test_result, and manage_config. The naming is predictable and readable throughout the set, with no deviations in style or convention.

    Tool Count3/5

    With 22 tools, the count is on the higher side for a testing tool server, bordering on heavy but still manageable. It covers various aspects like authentication, environment control, test execution, and reporting, which justifies the number, but it might feel slightly overwhelming compared to more streamlined servers.

    Completeness5/5

    The tool set provides comprehensive coverage for QIT testing workflows, including setup (authenticate, manage_config), environment lifecycle (start, stop, reset, exec), test execution (run_test, run_test_group), result retrieval (get_test_result, open_test_result), and auxiliary functions (validate_zip, sync_cache). No obvious gaps are present for the domain of WooCommerce extension testing.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers