Skip to main content
Glama

mcp-easy-ai__wp_list_plugins

Read-only

Lists installed WordPress plugins. Optional: status ("active" | "inactive" | "network-active" (multisite only) | "must-use" | "dropin" — omit for all), include_mu_dropins (boolean, default false: also list must-use and drop-in plugins, which WordPress shows only on a single site or to a network administrator with manage_network_plugins), skip_update_check (boolean, default true: read WordPress's stored update data and contact nobody; false deletes it and asks wordpress.org again first, as wp plugin list does — only for a user with update_plugins). Returns { plugins: [{ plugin (folder/file.php identifier), name, description, status, version, author, update ("none" | "available" | "unavailable" | "version higher than expected"), update_version, update_unavailable_reason, auto_update (boolean: in WordPress's auto-update list), requires (WordPress version), requires_php, recently_active, modified (when the plugin's main file last changed, ISO 8601 UTC, or null when the file is missing or PHP cannot stat … Through Royally: its server marks it read-only, so it runs straight away.

Input Schema

NameRequiredDescriptionDefault
statusNoFilter plugins by status. "network-active" exists only on multisite. "must-use" and "dropin" list only those plugins (no include_mu_dropins needed).
site_idNoSite to run this tool on: 8ef2e52b-bd07-4671-a363-ebe8b480b65c (https://demo.royalplugins.com)
skip_update_checkNoDefault true: read the update data WordPress already stored, with no outbound request. false: delete it and ask wordpress.org again before listing, as `wp plugin list` does without --skip-update-check (needs update_plugins).
include_mu_dropinsNoAlso list must-use and drop-in plugins (status "must-use" / "dropin"), as `wp plugin list` does. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Genuinely useful beyond the annotations: skip_update_check=false deletes stored update data and makes an outbound call to wordpress.org (relevant to openWorldHint), and mu/dropin visibility requires single-site or manage_network_plugins. However the closing line ('Through Royally: its server marks it read-only, so it runs straight away') is garbled and trails off mid-sentence via ellipsis, so part of the behavioral story is truncated rather than explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One bloated run-on paragraph that packs the entire return-column list inline and then cuts off ('PHP cannot stat … Through Royally'), which leaves both an unfinished sentence and a stray, unparsable clause. Front-loading is fine, but the length and truncation hurt usability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so carrying the return shape in prose is the right call — and the field list (plugin, status, version, update, auto_update, requires_php, modified) is helpful. But the return description is truncated mid-field, so an agent cannot fully rely on it for parsing the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, but the description still adds real meaning: dependency rules between status='must-use'/'dropin' and include_mu_dropins, the exact side effect of skip_update_check=false ('deletes it and asks wordpress.org again'), and the privilege each mode needs. That is value beyond the schema, not a restatement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource: 'Lists installed WordPress plugins.' That is unambiguous about what the tool does. It never differentiates itself from the many sibling plugin-listing tools (wp_list_plugin_updates, fleet__list_plugins, royal-mcp__wp_get_plugins, emcp-tools-list-plugins), so an agent facing overlap gets no disambiguation from the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The text describes how the parameters filter results but never states when to reach for this tool versus the sibling plugin/update-list tools in the same fleet. A reader must infer that this is the inventory tool and wp_list_plugin_updates is the update-only tool, with no exclusion or alternative named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources