mcp-wordpress 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -48
- package/dist/ajv-patch.js +34 -0
- package/dist/cache/CacheInvalidation.d.ts +3 -1
- package/dist/cache/CacheInvalidation.d.ts.map +1 -1
- package/dist/cache/CacheInvalidation.js +10 -4
- package/dist/cache/CacheInvalidation.js.map +1 -1
- package/dist/cache/CacheManager.d.ts +3 -2
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.js +11 -3
- package/dist/cache/CacheManager.js.map +1 -1
- package/dist/cache/HttpCacheWrapper.d.ts +7 -6
- package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
- package/dist/cache/HttpCacheWrapper.js +8 -5
- package/dist/cache/HttpCacheWrapper.js.map +1 -1
- package/dist/cache/__tests__/HttpCacheWrapper.test.js +6 -5
- package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -1
- package/dist/cache/index.d.ts +3 -3
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +1 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/client/CachedWordPressClient.d.ts +23 -9
- package/dist/client/CachedWordPressClient.d.ts.map +1 -1
- package/dist/client/CachedWordPressClient.js +4 -1
- package/dist/client/CachedWordPressClient.js.map +1 -1
- package/dist/client/MockWordPressClient.d.ts +2 -1
- package/dist/client/MockWordPressClient.d.ts.map +1 -1
- package/dist/client/MockWordPressClient.js +3 -1
- package/dist/client/MockWordPressClient.js.map +1 -1
- package/dist/client/api.d.ts +17 -13
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +135 -30
- package/dist/client/api.js.map +1 -1
- package/dist/client/auth.d.ts.map +1 -1
- package/dist/client/auth.js +2 -3
- package/dist/client/auth.js.map +1 -1
- package/dist/client/managers/AuthenticationManager.d.ts +55 -2
- package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
- package/dist/client/managers/AuthenticationManager.js +269 -71
- package/dist/client/managers/AuthenticationManager.js.map +1 -1
- package/dist/client/managers/BaseManager.d.ts +3 -3
- package/dist/client/managers/BaseManager.d.ts.map +1 -1
- package/dist/client/managers/BaseManager.js +11 -5
- package/dist/client/managers/BaseManager.js.map +1 -1
- package/dist/client/managers/RequestManager.d.ts +2 -2
- package/dist/client/managers/RequestManager.d.ts.map +1 -1
- package/dist/client/managers/RequestManager.js +25 -12
- package/dist/client/managers/RequestManager.js.map +1 -1
- package/dist/config/Config.d.ts +155 -0
- package/dist/config/Config.d.ts.map +1 -0
- package/dist/config/Config.js +215 -0
- package/dist/config/Config.js.map +1 -0
- package/dist/config/ConfigurationSchema.d.ts +21 -21
- package/dist/config/ConfigurationSchema.d.ts.map +1 -1
- package/dist/config/ConfigurationSchema.js +19 -2
- package/dist/config/ConfigurationSchema.js.map +1 -1
- package/dist/config/ServerConfiguration.d.ts +2 -1
- package/dist/config/ServerConfiguration.d.ts.map +1 -1
- package/dist/config/ServerConfiguration.js +50 -41
- package/dist/config/ServerConfiguration.js.map +1 -1
- package/dist/docs/DocumentationGenerator.d.ts +9 -8
- package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
- package/dist/docs/DocumentationGenerator.js +10 -7
- package/dist/docs/DocumentationGenerator.js.map +1 -1
- package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
- package/dist/docs/MarkdownFormatter.js +3 -2
- package/dist/docs/MarkdownFormatter.js.map +1 -1
- package/dist/dxt-entry.cjs +81 -0
- package/dist/dxt-entry.js +15 -14
- package/dist/dxt-entry.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -21
- package/dist/index.js.map +1 -1
- package/dist/performance/MetricsCollector.d.ts +13 -7
- package/dist/performance/MetricsCollector.d.ts.map +1 -1
- package/dist/performance/MetricsCollector.js +69 -27
- package/dist/performance/MetricsCollector.js.map +1 -1
- package/dist/performance/PerformanceAnalytics.d.ts +8 -2
- package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
- package/dist/performance/PerformanceAnalytics.js +17 -47
- package/dist/performance/PerformanceAnalytics.js.map +1 -1
- package/dist/performance/PerformanceMonitor.d.ts +2 -1
- package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
- package/dist/performance/PerformanceMonitor.js +12 -13
- package/dist/performance/PerformanceMonitor.js.map +1 -1
- package/dist/performance/index.d.ts +2 -2
- package/dist/performance/index.d.ts.map +1 -1
- package/dist/security/AISecurityScanner.d.ts +1 -0
- package/dist/security/AISecurityScanner.d.ts.map +1 -1
- package/dist/security/AISecurityScanner.js +22 -12
- package/dist/security/AISecurityScanner.js.map +1 -1
- package/dist/security/AutomatedRemediation.d.ts +4 -3
- package/dist/security/AutomatedRemediation.d.ts.map +1 -1
- package/dist/security/AutomatedRemediation.js +46 -15
- package/dist/security/AutomatedRemediation.js.map +1 -1
- package/dist/security/InputValidator.d.ts +13 -9
- package/dist/security/InputValidator.d.ts.map +1 -1
- package/dist/security/InputValidator.js +4 -2
- package/dist/security/InputValidator.js.map +1 -1
- package/dist/security/SecurityCIPipeline.d.ts +1 -1
- package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
- package/dist/security/SecurityCIPipeline.js +38 -29
- package/dist/security/SecurityCIPipeline.js.map +1 -1
- package/dist/security/SecurityConfig.d.ts +3 -3
- package/dist/security/SecurityConfig.d.ts.map +1 -1
- package/dist/security/SecurityConfig.js +13 -9
- package/dist/security/SecurityConfig.js.map +1 -1
- package/dist/security/SecurityConfigManager.d.ts +2 -2
- package/dist/security/SecurityConfigManager.d.ts.map +1 -1
- package/dist/security/SecurityConfigManager.js +20 -15
- package/dist/security/SecurityConfigManager.js.map +1 -1
- package/dist/security/SecurityMonitoring.d.ts +2 -2
- package/dist/security/SecurityMonitoring.d.ts.map +1 -1
- package/dist/security/SecurityMonitoring.js +19 -17
- package/dist/security/SecurityMonitoring.js.map +1 -1
- package/dist/security/SecurityReviewer.d.ts.map +1 -1
- package/dist/security/SecurityReviewer.js +10 -7
- package/dist/security/SecurityReviewer.js.map +1 -1
- package/dist/security/index.d.ts +24 -23
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +52 -23
- package/dist/security/index.js.map +1 -1
- package/dist/server/ConnectionTester.d.ts +12 -4
- package/dist/server/ConnectionTester.d.ts.map +1 -1
- package/dist/server/ConnectionTester.js +96 -22
- package/dist/server/ConnectionTester.js.map +1 -1
- package/dist/server/ToolRegistry.d.ts +2 -2
- package/dist/server/ToolRegistry.d.ts.map +1 -1
- package/dist/server/ToolRegistry.js +10 -5
- package/dist/server/ToolRegistry.js.map +1 -1
- package/dist/tools/BaseToolManager.d.ts +47 -11
- package/dist/tools/BaseToolManager.d.ts.map +1 -1
- package/dist/tools/BaseToolManager.js +168 -29
- package/dist/tools/BaseToolManager.js.map +1 -1
- package/dist/tools/auth.d.ts +16 -10
- package/dist/tools/auth.d.ts.map +1 -1
- package/dist/tools/auth.js +3 -2
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/cache.d.ts +30 -30
- package/dist/tools/cache.d.ts.map +1 -1
- package/dist/tools/cache.js +1 -6
- package/dist/tools/cache.js.map +1 -1
- package/dist/tools/comments.d.ts +20 -20
- package/dist/tools/comments.d.ts.map +1 -1
- package/dist/tools/comments.js +16 -9
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/media.d.ts +18 -16
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +16 -15
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/pages.d.ts +19 -17
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +16 -12
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/performance.d.ts +11 -1
- package/dist/tools/performance.d.ts.map +1 -1
- package/dist/tools/performance.js +67 -34
- package/dist/tools/performance.js.map +1 -1
- package/dist/tools/posts/PostHandlers.d.ts +46 -0
- package/dist/tools/posts/PostHandlers.d.ts.map +1 -0
- package/dist/tools/posts/PostHandlers.js +400 -0
- package/dist/tools/posts/PostHandlers.js.map +1 -0
- package/dist/tools/posts/PostToolDefinitions.d.ts +37 -0
- package/dist/tools/posts/PostToolDefinitions.d.ts.map +1 -0
- package/dist/tools/posts/PostToolDefinitions.js +236 -0
- package/dist/tools/posts/PostToolDefinitions.js.map +1 -0
- package/dist/tools/posts/index.d.ts +138 -0
- package/dist/tools/posts/index.d.ts.map +1 -0
- package/dist/tools/posts/index.js +163 -0
- package/dist/tools/posts/index.js.map +1 -0
- package/dist/tools/posts.d.ts +10 -246
- package/dist/tools/posts.d.ts.map +1 -1
- package/dist/tools/posts.js +11 -723
- package/dist/tools/posts.js.map +1 -1
- package/dist/tools/site.d.ts +19 -18
- package/dist/tools/site.d.ts.map +1 -1
- package/dist/tools/site.js +14 -10
- package/dist/tools/site.js.map +1 -1
- package/dist/tools/taxonomies.d.ts +23 -24
- package/dist/tools/taxonomies.d.ts.map +1 -1
- package/dist/tools/taxonomies.js +24 -18
- package/dist/tools/taxonomies.js.map +1 -1
- package/dist/tools/users.d.ts +20 -15
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +12 -8
- package/dist/tools/users.js.map +1 -1
- package/dist/types/client.d.ts +48 -41
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.js +30 -5
- package/dist/types/client.js.map +1 -1
- package/dist/types/enhanced.d.ts +237 -0
- package/dist/types/enhanced.d.ts.map +1 -0
- package/dist/types/enhanced.js +49 -0
- package/dist/types/enhanced.js.map +1 -0
- package/dist/types/index.d.ts +15 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/mcp.d.ts +12 -12
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/requests.d.ts +322 -0
- package/dist/types/requests.d.ts.map +1 -0
- package/dist/types/requests.js +8 -0
- package/dist/types/requests.js.map +1 -0
- package/dist/types/tools.d.ts +506 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +8 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/wordpress.d.ts +43 -15
- package/dist/types/wordpress.d.ts.map +1 -1
- package/dist/types/wordpress.js +8 -1
- package/dist/types/wordpress.js.map +1 -1
- package/dist/utils/debug.d.ts +19 -11
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +46 -10
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/enhancedError.d.ts +8 -8
- package/dist/utils/enhancedError.d.ts.map +1 -1
- package/dist/utils/enhancedError.js.map +1 -1
- package/dist/utils/error.d.ts +2 -4
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +42 -5
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/logger.d.ts +106 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +280 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/streaming.d.ts +9 -9
- package/dist/utils/streaming.d.ts.map +1 -1
- package/dist/utils/streaming.js +71 -52
- package/dist/utils/streaming.js.map +1 -1
- package/dist/utils/toolWrapper.d.ts +9 -7
- package/dist/utils/toolWrapper.d.ts.map +1 -1
- package/dist/utils/toolWrapper.js.map +1 -1
- package/dist/utils/validation/core.d.ts +21 -0
- package/dist/utils/validation/core.d.ts.map +1 -0
- package/dist/utils/validation/core.js +71 -0
- package/dist/utils/validation/core.js.map +1 -0
- package/dist/utils/validation/index.d.ts +25 -0
- package/dist/utils/validation/index.d.ts.map +1 -0
- package/dist/utils/validation/index.js +29 -0
- package/dist/utils/validation/index.js.map +1 -0
- package/dist/utils/validation/network.d.ts +19 -0
- package/dist/utils/validation/network.d.ts.map +1 -0
- package/dist/utils/validation/network.js +93 -0
- package/dist/utils/validation/network.js.map +1 -0
- package/dist/utils/validation/rateLimit.d.ts +21 -0
- package/dist/utils/validation/rateLimit.d.ts.map +1 -0
- package/dist/utils/validation/rateLimit.js +43 -0
- package/dist/utils/validation/rateLimit.js.map +1 -0
- package/dist/utils/validation/security.d.ts +29 -0
- package/dist/utils/validation/security.d.ts.map +1 -0
- package/dist/utils/validation/security.js +327 -0
- package/dist/utils/validation/security.js.map +1 -0
- package/dist/utils/validation/wordpress.d.ts +31 -0
- package/dist/utils/validation/wordpress.d.ts.map +1 -0
- package/dist/utils/validation/wordpress.js +146 -0
- package/dist/utils/validation/wordpress.js.map +1 -0
- package/dist/utils/validation.d.ts +13 -82
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +25 -343
- package/dist/utils/validation.js.map +1 -1
- package/docs/BADGE_UPDATES.md +132 -0
- package/docs/BRANCH_PROTECTION.md +0 -0
- package/docs/CI_CD_IMPROVEMENTS.md +191 -0
- package/docs/INCREMENTAL_COVERAGE.md +183 -0
- package/docs/api/README.md +3 -1
- package/docs/api/openapi.json +5 -1
- package/docs/api/summary.json +1 -1
- package/docs/api/tools/wp_create_post.md +12 -14
- package/docs/examples/claude-desktop-config.md +1 -1
- package/docs/examples/docker-production.md +100 -93
- package/docs/examples/multi-site-setup.md +5 -4
- package/docs/examples/single-site-setup.md +3 -4
- package/docs/examples/use-case-workflows.md +4 -5
- package/docs/integrations/claude-desktop.md +31 -31
- package/docs/integrations/cline.md +4 -4
- package/docs/integrations/vs-code.md +9 -8
- package/docs/user-guides/SMITHERY_SETUP.md +10 -10
- package/docs/v2.2.0-resolution-demo.md +119 -0
- package/package.json +44 -25
- package/src/cache/CacheInvalidation.ts +12 -5
- package/src/cache/CacheManager.ts +18 -15
- package/src/cache/HttpCacheWrapper.ts +30 -59
- package/src/cache/__tests__/HttpCacheWrapper.test.ts +6 -5
- package/src/cache/index.ts +3 -14
- package/src/client/CachedWordPressClient.ts +32 -30
- package/src/client/MockWordPressClient.ts +4 -2
- package/src/client/api.ts +186 -64
- package/src/client/auth.ts +15 -40
- package/src/client/managers/AuthenticationManager.ts +337 -77
- package/src/client/managers/BaseManager.ts +18 -30
- package/src/client/managers/RequestManager.ts +39 -44
- package/src/config/Config.ts +308 -0
- package/src/config/ConfigurationSchema.ts +23 -2
- package/src/config/ServerConfiguration.ts +51 -47
- package/src/docs/DocumentationGenerator.ts +50 -39
- package/src/docs/MarkdownFormatter.ts +19 -29
- package/src/dxt-entry.cjs +26 -16
- package/src/dxt-entry.ts +17 -27
- package/src/index.ts +42 -28
- package/src/performance/MetricsCollector.ts +108 -86
- package/src/performance/PerformanceAnalytics.ts +69 -164
- package/src/performance/PerformanceMonitor.ts +32 -47
- package/src/performance/index.ts +2 -10
- package/src/security/AISecurityScanner.ts +22 -12
- package/src/security/AutomatedRemediation.ts +49 -18
- package/src/security/InputValidator.ts +9 -6
- package/src/security/SecurityCIPipeline.ts +53 -37
- package/src/security/SecurityConfig.ts +22 -22
- package/src/security/SecurityConfigManager.ts +23 -19
- package/src/security/SecurityMonitoring.ts +24 -21
- package/src/security/SecurityReviewer.ts +10 -7
- package/src/security/index.ts +64 -29
- package/src/server/ConnectionTester.ts +120 -31
- package/src/server/ToolRegistry.ts +31 -21
- package/src/tools/BaseToolManager.ts +286 -33
- package/src/tools/auth.ts +20 -8
- package/src/tools/cache.ts +5 -15
- package/src/tools/comments.ts +34 -48
- package/src/tools/media.ts +41 -53
- package/src/tools/pages.ts +32 -54
- package/src/tools/performance.ts +141 -176
- package/src/tools/posts/PostHandlers.ts +474 -0
- package/src/tools/posts/PostToolDefinitions.ts +250 -0
- package/src/tools/posts/index.ts +192 -0
- package/src/tools/posts.ts +24 -780
- package/src/tools/site.ts +34 -19
- package/src/tools/taxonomies.ts +41 -57
- package/src/tools/users.ts +28 -16
- package/src/types/client.ts +114 -138
- package/src/types/enhanced.ts +318 -0
- package/src/types/index.ts +51 -30
- package/src/types/mcp.ts +20 -42
- package/src/types/requests.ts +378 -0
- package/src/types/tools.ts +608 -0
- package/src/types/wordpress.ts +56 -34
- package/src/utils/debug.ts +77 -59
- package/src/utils/enhancedError.ts +8 -8
- package/src/utils/error.ts +53 -31
- package/src/utils/logger.ts +351 -0
- package/src/utils/streaming.ts +86 -68
- package/src/utils/toolWrapper.ts +10 -12
- package/src/utils/validation/core.ts +108 -0
- package/src/utils/validation/index.ts +36 -0
- package/src/utils/validation/network.ts +132 -0
- package/src/utils/validation/rateLimit.ts +54 -0
- package/src/utils/validation/security.ts +361 -0
- package/src/utils/validation/wordpress.ts +180 -0
- package/src/utils/validation.ts +47 -470
package/README.md
CHANGED
|
@@ -7,13 +7,19 @@
|
|
|
7
7
|
|
|
8
8
|
Manage WordPress sites with natural language through AI tools like Claude Desktop
|
|
9
9
|
|
|
10
|
-
[Quick Start](#-quick-start) • [
|
|
10
|
+
[Quick Start](#-quick-start) • [Why This MCP Server?](#-why-this-mcp-server)
|
|
11
|
+
[Installation Options](#-installation-options) • [Documentation](#-documentation) • [Examples](#-examples)
|
|
11
12
|
|
|
12
13
|
[](https://github.com/docdyhr/mcp-wordpress/actions)
|
|
14
|
+
[](https://github.com/docdyhr/mcp-wordpress/stargazers)
|
|
13
15
|
[](https://www.npmjs.com/package/mcp-wordpress)
|
|
14
16
|
[](https://www.npmjs.com/package/mcp-wordpress)
|
|
15
|
-
[](https://www.npmjs.com/package/mcp-wordpress)
|
|
18
|
+
[](https://hub.docker.com/r/docdyhr/mcp-wordpress)
|
|
19
|
+
[](https://github.com/docdyhr/mcp-wordpress)
|
|
20
|
+
[](https://github.com/docdyhr/mcp-wordpress)
|
|
21
|
+
[](https://github.com/docdyhr/mcp-wordpress)
|
|
22
|
+
[](https://github.com/docdyhr/mcp-wordpress)
|
|
17
23
|
[](https://github.com/docdyhr/mcp-wordpress/actions/workflows/mcp-evaluations.yml)
|
|
18
24
|
|
|
19
25
|
[](https://github.com/docdyhr/mcp-wordpress)
|
|
@@ -36,9 +42,10 @@ Manage WordPress sites with natural language through AI tools like Claude Deskto
|
|
|
36
42
|
```
|
|
37
43
|
|
|
38
44
|
**Key Advantages:**
|
|
45
|
+
|
|
39
46
|
- 🏆 **Most Complete**: 59 tools vs 20-30 in alternatives
|
|
40
47
|
- ⚡ **Fastest Setup**: 2-click Claude Desktop installation via DXT
|
|
41
|
-
- 🔒 **Production Ready**:
|
|
48
|
+
- 🔒 **Production Ready**: 404 tests (expanding), security audited, battle-tested
|
|
42
49
|
- 🎯 **TypeScript Native**: 100% type safety, best-in-class developer experience
|
|
43
50
|
- 🌐 **Multi-Site**: Manage unlimited WordPress sites from one place
|
|
44
51
|
|
|
@@ -47,6 +54,7 @@ Manage WordPress sites with natural language through AI tools like Claude Deskto
|
|
|
47
54
|
Get up and running in **under 5 minutes**:
|
|
48
55
|
|
|
49
56
|
### Prerequisites
|
|
57
|
+
|
|
50
58
|
- **WordPress**: Version 5.6+ with REST API enabled
|
|
51
59
|
- **Claude Desktop**: Latest version installed
|
|
52
60
|
- **Application Password**: Generated from WordPress admin panel
|
|
@@ -54,6 +62,7 @@ Get up and running in **under 5 minutes**:
|
|
|
54
62
|
### 3-Step Setup
|
|
55
63
|
|
|
56
64
|
**1️⃣ Generate WordPress Application Password**
|
|
65
|
+
|
|
57
66
|
```text
|
|
58
67
|
WordPress Admin → Users → Profile → Application Passwords → Add New
|
|
59
68
|
```
|
|
@@ -61,6 +70,7 @@ WordPress Admin → Users → Profile → Application Passwords → Add New
|
|
|
61
70
|
**2️⃣ Install MCP Server (Choose One)**
|
|
62
71
|
|
|
63
72
|
**Option A: DXT Extension (Easiest)**
|
|
73
|
+
|
|
64
74
|
```bash
|
|
65
75
|
# Download and install in Claude Desktop
|
|
66
76
|
curl -L https://github.com/docdyhr/mcp-wordpress/raw/main/mcp-wordpress.dxt -o mcp-wordpress.dxt
|
|
@@ -68,17 +78,20 @@ curl -L https://github.com/docdyhr/mcp-wordpress/raw/main/mcp-wordpress.dxt -o m
|
|
|
68
78
|
```
|
|
69
79
|
|
|
70
80
|
**Option B: NPM Global Install**
|
|
81
|
+
|
|
71
82
|
```bash
|
|
72
83
|
npm install -g mcp-wordpress
|
|
73
84
|
```
|
|
74
85
|
|
|
75
86
|
**3️⃣ Test Your Connection**
|
|
87
|
+
|
|
76
88
|
```text
|
|
77
89
|
In Claude: "Test my WordPress connection"
|
|
78
90
|
Response: "✅ Authentication successful! Connected to: Your Site Name"
|
|
79
91
|
```
|
|
80
92
|
|
|
81
|
-
📺 **[Watch 2-minute Setup Video](https://github.com/docdyhr/mcp-wordpress/wiki/setup-video)** | 📖
|
|
93
|
+
📺 **[Watch 2-minute Setup Video](https://github.com/docdyhr/mcp-wordpress/wiki/setup-video)** | 📖
|
|
94
|
+
**[Detailed Setup Guide](docs/INSTALLATION.md)**
|
|
82
95
|
|
|
83
96
|
## ⚡ Installation Options
|
|
84
97
|
|
|
@@ -92,7 +105,7 @@ Response: "✅ Authentication successful! Connected to: Your Site Name"
|
|
|
92
105
|
|
|
93
106
|
✅ **Zero command line required**
|
|
94
107
|
✅ **Automatic updates**
|
|
95
|
-
✅ **Built-in security**
|
|
108
|
+
✅ **Built-in security**
|
|
96
109
|
|
|
97
110
|
**[📖 Complete DXT Setup Guide →](docs/integrations/claude-desktop.md)**
|
|
98
111
|
|
|
@@ -118,11 +131,12 @@ smithery configure mcp-wordpress
|
|
|
118
131
|
|
|
119
132
|
✅ **Package management**
|
|
120
133
|
✅ **Version control**
|
|
121
|
-
✅ **Easy updates**
|
|
134
|
+
✅ **Easy updates**
|
|
122
135
|
|
|
123
136
|
### Installing via Smithery
|
|
124
137
|
|
|
125
|
-
To install mcp-wordpress for Claude Desktop automatically via
|
|
138
|
+
To install mcp-wordpress for Claude Desktop automatically via
|
|
139
|
+
[Smithery](https://smithery.ai/server/@docdyhr/mcp-wordpress):
|
|
126
140
|
|
|
127
141
|
```bash
|
|
128
142
|
npx -y @smithery/cli install @docdyhr/mcp-wordpress --client claude
|
|
@@ -140,6 +154,7 @@ npx -y @smithery/cli install @docdyhr/mcp-wordpress --client claude
|
|
|
140
154
|
### Single Site Setup
|
|
141
155
|
|
|
142
156
|
**Environment Variables (.env)**
|
|
157
|
+
|
|
143
158
|
```bash
|
|
144
159
|
WORDPRESS_SITE_URL=https://myblog.com
|
|
145
160
|
WORDPRESS_USERNAME=admin
|
|
@@ -148,6 +163,7 @@ WORDPRESS_AUTH_METHOD=app-password
|
|
|
148
163
|
```
|
|
149
164
|
|
|
150
165
|
**Claude Desktop Config**
|
|
166
|
+
|
|
151
167
|
```json
|
|
152
168
|
{
|
|
153
169
|
"mcpServers": {
|
|
@@ -167,6 +183,7 @@ WORDPRESS_AUTH_METHOD=app-password
|
|
|
167
183
|
### Multi-Site Agency Setup
|
|
168
184
|
|
|
169
185
|
**Configuration File (mcp-wordpress.config.json)**
|
|
186
|
+
|
|
170
187
|
```json
|
|
171
188
|
{
|
|
172
189
|
"sites": [
|
|
@@ -207,9 +224,10 @@ WORDPRESS_AUTH_METHOD=app-password
|
|
|
207
224
|
### Development Environment
|
|
208
225
|
|
|
209
226
|
**Local WordPress with Docker**
|
|
227
|
+
|
|
210
228
|
```yaml
|
|
211
229
|
# docker-compose.yml
|
|
212
|
-
version:
|
|
230
|
+
version: "3.8"
|
|
213
231
|
services:
|
|
214
232
|
wordpress:
|
|
215
233
|
image: wordpress:latest
|
|
@@ -222,7 +240,7 @@ services:
|
|
|
222
240
|
WORDPRESS_DB_NAME: wordpress
|
|
223
241
|
volumes:
|
|
224
242
|
- wordpress_data:/var/www/html
|
|
225
|
-
|
|
243
|
+
|
|
226
244
|
db:
|
|
227
245
|
image: mysql:8.0
|
|
228
246
|
environment:
|
|
@@ -239,6 +257,7 @@ volumes:
|
|
|
239
257
|
```
|
|
240
258
|
|
|
241
259
|
**MCP WordPress Development Config**
|
|
260
|
+
|
|
242
261
|
```json
|
|
243
262
|
{
|
|
244
263
|
"sites": [
|
|
@@ -259,6 +278,7 @@ volumes:
|
|
|
259
278
|
### Production Deployment
|
|
260
279
|
|
|
261
280
|
**Server Environment Variables**
|
|
281
|
+
|
|
262
282
|
```bash
|
|
263
283
|
# /etc/environment or systemd service
|
|
264
284
|
WORDPRESS_SITE_URL=https://production-site.com
|
|
@@ -273,6 +293,7 @@ DEBUG=false
|
|
|
273
293
|
```
|
|
274
294
|
|
|
275
295
|
**Docker Production Setup**
|
|
296
|
+
|
|
276
297
|
```dockerfile
|
|
277
298
|
# Dockerfile.production
|
|
278
299
|
FROM node:20-alpine
|
|
@@ -288,6 +309,7 @@ CMD ["node", "dist/index.js"]
|
|
|
288
309
|
### JWT Authentication Setup
|
|
289
310
|
|
|
290
311
|
**WordPress Plugin Configuration**
|
|
312
|
+
|
|
291
313
|
```php
|
|
292
314
|
// wp-config.php
|
|
293
315
|
define('JWT_AUTH_SECRET_KEY', 'your-secret-key-here');
|
|
@@ -295,6 +317,7 @@ define('JWT_AUTH_CORS_ENABLE', true);
|
|
|
295
317
|
```
|
|
296
318
|
|
|
297
319
|
**MCP Configuration**
|
|
320
|
+
|
|
298
321
|
```json
|
|
299
322
|
{
|
|
300
323
|
"sites": [
|
|
@@ -316,31 +339,34 @@ define('JWT_AUTH_CORS_ENABLE', true);
|
|
|
316
339
|
|
|
317
340
|
### 🏆 Feature Comparison
|
|
318
341
|
|
|
319
|
-
| Feature
|
|
320
|
-
|
|
321
|
-
| **Tools Available**
|
|
322
|
-
| **Claude Desktop DXT**
|
|
323
|
-
| **Multi-Site Support**
|
|
324
|
-
| **TypeScript**
|
|
325
|
-
| **Performance Monitoring** | ✅ Real-time analytics | ❌ Basic only
|
|
326
|
-
| **Test Coverage**
|
|
327
|
-
| **Production Ready**
|
|
342
|
+
| Feature | This Server | Competition |
|
|
343
|
+
| -------------------------- | ---------------------- | --------------- |
|
|
344
|
+
| **Tools Available** | 59 tools | 20-30 tools |
|
|
345
|
+
| **Claude Desktop DXT** | ✅ 2-click install | ❌ Manual setup |
|
|
346
|
+
| **Multi-Site Support** | ✅ Unlimited sites | ❌ Single site |
|
|
347
|
+
| **TypeScript** | ✅ 100% coverage | ⚠️ Partial/None |
|
|
348
|
+
| **Performance Monitoring** | ✅ Real-time analytics | ❌ Basic only |
|
|
349
|
+
| **Test Coverage** | ✅ 404 tests (100% pass / 30% lines) | ⚠️ Limited |
|
|
350
|
+
| **Production Ready** | ✅ Security audited | ⚠️ Unknown |
|
|
328
351
|
|
|
329
352
|
### 🚀 Core Capabilities
|
|
330
353
|
|
|
331
354
|
#### WordPress Management
|
|
355
|
+
|
|
332
356
|
- **59 WordPress Tools** across 10 categories
|
|
333
357
|
- **Multi-Site Support** - Manage unlimited WordPress installations
|
|
334
358
|
- **Flexible Authentication** - App Passwords, JWT, Basic Auth, API Key
|
|
335
359
|
- **Real-Time Sync** - Instant updates across all connected tools
|
|
336
360
|
|
|
337
361
|
#### Performance & Reliability
|
|
362
|
+
|
|
338
363
|
- **⚡ Intelligent Caching** - 50-70% performance improvement
|
|
339
364
|
- **📊 Real-Time Monitoring** - Performance metrics and optimization insights
|
|
340
|
-
- **🔒 Production Ready** - Security-reviewed,
|
|
365
|
+
- **🔒 Production Ready** - Security-reviewed, growing coverage (30% lines) after expanding test suite
|
|
341
366
|
- **🔄 Zero Downtime** - Graceful error handling and automatic recovery
|
|
342
367
|
|
|
343
368
|
#### Developer Experience
|
|
369
|
+
|
|
344
370
|
- **100% TypeScript** - Complete type safety and IntelliSense
|
|
345
371
|
- **🐳 Docker Support** - Production-ready containerization
|
|
346
372
|
- **📚 Auto-Generated Docs** - API documentation with live examples
|
|
@@ -411,7 +437,7 @@ Use with site parameter: `wp_list_posts --site="main-site"`
|
|
|
411
437
|
- **💬 Comments** (7 tools) - Comment moderation and management
|
|
412
438
|
- **🏷️ Taxonomies** (10 tools) - Categories and tags management
|
|
413
439
|
|
|
414
|
-
### Site Management
|
|
440
|
+
### Site Management (Monitoring & Admin)
|
|
415
441
|
|
|
416
442
|
- **⚙️ Site Settings** (7 tools) - Site configuration and statistics
|
|
417
443
|
- **🔐 Authentication** (6 tools) - Auth testing and management
|
|
@@ -425,6 +451,7 @@ Use with site parameter: `wp_list_posts --site="main-site"`
|
|
|
425
451
|
### 🎯 Real-World Use Cases
|
|
426
452
|
|
|
427
453
|
**Content Creation & Management:**
|
|
454
|
+
|
|
428
455
|
```text
|
|
429
456
|
💬 "Analyze my top 10 blog posts and create a new post about emerging trends"
|
|
430
457
|
💬 "Upload these 5 images and create a photo gallery page with SEO optimization"
|
|
@@ -432,6 +459,7 @@ Use with site parameter: `wp_list_posts --site="main-site"`
|
|
|
432
459
|
```
|
|
433
460
|
|
|
434
461
|
**Site Management & Analytics:**
|
|
462
|
+
|
|
435
463
|
```text
|
|
436
464
|
💬 "Check my WordPress site performance and provide optimization recommendations"
|
|
437
465
|
💬 "Create a new user account for my freelance writer with editor permissions"
|
|
@@ -439,6 +467,7 @@ Use with site parameter: `wp_list_posts --site="main-site"`
|
|
|
439
467
|
```
|
|
440
468
|
|
|
441
469
|
**Bulk Operations:**
|
|
470
|
+
|
|
442
471
|
```text
|
|
443
472
|
💬 "Update all posts from 2023 to include my new author bio"
|
|
444
473
|
💬 "Find all images over 1MB and suggest compression strategies"
|
|
@@ -448,9 +477,11 @@ Use with site parameter: `wp_list_posts --site="main-site"`
|
|
|
448
477
|
### ⚙️ Configuration Methods
|
|
449
478
|
|
|
450
479
|
#### Option 1: DXT Extension (Recommended)
|
|
480
|
+
|
|
451
481
|
**No configuration needed** - built-in secure credential management!
|
|
452
482
|
|
|
453
483
|
#### Option 2: NPX in Claude Desktop
|
|
484
|
+
|
|
454
485
|
```json
|
|
455
486
|
{
|
|
456
487
|
"mcpServers": {
|
|
@@ -474,6 +505,7 @@ Use with site parameter: `wp_list_posts --site="main-site"`
|
|
|
474
505
|
### Basic Content Management
|
|
475
506
|
|
|
476
507
|
**Create and Publish a Blog Post**
|
|
508
|
+
|
|
477
509
|
```text
|
|
478
510
|
You: "Create a new blog post titled 'AI Revolution in 2024' with content about recent AI breakthroughs"
|
|
479
511
|
Claude: "I'll create that blog post for you..."
|
|
@@ -481,6 +513,7 @@ Result: ✅ Post "AI Revolution in 2024" created successfully (ID: 123)
|
|
|
481
513
|
```
|
|
482
514
|
|
|
483
515
|
**Media Management**
|
|
516
|
+
|
|
484
517
|
```text
|
|
485
518
|
You: "Upload the image at /path/to/image.jpg and set it as featured image for post 123"
|
|
486
519
|
Claude: "I'll upload that image and set it as the featured image..."
|
|
@@ -490,17 +523,19 @@ Result: ✅ Image uploaded (ID: 456) and set as featured image
|
|
|
490
523
|
### Advanced Workflows
|
|
491
524
|
|
|
492
525
|
**SEO-Optimized Content Creation**
|
|
526
|
+
|
|
493
527
|
```text
|
|
494
528
|
You: "Create an SEO-optimized blog post about 'WordPress Security Best Practices' with:
|
|
495
529
|
- Focus keyword: 'WordPress security'
|
|
496
530
|
- Meta description
|
|
497
531
|
- Proper heading structure
|
|
498
532
|
- At least 1500 words"
|
|
499
|
-
|
|
533
|
+
|
|
500
534
|
Claude: "I'll create a comprehensive SEO-optimized post on WordPress security..."
|
|
501
535
|
```
|
|
502
536
|
|
|
503
537
|
**Bulk Operations**
|
|
538
|
+
|
|
504
539
|
```text
|
|
505
540
|
You: "Find all draft posts older than 30 days and provide a summary"
|
|
506
541
|
You: "Update all posts in category 'News' to include a disclaimer at the end"
|
|
@@ -510,6 +545,7 @@ You: "Delete all spam comments from the last week"
|
|
|
510
545
|
### Site Management
|
|
511
546
|
|
|
512
547
|
**Performance Monitoring**
|
|
548
|
+
|
|
513
549
|
```text
|
|
514
550
|
You: "Analyze my site's performance and suggest optimizations"
|
|
515
551
|
Claude: "Let me check your site's performance metrics...
|
|
@@ -519,6 +555,7 @@ Claude: "Let me check your site's performance metrics...
|
|
|
519
555
|
```
|
|
520
556
|
|
|
521
557
|
**User Management**
|
|
558
|
+
|
|
522
559
|
```text
|
|
523
560
|
You: "Create a new editor account for john@example.com with a secure password"
|
|
524
561
|
You: "List all users who haven't logged in for 90 days"
|
|
@@ -528,6 +565,7 @@ You: "Update Sarah's role from Author to Editor"
|
|
|
528
565
|
### Multi-Site Management
|
|
529
566
|
|
|
530
567
|
**Working with Multiple Sites**
|
|
568
|
+
|
|
531
569
|
```text
|
|
532
570
|
You: "List all posts from my client-blog site"
|
|
533
571
|
Claude: "I'll list the posts from the client-blog site..."
|
|
@@ -598,6 +636,7 @@ Claude: "Here's a comparison of both sites..."
|
|
|
598
636
|
### Smart Content Workflows
|
|
599
637
|
|
|
600
638
|
**Automated SEO Optimization**
|
|
639
|
+
|
|
601
640
|
```text
|
|
602
641
|
You: "Optimize all posts from the last month for better SEO performance"
|
|
603
642
|
Claude: "I'll analyze and optimize your recent posts...
|
|
@@ -610,6 +649,7 @@ Claude: "I'll analyze and optimize your recent posts...
|
|
|
610
649
|
```
|
|
611
650
|
|
|
612
651
|
**Content Gap Analysis**
|
|
652
|
+
|
|
613
653
|
```text
|
|
614
654
|
You: "Identify content gaps in our blog compared to competitor topics"
|
|
615
655
|
Claude: "After analyzing your content and common industry topics...
|
|
@@ -622,6 +662,7 @@ Claude: "After analyzing your content and common industry topics...
|
|
|
622
662
|
### Maintenance Automation
|
|
623
663
|
|
|
624
664
|
**Site Health Monitoring**
|
|
665
|
+
|
|
625
666
|
```text
|
|
626
667
|
You: "Perform a comprehensive site health check and fix any issues"
|
|
627
668
|
Claude: "Running complete site diagnostics...
|
|
@@ -634,6 +675,7 @@ Claude: "Running complete site diagnostics...
|
|
|
634
675
|
```
|
|
635
676
|
|
|
636
677
|
**User Management Automation**
|
|
678
|
+
|
|
637
679
|
```text
|
|
638
680
|
You: "Clean up user accounts and update permissions for the new team structure"
|
|
639
681
|
Claude: "Updating user management...
|
|
@@ -647,6 +689,7 @@ Claude: "Updating user management...
|
|
|
647
689
|
### Performance Optimization
|
|
648
690
|
|
|
649
691
|
**Intelligent Cache Management**
|
|
692
|
+
|
|
650
693
|
```text
|
|
651
694
|
You: "Analyze site performance and implement optimal caching strategies"
|
|
652
695
|
Claude: "Implementing performance optimizations...
|
|
@@ -661,6 +704,7 @@ Claude: "Implementing performance optimizations...
|
|
|
661
704
|
## 🎯 Industry-Specific Solutions
|
|
662
705
|
|
|
663
706
|
### Healthcare Practices
|
|
707
|
+
|
|
664
708
|
```text
|
|
665
709
|
💬 "Create HIPAA-compliant patient information pages with secure forms"
|
|
666
710
|
💬 "Update doctor profiles with latest certifications and specializations"
|
|
@@ -669,6 +713,7 @@ Claude: "Implementing performance optimizations...
|
|
|
669
713
|
```
|
|
670
714
|
|
|
671
715
|
### Legal Firms
|
|
716
|
+
|
|
672
717
|
```text
|
|
673
718
|
💬 "Create practice area pages with case study examples"
|
|
674
719
|
💬 "Update attorney profiles with recent wins and bar admissions"
|
|
@@ -677,6 +722,7 @@ Claude: "Implementing performance optimizations...
|
|
|
677
722
|
```
|
|
678
723
|
|
|
679
724
|
### Real Estate Agencies
|
|
725
|
+
|
|
680
726
|
```text
|
|
681
727
|
💬 "Create property listing pages with virtual tour embeds"
|
|
682
728
|
💬 "Update agent profiles with recent sales and market statistics"
|
|
@@ -685,6 +731,7 @@ Claude: "Implementing performance optimizations...
|
|
|
685
731
|
```
|
|
686
732
|
|
|
687
733
|
### Restaurants & Food Service
|
|
734
|
+
|
|
688
735
|
```text
|
|
689
736
|
💬 "Create menu pages with dietary restriction filters"
|
|
690
737
|
💬 "Update chef profiles with signature dishes and cooking philosophy"
|
|
@@ -699,6 +746,7 @@ Claude: "Implementing performance optimizations...
|
|
|
699
746
|
### Quick Diagnostics
|
|
700
747
|
|
|
701
748
|
**Connection Issues**
|
|
749
|
+
|
|
702
750
|
```bash
|
|
703
751
|
# Test WordPress connection
|
|
704
752
|
npm run status
|
|
@@ -711,6 +759,7 @@ npm run status -- --site="your-site-id"
|
|
|
711
759
|
```
|
|
712
760
|
|
|
713
761
|
**Authentication Problems**
|
|
762
|
+
|
|
714
763
|
```bash
|
|
715
764
|
# Verify WordPress application password
|
|
716
765
|
curl -u username:app_password https://your-site.com/wp-json/wp/v2/users/me
|
|
@@ -723,6 +772,7 @@ npm run setup
|
|
|
723
772
|
```
|
|
724
773
|
|
|
725
774
|
**Performance Issues**
|
|
775
|
+
|
|
726
776
|
```bash
|
|
727
777
|
# Check cache performance
|
|
728
778
|
npm run test:cache
|
|
@@ -736,20 +786,21 @@ rm -rf cache/ && npm run dev
|
|
|
736
786
|
|
|
737
787
|
### Common Error Solutions
|
|
738
788
|
|
|
739
|
-
| Error
|
|
740
|
-
|
|
741
|
-
| `401 Unauthorized`
|
|
742
|
-
| `403 Forbidden`
|
|
743
|
-
| `404 Not Found`
|
|
744
|
-
| `SSL Certificate Error`
|
|
745
|
-
| `Connection Timeout`
|
|
746
|
-
| `Tools not showing in Claude` | Config file format
|
|
747
|
-
| `Plugin conflicts`
|
|
748
|
-
| `Rate limiting`
|
|
789
|
+
| Error | Cause | Solution |
|
|
790
|
+
| ----------------------------- | ------------------------ | ---------------------------------- |
|
|
791
|
+
| `401 Unauthorized` | Invalid credentials | Regenerate application password |
|
|
792
|
+
| `403 Forbidden` | Insufficient permissions | Check user role (Editor+ required) |
|
|
793
|
+
| `404 Not Found` | Wrong site URL | Verify WORDPRESS_SITE_URL |
|
|
794
|
+
| `SSL Certificate Error` | HTTPS issues | Add SSL exception or use HTTP |
|
|
795
|
+
| `Connection Timeout` | Network/firewall | Check WordPress REST API access |
|
|
796
|
+
| `Tools not showing in Claude` | Config file format | Validate JSON syntax |
|
|
797
|
+
| `Plugin conflicts` | WordPress plugins | Disable conflicting plugins |
|
|
798
|
+
| `Rate limiting` | Too many requests | Implement request throttling |
|
|
749
799
|
|
|
750
800
|
### WordPress-Specific Issues
|
|
751
801
|
|
|
752
802
|
**REST API Not Available**
|
|
803
|
+
|
|
753
804
|
```bash
|
|
754
805
|
# Test REST API directly
|
|
755
806
|
curl https://your-site.com/wp-json/wp/v2/
|
|
@@ -762,6 +813,7 @@ wp-admin → Settings → Permalinks → Post name
|
|
|
762
813
|
```
|
|
763
814
|
|
|
764
815
|
**Application Password Issues**
|
|
816
|
+
|
|
765
817
|
```text
|
|
766
818
|
1. WordPress Admin → Users → Profile
|
|
767
819
|
2. Scroll to "Application Passwords"
|
|
@@ -771,13 +823,14 @@ wp-admin → Settings → Permalinks → Post name
|
|
|
771
823
|
```
|
|
772
824
|
|
|
773
825
|
**Multi-Site Configuration Problems**
|
|
826
|
+
|
|
774
827
|
```json
|
|
775
828
|
// Check mcp-wordpress.config.json format
|
|
776
829
|
{
|
|
777
830
|
"sites": [
|
|
778
831
|
{
|
|
779
832
|
"id": "unique-site-id",
|
|
780
|
-
"name": "Human Readable Name",
|
|
833
|
+
"name": "Human Readable Name",
|
|
781
834
|
"config": {
|
|
782
835
|
"WORDPRESS_SITE_URL": "https://site.com",
|
|
783
836
|
"WORDPRESS_USERNAME": "username",
|
|
@@ -791,6 +844,7 @@ wp-admin → Settings → Permalinks → Post name
|
|
|
791
844
|
### Environment-Specific Solutions
|
|
792
845
|
|
|
793
846
|
**Claude Desktop Integration**
|
|
847
|
+
|
|
794
848
|
```json
|
|
795
849
|
// Verify claude_desktop_config.json format
|
|
796
850
|
{
|
|
@@ -809,6 +863,7 @@ wp-admin → Settings → Permalinks → Post name
|
|
|
809
863
|
```
|
|
810
864
|
|
|
811
865
|
**Docker Deployment Issues**
|
|
866
|
+
|
|
812
867
|
```bash
|
|
813
868
|
# Check container logs
|
|
814
869
|
docker logs mcp-wordpress
|
|
@@ -821,6 +876,7 @@ docker exec mcp-wordpress curl https://your-site.com/wp-json/wp/v2/
|
|
|
821
876
|
```
|
|
822
877
|
|
|
823
878
|
**NPX Runtime Problems**
|
|
879
|
+
|
|
824
880
|
```bash
|
|
825
881
|
# Clear NPX cache
|
|
826
882
|
npx clear-npx-cache
|
|
@@ -835,6 +891,7 @@ npm install -g mcp-wordpress
|
|
|
835
891
|
### Getting Help
|
|
836
892
|
|
|
837
893
|
**Self-Diagnostics**
|
|
894
|
+
|
|
838
895
|
```bash
|
|
839
896
|
# Comprehensive health check
|
|
840
897
|
npm run health
|
|
@@ -847,6 +904,7 @@ npm run test:performance
|
|
|
847
904
|
```
|
|
848
905
|
|
|
849
906
|
**Debug Information Collection**
|
|
907
|
+
|
|
850
908
|
```bash
|
|
851
909
|
# Generate debug report
|
|
852
910
|
DEBUG=true npm run status > debug-report.txt 2>&1
|
|
@@ -858,6 +916,7 @@ os-info >> debug-report.txt
|
|
|
858
916
|
```
|
|
859
917
|
|
|
860
918
|
**Community Support**
|
|
919
|
+
|
|
861
920
|
- 🐛 [Report Issues](https://github.com/docdyhr/mcp-wordpress/issues)
|
|
862
921
|
- 💬 [Discussions](https://github.com/docdyhr/mcp-wordpress/discussions)
|
|
863
922
|
- 📧 [Security Issues](mailto:security@docdyhr.com)
|
|
@@ -867,7 +926,7 @@ os-info >> debug-report.txt
|
|
|
867
926
|
|
|
868
927
|
### Current Test Status ✅
|
|
869
928
|
|
|
870
|
-
- **Main Test Suite**:
|
|
929
|
+
- **Main Test Suite**: 404/404 passed (100%)
|
|
871
930
|
- **Security Tests**: 40/40 passed (100%)
|
|
872
931
|
- **Performance Tests**: 8/8 passed (100%)
|
|
873
932
|
- **CI/CD Pipeline**: Fully functional
|
|
@@ -891,16 +950,16 @@ npm run test:fast
|
|
|
891
950
|
|
|
892
951
|
Our security posture is continuously monitored through automated testing and vulnerability scanning:
|
|
893
952
|
|
|
894
|
-
| **Security Area**
|
|
895
|
-
|
|
896
|
-
| **XSS Protection**
|
|
897
|
-
| **SQL Injection**
|
|
898
|
-
| **Path Traversal**
|
|
899
|
-
| **Input Validation**
|
|
900
|
-
| **Authentication**
|
|
901
|
-
| **Rate Limiting**
|
|
902
|
-
| **Information Disclosure** | ✅ Secure
|
|
903
|
-
| **Penetration Testing**
|
|
953
|
+
| **Security Area** | **Status** | **Tests** | **Coverage** |
|
|
954
|
+
| -------------------------- | ---------- | ------------- | --------------------------------------------------- |
|
|
955
|
+
| **XSS Protection** | ✅ Secure | 6/6 passing | Script injection, URL validation, HTML sanitization |
|
|
956
|
+
| **SQL Injection** | ✅ Secure | 3/3 passing | Query parameterization, input validation |
|
|
957
|
+
| **Path Traversal** | ✅ Secure | 3/3 passing | File path validation, directory restrictions |
|
|
958
|
+
| **Input Validation** | ✅ Secure | 9/9 passing | Length limits, format validation, sanitization |
|
|
959
|
+
| **Authentication** | ✅ Secure | 7/7 passing | Bypass prevention, token validation |
|
|
960
|
+
| **Rate Limiting** | ✅ Secure | 3/3 passing | DoS protection, request throttling |
|
|
961
|
+
| **Information Disclosure** | ✅ Secure | 2/2 passing | Error sanitization, sensitive data protection |
|
|
962
|
+
| **Penetration Testing** | ✅ Secure | 12/12 passing | Comprehensive attack simulation |
|
|
904
963
|
|
|
905
964
|
### Security Features
|
|
906
965
|
|
|
@@ -970,37 +1029,42 @@ npm run setup
|
|
|
970
1029
|
## 📚 Documentation
|
|
971
1030
|
|
|
972
1031
|
### Getting Started
|
|
1032
|
+
|
|
973
1033
|
- **[Quick Start Guide](#-quick-start)** - Get running in 5 minutes
|
|
974
1034
|
- **[Installation Guide](docs/INSTALLATION.md)** - Detailed setup instructions
|
|
975
1035
|
- **[Configuration Guide](docs/CONFIGURATION.md)** - All configuration options
|
|
976
1036
|
- **[Authentication Setup](docs/SECURITY.md#authentication)** - WordPress auth methods
|
|
977
1037
|
|
|
978
1038
|
### User Guides
|
|
1039
|
+
|
|
979
1040
|
- **[Basic Usage](docs/examples/basic-usage.md)** - Common tasks and workflows
|
|
980
1041
|
- **[Advanced Workflows](docs/examples/advanced-workflows.md)** - Complex automation
|
|
981
1042
|
- **[Multi-Site Management](docs/user-guides/multi-site.md)** - Managing multiple sites
|
|
982
1043
|
- **[Troubleshooting](docs/TROUBLESHOOTING.md)** - Common issues and solutions
|
|
983
1044
|
|
|
984
1045
|
### Integration Guides
|
|
1046
|
+
|
|
985
1047
|
- **[Claude Desktop](docs/integrations/claude-desktop.md)** - Complete Claude integration
|
|
986
1048
|
- **[VS Code](docs/integrations/vs-code.md)** - VS Code extension setup
|
|
987
1049
|
- **[Cline](docs/integrations/cline.md)** - Cline AI assistant integration
|
|
988
1050
|
- **[Custom Clients](docs/developer/custom-clients.md)** - Build your own MCP client
|
|
989
1051
|
|
|
990
1052
|
### Developer Documentation
|
|
1053
|
+
|
|
991
1054
|
- **[API Reference](docs/API_REFERENCE.md)** - Complete tool documentation
|
|
992
1055
|
- **[Architecture](docs/ARCHITECTURE.md)** - System design and decisions
|
|
993
1056
|
- **[Contributing](CONTRIBUTING.md)** - Development guidelines
|
|
994
1057
|
- **[Plugin Development](docs/developer/plugins.md)** - Extend functionality
|
|
995
1058
|
|
|
1059
|
+
|
|
996
1060
|
### Deployment & Operations
|
|
1061
|
+
|
|
997
1062
|
- **[Docker Deployment](docs/deployment/docker.md)** - Container deployment
|
|
998
1063
|
- **[Publishing Troubleshooting](docs/PUBLISHING-TROUBLESHOOTING.md)** - Fix publishing issues
|
|
999
1064
|
- **[Security Best Practices](docs/SECURITY.md)** - Production security
|
|
1000
1065
|
- **[Performance Tuning](docs/deployment/performance.md)** - Optimization guide
|
|
1001
1066
|
- **[Monitoring](docs/deployment/monitoring.md)** - Logging and metrics
|
|
1002
1067
|
|
|
1003
|
-
|
|
1004
1068
|
## 🔧 Requirements
|
|
1005
1069
|
|
|
1006
1070
|
- **WordPress 5.0+** with REST API enabled
|
|
@@ -1050,7 +1114,8 @@ docker pull docdyhr/mcp-wordpress:1.3.1
|
|
|
1050
1114
|
|
|
1051
1115
|
**Ready to transform your WordPress management?**
|
|
1052
1116
|
|
|
1053
|
-
1. **🏆 [Download DXT Extension](https://github.com/docdyhr/mcp-wordpress/raw/main/mcp-wordpress.dxt)** - Easiest setup
|
|
1117
|
+
1. **🏆 [Download DXT Extension](https://github.com/docdyhr/mcp-wordpress/raw/main/mcp-wordpress.dxt)** - Easiest setup
|
|
1118
|
+
(2 minutes)
|
|
1054
1119
|
2. **⚡ [Try NPX Method](docs/user-guides/NPX_SETUP.md)** - Power user setup (5 minutes)
|
|
1055
1120
|
3. **📚 [Explore All Tools](docs/api/README.md)** - See what's possible
|
|
1056
1121
|
4. **💬 [Join Discussions](https://github.com/docdyhr/mcp-wordpress/discussions)** - Get help and share ideas
|
|
@@ -1061,7 +1126,8 @@ docker pull docdyhr/mcp-wordpress:1.3.1
|
|
|
1061
1126
|
|
|
1062
1127
|
Looking for alternatives or complementary tools? Check out these WordPress MCP implementations:
|
|
1063
1128
|
|
|
1064
|
-
- **[Automattic WordPress MCP](https://github.com/Automattic/wordpress-mcp)** - Official WordPress MCP server by
|
|
1129
|
+
- **[Automattic WordPress MCP](https://github.com/Automattic/wordpress-mcp)** - Official WordPress MCP server by
|
|
1130
|
+
Automattic
|
|
1065
1131
|
|
|
1066
1132
|
---
|
|
1067
1133
|
|
|
@@ -1076,4 +1142,4 @@ implementation.
|
|
|
1076
1142
|
|
|
1077
1143
|
**⭐ Found this helpful? [Give us a star on GitHub!](https://github.com/docdyhr/mcp-wordpress) ⭐**
|
|
1078
1144
|
|
|
1079
|
-
</div>
|
|
1145
|
+
</div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AJV patch to handle missing refs directory in DXT package
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
const fs = require('fs');
|
|
6
|
+
const path = require('path');
|
|
7
|
+
|
|
8
|
+
// Patch the AJV module to use our embedded schema files
|
|
9
|
+
const originalRequire = require;
|
|
10
|
+
const Module = require('module');
|
|
11
|
+
|
|
12
|
+
const originalResolveFilename = Module._resolveFilename;
|
|
13
|
+
Module._resolveFilename = function(request, parent, isMain) {
|
|
14
|
+
// Intercept requests for AJV refs
|
|
15
|
+
if (request.includes('refs/json-schema-draft-07.json')) {
|
|
16
|
+
return path.join(__dirname, 'ajv-refs', 'json-schema-draft-07.json');
|
|
17
|
+
}
|
|
18
|
+
if (request.includes('refs/json-schema-draft-04.json')) {
|
|
19
|
+
return path.join(__dirname, 'ajv-refs', 'json-schema-draft-04.json');
|
|
20
|
+
}
|
|
21
|
+
if (request.includes('refs/json-schema-draft-06.json')) {
|
|
22
|
+
return path.join(__dirname, 'ajv-refs', 'json-schema-draft-06.json');
|
|
23
|
+
}
|
|
24
|
+
if (request.includes('refs/json-schema-secure.json')) {
|
|
25
|
+
return path.join(__dirname, 'ajv-refs', 'json-schema-secure.json');
|
|
26
|
+
}
|
|
27
|
+
if (request.includes('refs/data.json')) {
|
|
28
|
+
return path.join(__dirname, 'ajv-refs', 'data.json');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return originalResolveFilename.call(this, request, parent, isMain);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
module.exports = {};
|
|
@@ -15,7 +15,7 @@ export interface InvalidationEvent {
|
|
|
15
15
|
id?: number | undefined;
|
|
16
16
|
siteId: string;
|
|
17
17
|
timestamp: number;
|
|
18
|
-
data?:
|
|
18
|
+
data?: unknown;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Cache invalidation manager that handles intelligent cache clearing
|
|
@@ -25,6 +25,7 @@ export declare class CacheInvalidation {
|
|
|
25
25
|
private invalidationRules;
|
|
26
26
|
private eventQueue;
|
|
27
27
|
private processing;
|
|
28
|
+
private logger;
|
|
28
29
|
constructor(httpCache: HttpCacheWrapper);
|
|
29
30
|
/**
|
|
30
31
|
* Register invalidation rule
|
|
@@ -101,6 +102,7 @@ export declare class WordPressCachePatterns {
|
|
|
101
102
|
*/
|
|
102
103
|
export declare class CacheWarmer {
|
|
103
104
|
private httpCache;
|
|
105
|
+
private logger;
|
|
104
106
|
constructor(httpCache: HttpCacheWrapper);
|
|
105
107
|
/**
|
|
106
108
|
* Warm cache with essential WordPress data
|