validate_zip
Validate ZIP files for WordPress plugins or themes to check content integrity and ensure they meet required standards.
Instructions
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:
Via Composer (recommended): composer require woocommerce/qit-cli --dev
Set QIT_CLI_PATH environment variable: export QIT_CLI_PATH=/path/to/qit
Ensure 'qit' is available in your system PATH
For more information, visit: https://github.com/woocommerce/qit-cli
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to the ZIP file to validate |
Implementation Reference
- src/tools/utilities.ts:85-88 (handler)The handler function for the 'validate_zip' tool. It constructs CLI arguments for 'woo:validate-zip' using the provided path and delegates execution to executeAndFormat.handler: async (args: { path: string }) => { const cmdArgs = ["woo:validate-zip", args.path]; return executeAndFormat(cmdArgs); },
- src/tools/utilities.ts:82-84 (schema)Input schema using Zod, defining a required 'path' parameter as a string describing the ZIP file location.inputSchema: z.object({ path: z.string().describe("Path to the ZIP file to validate"), }),
- src/tools/utilities.ts:79-89 (registration)Full tool definition object for 'validate_zip' registered as a property in the utilitiesTools export.validate_zip: { name: "validate_zip", description: "Validate a local plugin or theme ZIP file's content.", inputSchema: z.object({ path: z.string().describe("Path to the ZIP file to validate"), }), handler: async (args: { path: string }) => { const cmdArgs = ["woo:validate-zip", args.path]; return executeAndFormat(cmdArgs); }, },
- src/tools/index.ts:18-18 (registration)Incorporates utilitiesTools (containing validate_zip) into the aggregated allTools export used by the MCP server....utilitiesTools,
- src/server.ts:29-35 (registration)Dynamically registers all tools from allTools, including validate_zip, for MCP ListTools requests with conditional description.const tools = Object.entries(allTools).map(([_, tool]) => ({ name: tool.name, description: cliInfo ? tool.description : `${tool.description}\n\n⚠️ QIT CLI not detected. ${getQitCliNotFoundError()}`, inputSchema: zodToJsonSchema(tool.inputSchema), }));