| 开发者 | bilalnaseer |
|---|---|
| 更新时间 | 2026年8月21日 21:36 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
Authorization: Bearer or X-WSP-MCP-API-Key).wp_kses_post()manage_woocommerce capability)
manage_options; value tools enforce per-object capabilities)
gravityforms_edit_forms or gravityforms_view_entries; writes require form/entry-specific Gravity Forms caps)
edit_posts, publish_posts, or manage_options)
wp_kses_post()/wp-content/plugins/ and activate it.No. This plugin includes its own MCP server and connects directly. As of v2.2 the older MCP Adapter / Abilities-API compatibility path has been removed; connect using the native endpoint shown on MCP > Connection.
Use a WordPress Application Password (sent via HTTP Basic auth) or the plugin-generated API key shown on the Connection page. Either is validated on every request, and tool actions are limited by the authenticated user's capabilities.
Any client that supports the Streamable HTTP MCP transport — Claude Desktop, MCP Inspector, IDEs, and scripts.
Watch the step-by-step video tutorial: https://youtu.be/GLyLzxVOxm4
Watch the step-by-step video tutorial: https://youtu.be/2gRIRcqqOpo
Watch the step-by-step video tutorial: https://youtu.be/hxhjs3IUYQE
tools/call request is now recorded in a dedicated, self-hosted database table (wp_wsp_mcp_audit_log) — tool name, timestamp, acting user, request IP, and outcome (success, denied, or error). No external API or paid service is involved.manage_options), matching every other MCP admin screen.wsp_mcp_audit_log_retention_days) are pruned automatically by a daily cron task, so the table stays lightweight.initialize. Clients that send tools/list immediately (Claude Desktop via mcp-remote, and any fast script) landed in the same second as the initialize that created the session, so the expiry-sliding UPDATE wrote the value already stored and MySQL/MariaDB reported 0 changed rows — which the plugin read as a missing session. A zero-row update is now confirmed with an existence check before the session is rejected. Adding a delay before the second request is no longer necessary. Fixes GitHub #30.wsp_upload_media (Upload Media) now accepts base64 file content via a new data parameter — an MCP client can upload a file attached to the chat straight into the media library without first hosting it at a public URL. The url parameter still works as before; pass either one. An optional mime_type hint and data: URI prefixes are supported. Only image types (jpg, png, gif, webp) are allowed, decoded bytes are written through media_handle_sideload(), and the tool still requires upload_files. Fixes GitHub #17.wsp_elementor_sanitize_settings() (strips custom_css, custom_attributes, and dynamic keys); update-active-kit and regenerate-css require manage_options, the rest require edit_posts.wpforms_view_forms / wpforms_edit_forms for forms and wpforms_view_entries / wpforms_edit_entries for entries.wpcf7_edit_contact_forms and wpcf7_delete_contact_forms; get-integrations requires manage_options.gravityforms_create_form. No behavioral code changes.gravityforms_edit_forms, gravityforms_create_form, gravityforms_view_entries, etc.). Only registered when Gravity Forms is active (class_exists('GFAPI')).column type.wp_kses_post(); each tool enforces a strict capability check (edit_posts, publish_posts, or manage_options).update_field() — for posts, users, terms, and options — is now recursively sanitized (arrays walked; each string run through wp_kses_post()) so <script>/<style> and inline event handlers can no longer be stored through the MCP tools. Legitimate WYSIWYG/HTML field content still works. Addresses the WordPress.org "arbitrary code insertion" review finding.~/.config/opencode/opencode.json file with the API key inlined in the header, ready to create and paste.wp_kses_post() so scripts cannot be injected via _elementor_data.manage_options (was edit_posts), matching the admin-level nature of global options.wsp_register_acf_abilities() dual-mode registration helper (dead code, not hooked).Requires at least now uses the major-only WordPress version format (6.9).manage_options; value reads/writes enforce per-object capabilities (edit_post, edit_user, list_users, manage_categories, manage_options).wsp-mcp-ai-agents-connector (folder, main file, and text domain) to match the public name ahead of WordPress.org submission.manage_woocommerce capability.