qit-mcp

woocommerce/qit-mcp

3.2

If you are the rightful owner of qit-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The QIT MCP Server is a Model Context Protocol server that integrates with the QIT CLI to facilitate natural language interaction and agent-based workflows for testing WordPress/WooCommerce plugins.

Tools
22
Resources
0
Prompts
0

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

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)

ToolDescription
authenticateConnect to WooCommerce.com Partner Developer account
get_auth_statusCheck current authentication status

Test Execution (2 tools)

ToolDescription
run_testRun any test type (security, e2e, phpstan, activation, etc.)
run_test_groupRun a predefined test group from qit.json

Test Results (4 tools)

ToolDescription
get_test_resultGet test result(s) by ID
list_testsList test runs with filters
get_test_reportGet detailed test report
open_test_resultOpen result in browser

Groups (1 tool)

ToolDescription
get_group_statusFetch status of a registered test group

Environment (5 tools)

ToolDescription
start_environmentStart a local test environment
stop_environmentStop a running environment
list_environmentsList running environments
exec_in_environmentExecute command in environment container
reset_environmentReset environment database

Packages (2 tools)

ToolDescription
manage_packageManage test packages (publish, download, scaffold, delete, show)
list_packagesList available test packages with filtering

Configuration (1 tool)

ToolDescription
manage_configManage backends, partners, and tunneling configuration

Utilities (5 tools)

ToolDescription
list_extensionsList extensions you can test
validate_zipValidate a plugin ZIP file
manage_cacheManipulate QIT cache
get_qit_dirGet QIT config directory path
sync_cacheRe-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

Links