local-wp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SITE_ID | No | Site ID from Local (takes precedence over SITE_NAME). Auto-detected if only one site exists. | |
| SITE_NAME | No | Site name as shown in Local (e.g., 'My Site'). Auto-detected if only one site exists. | |
| FS_ALLOW_WRITES | No | Enable writing files via write_site_file. Must be 'true' or 'false'. | false |
| MYSQL_ALLOW_WRITES | No | Enable INSERT/UPDATE/DELETE/ALTER queries. Must be 'true' or 'false'. | false |
| WPCLI_ALLOW_WRITES | No | Enable write WP-CLI commands (plugin install, post create, etc.). Must be 'true' or 'false'. | false |
| WPCLI_SAFE_COMMANDS | No | Comma-separated list of additional read-only commands (e.g., 'wc report sales,my-plugin dump-config'). |
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 |
|---|---|
| wp_cli_runA | Execute a WP-CLI command against a Local by Flywheel WordPress site. Commands like "plugin list", "option get siteurl", "core version" are always allowed. Write commands require WPCLI_ALLOW_WRITES=true. Commands "eval", "eval-file", and "shell" are blocked for security. |
| wp_site_infoA | Get detailed information about the current Local by Flywheel WordPress site, including the site URL, WordPress version, active theme, and PHP version. |
| wp_list_sitesA | List all WordPress sites configured in Local by Flywheel, including their names, domains, IDs, and service versions. |
| mysql_queryA | Execute a SQL query against the WordPress database. SELECT, SHOW, DESCRIBE, and EXPLAIN are always allowed. INSERT, UPDATE, DELETE require MYSQL_ALLOW_WRITES=true. |
| mysql_schemaA | Get the schema of the WordPress database. Without a table name, lists all tables. With a table name, shows column details. |
| wp_active_pluginsA | Query the database directly to get the list of active WordPress plugins. |
| read_site_fileA | Read a file from the Local by Flywheel site directory. Path is relative to the site root (e.g., "app/public/wp-config.php"). Files are limited to 512KB. All paths are validated against the site directory. |
| write_site_fileA | Write content to a file in the Local by Flywheel site directory. Requires FS_ALLOW_WRITES=true. Cannot write to wp-admin/ or wp-includes/ (WordPress core). Path is relative to the site root. |
| list_site_directoryA | List files and directories in a Local by Flywheel site directory. Path is relative to the site root. Returns file names, types, and sizes. |
| search_site_filesA | Search for files by name pattern within the Local site directory. Searches recursively up to 10 levels deep, max 100 results. Skips node_modules, vendor, and dotfiles. |
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 10 tools
Most tools target distinct resources (sites, WP-CLI, database, files). The main overlap is wp_active_plugins vs wp_cli_run 'plugin list', but descriptions clarify the direct database query vs CLI execution. Otherwise, each tool serves a clear purpose.
Tools use clear prefixes for domains (wp_*, mysql_*) and consistent verb_noun for file operations (read_site_file, write_site_file). Minor inconsistency: wp_cli_run is noun_verb rather than verb_noun, and file operations lack a prefix, but the pattern is still predictable.
10 tools is well-scoped for a local WordPress development server covering sites, WP-CLI, database, and file operations. Each tool earns its place without feeling redundant or excessive.
The surface covers core workflows: read/write files, query database, run WP-CLI, list sites, and inspect schema. A minor gap is the lack of a tool to switch the 'current site' referenced by wp_site_info, but overall the lifecycle is adequately covered.