MainWP MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAINWP_API_KEY | Yes | API credentials in consumer_key==consumer_secret format | |
| MAINWP_TEST_MODE | No | Test mode (no side effects) | false |
| MAINWP_DASHBOARD_URL | Yes | Full URL to your MainWP Dashboard | |
| MAINWP_RATE_LIMIT_PER_MINUTE | No | Maximum API requests per minute | 60 |
| MAINWP_ENABLE_DRY_RUN_BY_DEFAULT | No | Enable dry-run mode by default (recommended: true) | true |
| MAINWP_REQUIRE_CONFIRMATION_BULK | No | Require explicit confirmation for bulk operations (recommended: true) | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mainwp_sites_listB | List all WordPress sites connected to MainWP Dashboard |
| mainwp_sites_getB | Get detailed information about a specific WordPress site |
| mainwp_sites_syncB | Sync data from WordPress site(s) to MainWP Dashboard |
| mainwp_sites_checkB | Check the health and connectivity status of a WordPress site |
| mainwp_sites_countA | Get the total count of connected WordPress sites |
| mainwp_sites_addB | Add a new WordPress site to MainWP Dashboard |
| mainwp_sites_reconnectB | Reconnect to a WordPress site that has lost connection |
| mainwp_sites_disconnectA | Disconnect a WordPress site from MainWP Dashboard (keeps site data) |
| mainwp_sites_editB | Edit site settings (name, groups) in MainWP Dashboard |
| mainwp_sites_suspendB | Suspend a WordPress site (temporarily disable monitoring and updates) |
| mainwp_sites_unsuspendA | Unsuspend a WordPress site (re-enable monitoring and updates) |
| mainwp_sites_changesA | Get list of changes made outside MainWP (direct WordPress admin changes) |
| mainwp_sites_removeA | Permanently remove a site from MainWP Dashboard (requires confirmation) |
| mainwp_updates_listA | List all pending updates across WordPress sites (core, plugins, themes) |
| mainwp_updates_applyB | Apply updates to a WordPress site (supports dry-run mode) |
| mainwp_updates_wpB | Update WordPress core to the latest version |
| mainwp_updates_pluginsB | Update plugins on a WordPress site |
| mainwp_updates_themesC | Update themes on a WordPress site |
| mainwp_updates_translationsB | Update translations on a WordPress site |
| mainwp_updates_ignoreA | Ignore a plugin or theme update (globally or for a specific site) |
| mainwp_updates_unignoreB | Stop ignoring a plugin or theme update |
| mainwp_updates_ignoredA | List all ignored plugin and theme updates |
| mainwp_plugins_listA | List all plugins installed on a WordPress site |
| mainwp_plugins_activateB | Activate one or more plugins on a WordPress site |
| mainwp_plugins_deactivateB | Deactivate one or more plugins on a WordPress site |
| mainwp_plugins_installB | Install a plugin from WordPress.org on a site |
| mainwp_plugins_deleteA | Delete a plugin from a WordPress site (must be deactivated first) |
| mainwp_themes_listB | List all themes installed on a WordPress site |
| mainwp_themes_activateC | Activate a theme on a WordPress site |
| mainwp_themes_installB | Install a theme from WordPress.org on a site |
| mainwp_themes_deleteA | Delete a theme from a WordPress site (must not be active) |
| mainwp_clients_listA | List all clients in MainWP (Pro feature - requires Client Reports extension) |
| mainwp_clients_getB | Get detailed information about a specific client (Pro feature) |
| mainwp_clients_addB | Add a new client to MainWP (Pro feature) |
| mainwp_clients_editB | Edit an existing client in MainWP (Pro feature) |
| mainwp_clients_deleteB | Delete a client from MainWP (Pro feature - requires confirmation) |
| mainwp_costs_listA | List all tracked costs in MainWP (Pro feature - requires Cost Tracker extension) |
| mainwp_costs_getC | Get detailed information about a specific cost entry (Pro feature) |
| mainwp_costs_addB | Add a new cost entry to MainWP (Pro feature) |
| mainwp_costs_editB | Edit an existing cost entry in MainWP (Pro feature) |
| mainwp_costs_deleteB | Delete a cost entry from MainWP (Pro feature - requires confirmation) |
| mainwp_tags_listC | List all tags/groups defined in MainWP Dashboard |
| mainwp_tags_sitesA | Get all sites that have a specific tag/group assigned |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 43 tools
Tools are clearly grouped by resource (clients, costs, plugins, etc.) with distinct actions. Some potential confusion exists between 'apply' updates and specific update types, but descriptions clarify. Overall, most tools are unambiguous.
All tools follow a consistent pattern: 'mainwp_<resource>_<verb>'. Verbs are uniform (add, delete, list, etc.) and resources are clearly named. No mixing of conventions.
43 tools is high, but the server covers multiple sub-domains (sites, plugins, themes, updates, clients, costs, tags). Each sub-domain has a reasonable number of operations. Slightly over the typical range, but justified by the scope.
The tool set covers most CRUD and lifecycle operations for sites, plugins, themes, updates, clients, and costs. However, tag management is incomplete (only list and get sites by tag; no create/delete/edit). This is a notable gap.