Files

115 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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._