register( 'plugins_list', array( 'description' => 'List installed plugins and activation status (read-only).', 'domain' => 'plugins', 'capability' => 'activate_plugins', 'inputSchema' => array( 'type' => 'object', 'properties' => array() ), ), function () { if ( ! function_exists( 'get_plugins' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $all = get_plugins(); $active = get_option( 'active_plugins', array() ); $items = array(); foreach ( $all as $file => $plugin ) { $items[] = array( 'file' => $file, 'name' => $plugin['Name'], 'version' => $plugin['Version'], 'active' => in_array( $file, $active, true ), ); } return array( 'plugins' => $items ); } ); } );