ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-14 08:14:31
Editing: module.php
Cancel
Save Changes
<?php namespace Elementor\Modules\Mcp; use Elementor\Core\Base\Module as BaseModule; use Elementor\Plugin; use Elementor\Core\Experiments\Manager as ExperimentsManager; use WP\MCP\Core\McpAdapter; if ( ! defined( 'ABSPATH' ) ) { exit; } class Module extends BaseModule { const EXPERIMENT_NAME = 'e_wp_abilities_api'; public function get_name() { return 'mcp'; } public static function is_active() { return class_exists( McpAdapter::class ) && function_exists( 'wp_register_ability' ) && Plugin::instance()->experiments->is_feature_active( self::EXPERIMENT_NAME ); } public static function get_experimental_data() { return [ 'name' => self::EXPERIMENT_NAME, 'title' => __( 'Elementor MCP WP Abilities API', 'elementor' ), 'description' => __( 'Enable Elementor MCP WP Abilities API. Requirements: 1. WordPress 7.0 or higher. 2. Create an application password for your agent user. 3. Add to your MCP config: {url: "https://<your-site-url>/wp-json/elementor/mcp", headers: {Authorization: "Basic <base64(user:application-password)>"}}', 'elementor' ), 'hidden' => true, 'default' => ExperimentsManager::STATE_INACTIVE, ]; } public function __construct() { parent::__construct(); if ( ! $this->is_active() ) { return; } McpAdapter::instance(); add_action( 'wp_abilities_api_categories_init', [ $this, 'register_ability_category' ] ); add_action( 'wp_abilities_api_init', [ $this, 'register_abilities' ] ); add_action( 'mcp_adapter_init', [ $this, 'register_server' ] ); } public function register_ability_category() { if ( ! function_exists( 'wp_register_ability_category' ) ) { return; } wp_register_ability_category( 'elementor', [ 'label' => __( 'Elementor', 'elementor' ), 'description' => __( 'Elementor page builder data, global classes, and variables.', 'elementor' ), ] ); } public function register_abilities() { if ( ! function_exists( 'wp_register_ability' ) ) { return; } ( new Abilities\List_Pages_Ability() )->register(); ( new Abilities\Get_Structure_Ability() )->register(); ( new Abilities\Update_Settings_Ability() )->register(); ( new Abilities\Create_Page_Ability() )->register(); ( new Abilities\Get_Globals_Ability() )->register(); } public function register_server( $adapter ) { if ( ! $adapter instanceof McpAdapter ) { return; } $result = $adapter->create_server( 'elementor-mcp-server', 'elementor', 'mcp', 'Elementor MCP', 'Read and modify Elementor Editor abilities.', 'v1.0.0', [ \WP\MCP\Transport\HttpTransport::class ], \WP\MCP\Infrastructure\ErrorHandling\ErrorLogMcpErrorHandler::class, \WP\MCP\Infrastructure\Observability\NullMcpObservabilityHandler::class, [ 'elementor/list-pages', 'elementor/get-page-structure', 'elementor/update-page-settings', 'elementor/create-page', 'elementor/get-globals', ], [], [] ); if ( is_wp_error( $result ) ) { // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log error_log( sprintf( '[Elementor MCP] Server registration failed: %s', $result->get_error_message() ) ); return; } } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete