# Advanced MCP Plugin by AskTam — Tool Skills Reference > Auto-generated from the live tool registry on 2026-10-16. > Plugin: `colorlink/advanced-mcp-plugin` · GPL-2.0-or-later · namespace `AskTamMCP\`. > Registry snapshot: **294** tools live on the snapshot host (guarded families whose plugin/theme is absent there are listed under their batch as inert-but-shipped). Net-new merge additions span b1–b20. ## How tools are defined Each tool: `name`, `scope` (read|write|admin), a JSON input schema, and a static handler `Class::method(array $args): array` (throws `\RuntimeException`). `getToolDefinitions()` returns the trimmed client schema {name,description,inputSchema}; scope/handler resolve via `getTool()`/`getHandler()`. Empty PHP arrays cast to `new \stdClass()`. ## Architecture / adding tools Drop one file `includes/Extensions/BatchN.php` registering on the `asktam_mcp_register_tools` hook. The main file glob-auto-discovers `Batch*.php` (priority 20, class_exists + try/catch): no core edits, a bad batch cannot fatal the plugin. Guard absent-plugin families with `defined()`/`class_exists()`/theme checks — inert where the dependency is missing, auto-active where present. --- ## Net-new merge additions (b1–b20) ### b1 — Elementor structure (net-new gaps) Guard: `defined('ELEMENTOR_VERSION')`. Fills gaps the base Elementor set missed. Writes `_elementor_data`; CSS regenerated on save. `elementor_add_section` (post_id req; parent_id, position, settings) · `elementor_add_column` (post_id+section_id req; size, position, settings) · `elementor_set_global_font` (title+font_family req) · `elementor_delete_global_color` (id req) · `elementor_delete_template` (template_id req) ### b2 — SEO extended + text extraction Guard: none (SEO plugin auto-detected). Auto-detect Yoast/RankMath/SEOPress; report plugin=none where absent. `seo_detect` · `seo_get_extended` (post_id req) · `seo_update_extended` (post_id req; title/description/canonical/og_*/twitter_title/noindex/nofollow) · `seo_bulk_audit` (post_types, per_page) · `extract_page_text` (post_id req — title/excerpt/content + every Elementor text node) ### b3 — Accessibility audit (read-only) Guard: none. WCAG 2.1 luminance math over post content + Elementor data. `a11y_contrast_check` (foreground+background req) · `a11y_audit_page` (post_id req) · `a11y_heading_outline` (post_id req) · `a11y_images_missing_alt` (per_page) · `a11y_audit_site` (post_types, per_page) ### b4 — WPML translation audit (read) Guard: `defined('ICL_SITEPRESS_VERSION')`. `wpml_list_languages` · `wpml_get_post_language` (post_id req) · `wpml_get_translations` (post_id req) · `wpml_missing_translations` (post_id req) · `wpml_audit` (post_types, per_page) ### b5 — Media & content utilities Guard: none. `set_image_alt` (attachment_id+alt req) · `bulk_set_alt_from_title` (per_page, overwrite) · `find_broken_internal_links` (post_types, per_page) · `list_large_images` (min_kb, per_page) · `duplicate_title_finder` (post_types, per_page) ### b6 — Gutenberg blocks Guard: none. `list_block_types` (category, per_page) · `insert_blocks` (post_id+blocks req; mode append|replace) · `create_reusable_block` (title req; blocks|markup) · `list_reusable_blocks` (per_page) · `render_shortcode` (shortcode req; post_id) ### b7 — WPBakery base (js_composer) Guard: `defined('WPB_VC_VERSION')`. Elements via WPBMap. Functional test pending on a js_composer site. Inert where WPBakery absent. `wpbakery_detect` · `wpbakery_list_elements` · `wpbakery_get_content` · `wpbakery_add_element` · `wpbakery_replace_text` ### b8 — Remote-data presets Guard: none (outbound HTTP). wp_remote_get + transient cache (amp_rd_). API keys per-call, never stored. `remote_fetch_json` (url req; cache_minutes, path, headers) · `remote_weather` (api_key req; city|lat+lon; units) · `remote_place_reviews` (api_key+place_id req) · `remote_list_cache` · `remote_clear_cache` (key) ### b9 — Backup / export (Elementor) Guard: `defined('ELEMENTOR_VERSION')`. Round-trips `_elementor_data`; import regenerates element IDs. `export_elementor_page` (post_id req) · `import_elementor_page` (post_id+elementor_data req; regenerate_ids) · `export_global_styles` · `import_global_styles` (settings req; merge) · `duplicate_elementor_page` (source_id req; title, status) ### b10 — Memory layer (KV store) Guard: none. Option-backed; ttl_minutes>0 → transient. Keys prefixed ampmem_. String values. `memory_set` (key+value req; ttl_minutes) · `memory_get` (key req) · `memory_list` (prefix) · `memory_delete` (key req) · `memory_append` (key+item req) ### b11 — Motion / GSAP Guard: `defined('ELEMENTOR_VERSION')`. Entrance animations + scroll motion-fx + staggered presets. `motion_list_presets` · `motion_set_entrance` (post_id+element_id+animation req; delay_ms) · `motion_set_scroll_fx` (post_id+element_id+effect req; speed) · `motion_apply_preset` (post_id+preset req) · `motion_clear` (post_id req; element_id) ### b12 — Woodmart options Guard: active theme = Woodmart. xts-woodmart-options store; set auto-backs-up to amp_wd_backup; restore reverts/removes. `woodmart_detect` · `woodmart_get_option` (key req) · `woodmart_list_options` (prefix) · `woodmart_set_option` (key+value req; JSON-aware) · `woodmart_restore_option` (key req) ### b13 — Woodmart functionality Guard: active theme = Woodmart. 151 Woodmart Elementor widgets discoverable; Layout Builder (woodmart_layout) + HTML Blocks (cms_block). Any wd_* widget is also placeable via core `elementor_add_widget`. `woodmart_list_widgets` (group wd|wp|all) · `woodmart_list_layouts` (status, per_page) · `woodmart_list_html_blocks` (status, per_page) · `woodmart_get_block` (id req) · `woodmart_create_html_block` (title req; content, status) ### b14 — Yoast SEO deep Guard: `defined('WPSEO_VERSION')`. Beyond seo_* (b2): cornerstone, primary category, SEO/readability scores, Premium redirects, sitemap state. Test pending on a Yoast site. Inert where Yoast absent. `yoast_detect` · `yoast_get_meta` (post_id req) · `yoast_set_meta` (post_id req; title/metadesc/focuskw/canonical/og_*/cornerstone/primary_category/noindex/nofollow) · `yoast_bulk_audit` (post_types, per_page) · `yoast_list_redirects` (Premium) ### b15 — Wordfence security Guard: WORDFENCE_VERSION / wfConfig. Reads wf* tables (Issues/Blocks7/Logins) + wfConfig; block via wfBlock::createIP. Test pending on a Wordfence site. Inert where Wordfence absent. `wordfence_status` · `wordfence_scan_issues` (status new|all, limit) · `wordfence_blocked_ips` (limit) · `wordfence_recent_logins` (limit, failed_only) · `wordfence_block_ip` (ip req; reason) ### b16 — WPML write/deep Guard: `defined('ICL_SITEPRESS_VERSION')`. Official WPML action API. Smoke-tested on mainwp (trid linkage verified). `wpml_set_post_language` (post_id+language_code req; trid, source_language) · `wpml_copy_to_language` (source_id+target_language req; status) · `wpml_connect_translation` (source_id+translated_id+language_code req) ### b17 — Caching (unified) Guard: none (per-engine detect). LiteSpeed (also Hostinger's stack), W3TC, WP Rocket, WP Super Cache, WP Fastest Cache, Autoptimize, object cache. **Hostinger hosting-level actions (DNS/SSL/deploy) are NOT here — those belong to a Hostinger connector, not a WP plugin.** `cache_detect` · `cache_status` · `cache_purge_all` · `cache_purge_url` (url req) ### b18 — Elementor power (Pro-aware) Guard: `defined('ELEMENTOR_VERSION')`. Pro pieces degrade gracefully. Tested on mainwp (Pro active). `elementor_list_kits` · `elementor_list_library` (type, per_page — groups header/footer/single/archive/popup/page/section/…) · `elementor_get_conditions` (template_id req — Pro) · `elementor_get_dynamic_tags` · `elementor_get_form_submissions` (limit, form_name — Pro) ### b19 — WPBakery deep Guard: `defined('WPB_VC_VERSION')`. Test pending on a js_composer site. Inert where WPBakery absent. `wpbakery_list_templates` · `wpbakery_get_mapping` (tag req) · `wpbakery_render` (shortcode req; post_id) · `wpbakery_set_content` (post_id+content req) · `wpbakery_wrap` (content req; columns, row_attrs) ### b20 — WooCommerce deep Guard: `class_exists('WooCommerce')`. Beyond the 27 baseline wc_* tools. Tested on mainwp. `wc_list_product_categories` (parent, search, per_page) · `wc_create_product_category` (name req; slug, parent, description) · `wc_list_payment_gateways` · `wc_list_shipping_zones` · `wc_list_tax_rates` (class, limit) · `wc_get_settings` (group general|products|tax|account|email req) · `wc_add_order_note` (order_id+note req; customer_note) · `wc_create_refund` (order_id req; amount, reason, restock) · `wc_sales_report` (date_from, date_to, statuses) · `wc_list_product_reviews` (product_id, per_page) --- ## Core / baseline tools (index) Pre-existing tools, counted by name prefix. Full per-arg detail is the live registry — regenerate with the scripts below for the exhaustive listing. `activate_*` (1) · `add_*` (1) · `ai_*` (1) · `approve_*` (1) · `cli_*` (2) · `count_*` (3) · `create_*` (6) · `deactivate_*` (1) · `delete_*` (11) · `elementor_*` (56) · `email_*` (3) · `fs_*` (5) · `generate_*` (2) · `get_*` (31) · `list_*` (13) · `pexels_*` (2) · `read_*` (1) · `reorder_*` (1) · `run_*` (1) · `search_*` (1) · `send_*` (1) · `set_*` (2) · `spam_*` (1) · `sql_*` (3) · `switch_*` (1) · `theme_*` (7) · `transient_*` (5) · `trash_*` (1) · `update_*` (13) · `upload_*` (1) · `wc_*` (27) · `widget_*` (5) · `wp_*` (1) · `write_*` (1) Baseline prefixes include the 57-tool `elementor_*` core set and the 27-tool `wc_*` WooCommerce set, plus core WordPress CRUD (posts, pages, media, users, terms, menus, comments, options, transients), fs, sql, cli, theme, widget, seo, pexels and generate families. --- ## Regenerating this file 1. `/tmp/dev_dump_defs.php` — bootstraps wp-load, calls getToolDefinitions(), writes amp_defs.json. 2. `/tmp/dev_gen_skills.js` — formats it (batch map b1–b20 documented in full + core prefix index). Re-run both whenever a batch is added. _End of reference._