AI Abilities
LW Plugins integrate with LW Site Manager via the WordPress Abilities API (WordPress 6.9+). This allows AI agents, MCP adapters, and REST API clients to interact with plugin features programmatically.
How It Works
- Each plugin registers its abilities with the WordPress Abilities API
- LW Site Manager exposes these abilities via REST API and MCP
- AI agents (Claude, GPT, etc.) can discover and call abilities as tools
Authentication
All abilities require authentication via Application Passwords with manage_options capability.
curl -u "username:xxxx xxxx xxxx xxxx" \
-X POST https://example.com/wp-json/wp/v2/abilities/lw-seo/get-meta \
-H "Content-Type: application/json" \
-d '{"post_id": 1}'LW SEO
lw-seo/get-meta
Get SEO meta data for a post or term.
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | integer | No | Post ID (provide either post_id or term_id) |
term_id | integer | No | Term ID |
Returns: Title, description, canonical URL, robots directives, Open Graph, and Twitter Card data.
lw-seo/set-meta
Set SEO meta data for a post or term.
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | integer | No | Post ID |
term_id | integer | No | Term ID |
title | string | No | Custom SEO title |
description | string | No | Custom meta description |
noindex | boolean | No | Set noindex |
nofollow | boolean | No | Set nofollow |
lw-seo/get-content-signals
Get resolved AI content signal settings (ai-train, ai-input, search).
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | integer | No | Post ID (returns per-post signals or global defaults) |
lw-seo/get-markdown
Get the markdown representation of a post or page content.
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | integer | Yes | Post ID |
lw-seo/get-options
Get global SEO settings (title templates, social defaults, sitemap config, etc.).
No parameters required.
LW Cookie
lw-cookie/get-options
Get cookie consent plugin settings.
No parameters required.
Returns: Enabled status, banner position, layout, colors, category labels, Google Consent Mode settings, and more.
lw-cookie/set-options
Update cookie consent settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
enabled | boolean | No | Enable/disable the cookie banner |
position | string | No | Banner position (top, bottom, modal) |
gcm_enabled | boolean | No | Enable Google Consent Mode v2 |
lw-cookie/get-consent-stats
Get consent statistics (total consents, acceptance rates by category).
No parameters required.
lw-cookie/scan-cookies
Trigger a cookie scan to detect cookies used on the site.
No parameters required.
LW Disable
lw-disable/get-options
Get the current status of all disableable features.
No parameters required.
Returns: Object with feature keys and their enabled/disabled status.
lw-disable/set-options
Toggle features on or off.
| Parameter | Type | Required | Description |
|---|---|---|---|
feature | string | Yes | Feature key (e.g., emojis, comments, xmlrpc) |
enabled | boolean | Yes | Whether to enable the disable rule |
LW Enable
lw-enable/get-options
Get the current status of all enableable features.
No parameters required.
lw-enable/set-options
Toggle features on or off.
| Parameter | Type | Required | Description |
|---|---|---|---|
feature | string | Yes | Feature key (e.g., svg) |
enabled | boolean | Yes | Whether to enable the feature |
LW Firewall
lw-firewall/get-options
Get firewall settings (rate limits, protection toggles, storage backend, etc.).
No parameters required.
lw-firewall/get-log
Get firewall log entries (blocked requests, rate-limited IPs).
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Number of entries to return |
lw-firewall/list-blocked
List currently blocked/banned IP addresses.
No parameters required.
lw-firewall/block-ip
Block an IP address.
| Parameter | Type | Required | Description |
|---|---|---|---|
ip | string | Yes | IP address or CIDR range to block |
lw-firewall/unblock-ip
Unblock a previously blocked IP address.
| Parameter | Type | Required | Description |
|---|---|---|---|
ip | string | Yes | IP address to unblock |
LW LMS
lw-lms/list-courses
List all courses.
No parameters required.
Returns: Array of courses with title, status, access type, and enrollment count.
lw-lms/get-course
Get course details including sections, lessons, and access info.
| Parameter | Type | Required | Description |
|---|---|---|---|
course_id | integer | Yes | Course ID |
lw-lms/get-progress
Get user progress for a course.
| Parameter | Type | Required | Description |
|---|---|---|---|
course_id | integer | Yes | Course ID |
user_id | integer | No | User ID (defaults to current user) |
lw-lms/set-progress
Update lesson completion status.
| Parameter | Type | Required | Description |
|---|---|---|---|
lesson_id | integer | Yes | Lesson ID |
course_id | integer | Yes | Course ID |
user_id | integer | No | User ID (defaults to current user) |
completed | boolean | Yes | Completion status |
lw-lms/get-options
Get LMS settings.
No parameters required.
LW Memberships
lw-memberships/list-plans
List all membership plans.
No parameters required.
Returns: Array of plans with name, duration, status, and member count.
lw-memberships/get-plan
Get detailed plan information.
| Parameter | Type | Required | Description |
|---|---|---|---|
plan_id | integer | Yes | Plan ID |
lw-memberships/list-members
List members of a specific plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
plan_id | integer | Yes | Plan ID |
lw-memberships/add-member
Add a user to a membership plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
user_id | integer | Yes | User ID |
plan_id | integer | Yes | Plan ID |
source | string | No | Source (defaults to manual) |
lw-memberships/remove-member
Remove a user from a membership plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
user_id | integer | Yes | User ID |
plan_id | integer | Yes | Plan ID |
lw-memberships/get-options
Get global membership settings.
No parameters required.
LW Slider
lw-slider/list-sliders
List all sliders.
No parameters required.
Returns: Array of sliders with title, slide count, and settings.
lw-slider/get-slider
Get slider details with all slides.
| Parameter | Type | Required | Description |
|---|---|---|---|
slider_id | integer | Yes | Slider (post) ID |
LW Translate
lw-translate/list-translations
List available and installed translations.
No parameters required.
Returns: Array of translations with slug, status (installed, available, needs update), and version info.
lw-translate/get-options
Get translation settings (locale, tone preference).
No parameters required.
lw-translate/install-translation
Install a translation for a plugin or theme.
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Yes | Plugin or theme slug |
lw-translate/update-translations
Update all translations that have newer versions available.
No parameters required.
LW ZenAdmin
lw-zenadmin/get-options
Get ZenAdmin settings (Notice Collector, Widget Manager, Menu Manager, Admin Bar Manager).
No parameters required.
lw-zenadmin/set-options
Update ZenAdmin settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
notice_collector | boolean | No | Enable/disable Notice Collector |
widget_manager | boolean | No | Enable/disable Widget Manager |
menu_manager | boolean | No | Enable/disable Menu Manager |
admin_bar_manager | boolean | No | Enable/disable Admin Bar Manager |
lw-zenadmin/list-widgets
List all dashboard widgets with their visibility status.
No parameters required.
Returns: Array of widgets with ID, title, source (Core, WooCommerce, Third-party), and visible status.