Automattic\WooCommerce\Internal\MCP

MCPAdapterProvider::get_woocommerce_mcp_abilitiesprivateWC 1.0

Get WooCommerce abilities for MCP server.

Filters abilities to include only those with 'woocommerce/' namespace by default, with a filter to allow inclusion of abilities from other namespaces.

Method of the class: MCPAdapterProvider{}

Hooks from the method

Returns

Array. Array of ability IDs for MCP server.

Usage

// private - for code of main (parent) class only
$result = $this->get_woocommerce_mcp_abilities(): array;

MCPAdapterProvider::get_woocommerce_mcp_abilities() code WC 10.3.3

private function get_woocommerce_mcp_abilities(): array {
	// Get all abilities from the registry.
	$abilities_registry = wc_get_container()->get( AbilitiesRegistry::class );
	$all_abilities_ids  = $abilities_registry->get_abilities_ids();

	// Filter abilities based on namespace and custom filter.
	$mcp_abilities = array_filter(
		$all_abilities_ids,
		function ( $ability_id ) {
			// Include WooCommerce abilities by default.
			$include = str_starts_with( $ability_id, 'woocommerce/' );

			// Allow filter to override inclusion decision.
			/**
			 * Filter to override MCP ability inclusion decision.
			 *
			 * @since 10.3.0
			 * @param bool   $include    Whether to include the ability.
			 * @param string $ability_id The ability ID.
			 */
			return apply_filters( 'woocommerce_mcp_include_ability', $include, $ability_id );
		}
	);

	// Re-index array.
	return array_values( $mcp_abilities );
}