{"id":51106688,"url":"https://github.com/wp-forge/wp-plugin-mcp","last_synced_at":"2026-06-24T14:31:04.411Z","repository":{"id":365704342,"uuid":"1272679243","full_name":"wp-forge/wp-plugin-mcp","owner":"wp-forge","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-18T12:57:56.000Z","size":172,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-18T14:29:22.575Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wp-forge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-17T20:56:05.000Z","updated_at":"2026-06-18T12:58:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wp-forge/wp-plugin-mcp","commit_stats":null,"previous_names":["wp-forge/wp-plugin-mcp"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/wp-forge/wp-plugin-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-forge%2Fwp-plugin-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-forge%2Fwp-plugin-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-forge%2Fwp-plugin-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-forge%2Fwp-plugin-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wp-forge","download_url":"https://codeload.github.com/wp-forge/wp-plugin-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wp-forge%2Fwp-plugin-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34737397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-24T14:31:03.488Z","updated_at":"2026-06-24T14:31:04.405Z","avatar_url":"https://github.com/wp-forge.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WordPress MCP\n\nWordPress MCP registers WordPress abilities and exposes them through the MCP adapter endpoint at:\n\n```text\n/wp-json/mcp/wp-forge\n```\n\nWordPress 6.9+ provides the core Abilities API. The MCP transport is provided by the `wordpress/mcp-adapter` Composer dependency.\n\n## Requirements\n\n- WordPress 6.9 or later.\n- PHP 8.2 or later.\n- Composer dependencies installed, including `wordpress/mcp-adapter`.\n\n## Available Tools\n\n### Content Management\n\n#### Posts\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-posts-search` | Search and filter WordPress posts with pagination |\n| `wp-forge-get-post` | Get a WordPress post by ID |\n| `wp-forge-add-post` | Add a new WordPress post |\n| `wp-forge-update-post` | Update a WordPress post by ID |\n| `wp-forge-delete-post` | Delete a WordPress post by ID |\n\n#### Taxonomies\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-list-taxonomies` | List registered WordPress taxonomies |\n| `wp-forge-list-taxonomy-terms` | List terms for a registered taxonomy |\n| `wp-forge-get-taxonomy-term` | Get a term from a registered taxonomy by ID |\n| `wp-forge-save-taxonomy-term` | Create or update a term in a registered taxonomy |\n| `wp-forge-delete-taxonomy-term` | Delete a term from a registered taxonomy |\n\n#### Pages\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-pages-search` | Search and filter WordPress pages with pagination |\n| `wp-forge-get-page` | Get a WordPress page by ID |\n| `wp-forge-add-page` | Add a new WordPress page |\n| `wp-forge-update-page` | Update a WordPress page by ID |\n| `wp-forge-delete-page` | Delete a WordPress page by ID |\n\n#### Media\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-list-media` | List WordPress media items with pagination and filtering |\n| `wp-forge-get-media` | Get a WordPress media item by ID |\n| `wp-forge-get-media-file` | Get the actual file content of a WordPress media item |\n| `wp-forge-upload-media` | Upload a new media file to WordPress |\n| `wp-forge-update-media` | Update a WordPress media item |\n| `wp-forge-delete-media` | Delete a WordPress media item permanently |\n| `wp-forge-search-media` | Search WordPress media by title, caption, or description |\n\n#### Custom Post Types\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-list-post-types` | List all registered WordPress post types |\n| `wp-forge-cpt-search` | Search and filter content items within a custom post type |\n| `wp-forge-get-cpt` | Get a single content item from a custom post type by ID |\n| `wp-forge-add-cpt` | Create a new content item within an existing custom post type |\n| `wp-forge-update-cpt` | Update an existing content item in a custom post type by ID |\n| `wp-forge-delete-cpt` | Permanently delete a content item from a custom post type by ID |\n\n### Site Management\n\n#### Users\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-users-search` | Search and filter WordPress users with pagination |\n| `wp-forge-get-user` | Get a WordPress user by ID |\n| `wp-forge-add-user` | Add a new WordPress user |\n| `wp-forge-update-user` | Update a WordPress user by ID |\n| `wp-forge-delete-user` | Delete a WordPress user by ID |\n\n#### Settings\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-get-general-settings` | Get WordPress general site settings |\n| `wp-forge-update-general-settings` | Update WordPress general site settings |\n\n#### Site Info\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-get-site-info` | Get detailed site information |\n\n#### Plugins\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-list-plugins` | List installed WordPress plugins and their activation state |\n| `wp-forge-install-plugin` | Install a WordPress plugin from the WordPress.org plugin directory by slug |\n| `wp-forge-activate-plugin` | Activate an installed WordPress plugin by plugin file path |\n| `wp-forge-deactivate-plugin` | Deactivate an active WordPress plugin by plugin file path |\n| `wp-forge-uninstall-plugin` | Deactivate and delete an installed WordPress plugin by plugin file path |\n\n#### Options\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-list-options` | List WordPress options by search or prefix |\n| `wp-forge-get-option` | Get a WordPress option value by name |\n| `wp-forge-update-option` | Update a WordPress option value by name |\n| `wp-forge-delete-option` | Delete a WordPress option by name |\n\n#### Comments\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-list-comments` | List WordPress comments with filtering and pagination |\n| `wp-forge-get-comment` | Get a WordPress comment by ID |\n| `wp-forge-add-comment` | Add a comment to a WordPress post |\n| `wp-forge-update-comment` | Update a WordPress comment by ID |\n| `wp-forge-delete-comment` | Delete a WordPress comment by ID |\n| `wp-forge-approve-comment` | Approve a WordPress comment by ID |\n| `wp-forge-spam-comment` | Mark a WordPress comment as spam by ID |\n\n#### Site Health\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-get-site-health-info` | Get WordPress Site Health debug information |\n| `wp-forge-list-site-health-tests` | List available WordPress Site Health tests |\n\n#### Error Logs\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-get-error-log-path` | Get the WordPress debug log path used by this site |\n| `wp-forge-read-error-log` | Read the tail of the WordPress debug log |\n\n#### WP-CLI\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-run-wp-cli-command` | Run a WP-CLI command when WP-CLI execution is explicitly enabled and available |\n\nWP-CLI execution is disabled by default. To enable it, define `WP_FORGE_MCP_ENABLE_WP_CLI` as `true` in `wp-config.php`, or return `true` from the `wp_forge_mcp_enable_wp_cli` filter. If `wp` is not on the web server user's `PATH`, define `WP_FORGE_MCP_WP_CLI_PATH` with the full path to the WP-CLI executable.\n\n### Global Styles\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-get-global-styles` | Get a global styles configuration by ID |\n| `wp-forge-update-global-styles` | Update a global styles configuration |\n| `wp-forge-get-active-global-styles` | Get the currently active global styles for the current theme |\n| `wp-forge-get-active-global-styles-id` | Get the active global styles ID |\n\n### Themes\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-get-active-theme` | Get the active theme information |\n| `wp-forge-list-themes` | List installed WordPress themes and their activation state |\n| `wp-forge-install-theme` | Install a WordPress theme from the WordPress.org theme directory by slug |\n| `wp-forge-activate-theme` | Activate an installed WordPress theme by stylesheet directory name |\n| `wp-forge-delete-theme` | Delete an installed WordPress theme by stylesheet directory name |\n\n### Advanced REST API CRUD\n\n| Tool | Description |\n| --- | --- |\n| `wp-forge-list-api-functions` | List available WordPress REST API endpoints that support CRUD |\n| `wp-forge-get-function-details` | Get detailed metadata for a specific REST API route and HTTP method |\n| `wp-forge-run-api-function` | Execute a REST API request by route, method, and parameters |\n\n## Copy-Paste MCP Configuration\n\nReplace `https://example.com` with your site URL. Create a WordPress Application Password from your user profile, then replace the username and password placeholders below.\n\n```json\n{\n  \"mcpServers\": {\n    \"wordpress\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@automattic/mcp-wordpress-remote\"\n      ],\n      \"env\": {\n        \"WP_API_URL\": \"https://example.com/wp-json/mcp/wp-forge\",\n        \"WP_API_USERNAME\": \"YOUR_WORDPRESS_USERNAME\",\n        \"WP_API_PASSWORD\": \"YOUR_APPLICATION_PASSWORD\",\n        \"OAUTH_ENABLED\": \"false\"\n      }\n    }\n  }\n}\n```\n\nThe same configuration is available in WordPress under **Settings \u003e WordPress MCP** after activating the plugin.\n\n## Activity Log\n\nAn optional MCP activity log is available under **Settings \u003e WordPress MCP**. When enabled, it records each tool call's tool name, user, status, duration, IP address, user agent, and session ID. Tool arguments and responses are not logged.\n\n## Development\n\nInstall Composer dependencies to generate the PSR-4 autoloader:\n\n```bash\ncomposer install\n```\n\nRun the test suite:\n\n```bash\ncomposer test\n```\n\n## Playground Testing\n\nStart a local WordPress Playground site with this plugin mounted and activated:\n\n```bash\nnpm install\nnpm run playground:start\n```\n\nTest the MCP endpoint:\n\n```bash\nnpm run test:playground\n```\n\nBy default, the endpoint test uses `http://127.0.0.1:9400/wp-json/mcp/wp-forge` and authenticates with Playground's local auto-login flow. For remote sites, set `WP_API_URL`, `WP_API_USERNAME`, and `WP_API_PASSWORD` to use a WordPress Application Password.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwp-forge%2Fwp-plugin-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwp-forge%2Fwp-plugin-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwp-forge%2Fwp-plugin-mcp/lists"}