mcp-wordpress 1.2.3 โ†’ 1.3.1

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.
Files changed (262) hide show
  1. package/README.md +113 -181
  2. package/dist/cache/CacheInvalidation.d.ts +3 -3
  3. package/dist/cache/CacheInvalidation.d.ts.map +1 -1
  4. package/dist/cache/CacheInvalidation.js +119 -119
  5. package/dist/cache/CacheInvalidation.js.map +1 -1
  6. package/dist/cache/CacheManager.d.ts +5 -0
  7. package/dist/cache/CacheManager.d.ts.map +1 -1
  8. package/dist/cache/CacheManager.js +26 -16
  9. package/dist/cache/CacheManager.js.map +1 -1
  10. package/dist/cache/HttpCacheWrapper.d.ts +1 -1
  11. package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
  12. package/dist/cache/HttpCacheWrapper.js +29 -29
  13. package/dist/cache/HttpCacheWrapper.js.map +1 -1
  14. package/dist/cache/__tests__/CacheInvalidation.test.js +96 -94
  15. package/dist/cache/__tests__/CacheInvalidation.test.js.map +1 -1
  16. package/dist/cache/__tests__/CacheManager.test.js +113 -113
  17. package/dist/cache/__tests__/CacheManager.test.js.map +1 -1
  18. package/dist/cache/__tests__/CachedWordPressClient.test.js +102 -99
  19. package/dist/cache/__tests__/CachedWordPressClient.test.js.map +1 -1
  20. package/dist/cache/__tests__/HttpCacheWrapper.test.js +98 -95
  21. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -1
  22. package/dist/cache/index.d.ts +7 -7
  23. package/dist/cache/index.d.ts.map +1 -1
  24. package/dist/cache/index.js +4 -4
  25. package/dist/cache/index.js.map +1 -1
  26. package/dist/client/CachedWordPressClient.d.ts +4 -4
  27. package/dist/client/CachedWordPressClient.d.ts.map +1 -1
  28. package/dist/client/CachedWordPressClient.js +55 -51
  29. package/dist/client/CachedWordPressClient.js.map +1 -1
  30. package/dist/client/api.d.ts +10 -10
  31. package/dist/client/api.js +158 -158
  32. package/dist/client/api.js.map +1 -1
  33. package/dist/client/auth.d.ts +2 -2
  34. package/dist/client/auth.js +72 -72
  35. package/dist/client/managers/AuthenticationManager.d.ts +2 -2
  36. package/dist/client/managers/AuthenticationManager.js +46 -46
  37. package/dist/client/managers/BaseManager.d.ts +1 -1
  38. package/dist/client/managers/BaseManager.js +9 -9
  39. package/dist/client/managers/RequestManager.d.ts +5 -3
  40. package/dist/client/managers/RequestManager.d.ts.map +1 -1
  41. package/dist/client/managers/RequestManager.js +39 -19
  42. package/dist/client/managers/RequestManager.js.map +1 -1
  43. package/dist/client/managers/index.d.ts +3 -3
  44. package/dist/client/managers/index.js +3 -3
  45. package/dist/config/ConfigurationSchema.d.ts +2 -2
  46. package/dist/config/ConfigurationSchema.d.ts.map +1 -1
  47. package/dist/config/ConfigurationSchema.js +40 -40
  48. package/dist/config/ConfigurationSchema.js.map +1 -1
  49. package/dist/config/ServerConfiguration.d.ts +2 -2
  50. package/dist/config/ServerConfiguration.js +35 -35
  51. package/dist/config/ServerConfiguration.js.map +1 -1
  52. package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
  53. package/dist/docs/DocumentationGenerator.js +296 -255
  54. package/dist/docs/DocumentationGenerator.js.map +1 -1
  55. package/dist/docs/MarkdownFormatter.d.ts +1 -1
  56. package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
  57. package/dist/docs/MarkdownFormatter.js +60 -51
  58. package/dist/docs/MarkdownFormatter.js.map +1 -1
  59. package/dist/docs/index.d.ts +3 -3
  60. package/dist/docs/index.d.ts.map +1 -1
  61. package/dist/docs/index.js +2 -2
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +16 -16
  64. package/dist/index.js.map +1 -1
  65. package/dist/mcp-wordpress-1.3.1.tgz +0 -0
  66. package/dist/performance/MetricsCollector.d.ts +3 -3
  67. package/dist/performance/MetricsCollector.d.ts.map +1 -1
  68. package/dist/performance/MetricsCollector.js +33 -27
  69. package/dist/performance/MetricsCollector.js.map +1 -1
  70. package/dist/performance/PerformanceAnalytics.d.ts +12 -12
  71. package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
  72. package/dist/performance/PerformanceAnalytics.js +200 -154
  73. package/dist/performance/PerformanceAnalytics.js.map +1 -1
  74. package/dist/performance/PerformanceMonitor.d.ts +5 -5
  75. package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
  76. package/dist/performance/PerformanceMonitor.js +53 -52
  77. package/dist/performance/PerformanceMonitor.js.map +1 -1
  78. package/dist/performance/index.d.ts +6 -6
  79. package/dist/performance/index.d.ts.map +1 -1
  80. package/dist/performance/index.js +3 -3
  81. package/dist/security/InputValidator.d.ts +1 -1
  82. package/dist/security/InputValidator.d.ts.map +1 -1
  83. package/dist/security/InputValidator.js +111 -88
  84. package/dist/security/InputValidator.js.map +1 -1
  85. package/dist/security/SecurityConfig.d.ts +5 -5
  86. package/dist/security/SecurityConfig.js +92 -92
  87. package/dist/security/SecurityConfig.js.map +1 -1
  88. package/dist/server/ConnectionTester.d.ts +1 -1
  89. package/dist/server/ConnectionTester.d.ts.map +1 -1
  90. package/dist/server/ConnectionTester.js +4 -4
  91. package/dist/server/ConnectionTester.js.map +1 -1
  92. package/dist/server/ToolRegistry.d.ts +2 -2
  93. package/dist/server/ToolRegistry.d.ts.map +1 -1
  94. package/dist/server/ToolRegistry.js +35 -32
  95. package/dist/server/ToolRegistry.js.map +1 -1
  96. package/dist/server.d.ts +2 -2
  97. package/dist/server.js +2 -2
  98. package/dist/tools/BaseToolManager.js +5 -5
  99. package/dist/tools/auth.d.ts +2 -2
  100. package/dist/tools/auth.d.ts.map +1 -1
  101. package/dist/tools/auth.js +32 -31
  102. package/dist/tools/auth.js.map +1 -1
  103. package/dist/tools/cache.d.ts +1 -1
  104. package/dist/tools/cache.d.ts.map +1 -1
  105. package/dist/tools/cache.js +71 -71
  106. package/dist/tools/cache.js.map +1 -1
  107. package/dist/tools/comments.d.ts +2 -2
  108. package/dist/tools/comments.d.ts.map +1 -1
  109. package/dist/tools/comments.js +79 -79
  110. package/dist/tools/comments.js.map +1 -1
  111. package/dist/tools/index.d.ts +10 -10
  112. package/dist/tools/index.js +10 -10
  113. package/dist/tools/media.d.ts +2 -2
  114. package/dist/tools/media.js +80 -80
  115. package/dist/tools/pages.d.ts +2 -2
  116. package/dist/tools/pages.d.ts.map +1 -1
  117. package/dist/tools/pages.js +75 -75
  118. package/dist/tools/pages.js.map +1 -1
  119. package/dist/tools/performance.d.ts +1 -1
  120. package/dist/tools/performance.d.ts.map +1 -1
  121. package/dist/tools/performance.js +311 -287
  122. package/dist/tools/performance.js.map +1 -1
  123. package/dist/tools/posts.d.ts +2 -2
  124. package/dist/tools/posts.d.ts.map +1 -1
  125. package/dist/tools/posts.js +94 -94
  126. package/dist/tools/posts.js.map +1 -1
  127. package/dist/tools/site.d.ts +2 -2
  128. package/dist/tools/site.d.ts.map +1 -1
  129. package/dist/tools/site.js +60 -60
  130. package/dist/tools/site.js.map +1 -1
  131. package/dist/tools/taxonomies.d.ts +2 -2
  132. package/dist/tools/taxonomies.js +89 -89
  133. package/dist/tools/users.d.ts +2 -2
  134. package/dist/tools/users.js +68 -68
  135. package/dist/tools/users.js.map +1 -1
  136. package/dist/types/client.d.ts +13 -13
  137. package/dist/types/client.d.ts.map +1 -1
  138. package/dist/types/client.js +12 -12
  139. package/dist/types/client.js.map +1 -1
  140. package/dist/types/index.d.ts +19 -19
  141. package/dist/types/index.d.ts.map +1 -1
  142. package/dist/types/index.js +3 -3
  143. package/dist/types/mcp.d.ts +7 -7
  144. package/dist/types/wordpress.d.ts +21 -21
  145. package/dist/types/wordpress.d.ts.map +1 -1
  146. package/dist/utils/debug.d.ts +2 -2
  147. package/dist/utils/debug.js +28 -28
  148. package/dist/utils/error.d.ts.map +1 -1
  149. package/dist/utils/error.js +13 -13
  150. package/dist/utils/error.js.map +1 -1
  151. package/dist/utils/toolWrapper.d.ts.map +1 -1
  152. package/dist/utils/toolWrapper.js +5 -5
  153. package/dist/utils/toolWrapper.js.map +1 -1
  154. package/dist/utils/validation.d.ts.map +1 -1
  155. package/dist/utils/validation.js +41 -31
  156. package/dist/utils/validation.js.map +1 -1
  157. package/docs/CACHING.md +36 -2
  158. package/docs/DOCKER.md +11 -5
  159. package/docs/PERFORMANCE_MONITORING.md +49 -1
  160. package/docs/SECURITY_TESTING.md +30 -1
  161. package/docs/api/README.md +9 -1
  162. package/docs/api/categories/auth.md +2 -0
  163. package/docs/api/categories/cache.md +2 -0
  164. package/docs/api/categories/comment.md +2 -0
  165. package/docs/api/categories/media.md +2 -0
  166. package/docs/api/categories/page.md +2 -0
  167. package/docs/api/categories/performance.md +2 -0
  168. package/docs/api/categories/post.md +2 -0
  169. package/docs/api/categories/taxonomy.md +2 -0
  170. package/docs/api/categories/user.md +2 -0
  171. package/docs/api/summary.json +1 -1
  172. package/docs/api/tools/wp_approve_comment.md +3 -5
  173. package/docs/contract-testing.md +24 -3
  174. package/docs/developer/GITHUB_ACTIONS_SETUP.md +8 -2
  175. package/docs/developer/MAINTENANCE.md +27 -1
  176. package/docs/developer/MIGRATION_GUIDE.md +13 -1
  177. package/docs/developer/NPM_AUTH_SETUP.md +13 -2
  178. package/docs/developer/REFACTORING.md +31 -1
  179. package/docs/releases/COMMUNITY_ANNOUNCEMENT_v1.1.2.md +18 -7
  180. package/docs/releases/RELEASE_NOTES_v1.1.2.md +31 -5
  181. package/docs/user-guides/DOCKER_NPM_DTX_SETUP.md +217 -0
  182. package/docs/user-guides/DOCKER_SETUP.md +264 -0
  183. package/docs/user-guides/DTX_SETUP.md +327 -0
  184. package/docs/user-guides/NPM_SETUP.md +109 -0
  185. package/docs/user-guides/NPX_SETUP.md +281 -0
  186. package/docs/wordpress-rest-api-authentication-troubleshooting.md +13 -2
  187. package/package.json +20 -6
  188. package/src/cache/CacheInvalidation.ts +140 -132
  189. package/src/cache/CacheManager.ts +40 -29
  190. package/src/cache/HttpCacheWrapper.ts +105 -68
  191. package/src/cache/__tests__/CacheInvalidation.test.ts +123 -118
  192. package/src/cache/__tests__/CacheManager.test.ts +156 -152
  193. package/src/cache/__tests__/CachedWordPressClient.test.ts +131 -116
  194. package/src/cache/__tests__/HttpCacheWrapper.test.ts +118 -115
  195. package/src/cache/index.ts +13 -13
  196. package/src/client/CachedWordPressClient.ts +90 -80
  197. package/src/client/api.ts +205 -205
  198. package/src/client/auth.ts +80 -80
  199. package/src/client/managers/AuthenticationManager.ts +61 -61
  200. package/src/client/managers/BaseManager.ts +11 -11
  201. package/src/client/managers/RequestManager.ts +79 -47
  202. package/src/client/managers/index.ts +3 -3
  203. package/src/config/ConfigurationSchema.ts +44 -44
  204. package/src/config/ServerConfiguration.ts +39 -39
  205. package/src/docs/DocumentationGenerator.ts +402 -295
  206. package/src/docs/MarkdownFormatter.ts +94 -69
  207. package/src/docs/index.ts +4 -4
  208. package/src/index.ts +24 -21
  209. package/src/performance/MetricsCollector.ts +90 -58
  210. package/src/performance/PerformanceAnalytics.ts +386 -262
  211. package/src/performance/PerformanceMonitor.ts +152 -118
  212. package/src/performance/index.ts +9 -9
  213. package/src/security/InputValidator.ts +148 -91
  214. package/src/security/SecurityConfig.ts +94 -94
  215. package/src/server/ConnectionTester.ts +21 -15
  216. package/src/server/ToolRegistry.ts +64 -51
  217. package/src/server.ts +2 -2
  218. package/src/tools/BaseToolManager.ts +6 -6
  219. package/src/tools/auth.ts +42 -37
  220. package/src/tools/cache.ts +85 -81
  221. package/src/tools/comments.ts +93 -91
  222. package/src/tools/index.ts +10 -10
  223. package/src/tools/media.ts +89 -89
  224. package/src/tools/pages.ts +89 -87
  225. package/src/tools/performance.ts +443 -352
  226. package/src/tools/posts.ts +109 -107
  227. package/src/tools/site.ts +86 -77
  228. package/src/tools/taxonomies.ts +102 -102
  229. package/src/tools/users.ts +77 -77
  230. package/src/types/client.ts +157 -60
  231. package/src/types/index.ts +49 -27
  232. package/src/types/mcp.ts +15 -15
  233. package/src/types/wordpress.ts +57 -29
  234. package/src/utils/debug.ts +37 -37
  235. package/src/utils/error.ts +47 -25
  236. package/src/utils/toolWrapper.ts +12 -8
  237. package/src/utils/validation.ts +116 -65
  238. package/dist/client/WordPressClient.d.ts +0 -81
  239. package/dist/client/WordPressClient.d.ts.map +0 -1
  240. package/dist/client/WordPressClient.js +0 -354
  241. package/dist/client/WordPressClient.js.map +0 -1
  242. package/dist/performance/AnomalyDetector.d.ts +0 -63
  243. package/dist/performance/AnomalyDetector.d.ts.map +0 -1
  244. package/dist/performance/AnomalyDetector.js +0 -222
  245. package/dist/performance/AnomalyDetector.js.map +0 -1
  246. package/dist/performance/BenchmarkAnalyzer.d.ts +0 -67
  247. package/dist/performance/BenchmarkAnalyzer.d.ts.map +0 -1
  248. package/dist/performance/BenchmarkAnalyzer.js +0 -301
  249. package/dist/performance/BenchmarkAnalyzer.js.map +0 -1
  250. package/dist/performance/TrendAnalyzer.d.ts +0 -69
  251. package/dist/performance/TrendAnalyzer.d.ts.map +0 -1
  252. package/dist/performance/TrendAnalyzer.js +0 -203
  253. package/dist/performance/TrendAnalyzer.js.map +0 -1
  254. package/dist/tools/BaseToolClass.d.ts +0 -76
  255. package/dist/tools/BaseToolClass.d.ts.map +0 -1
  256. package/dist/tools/BaseToolClass.js +0 -104
  257. package/dist/tools/BaseToolClass.js.map +0 -1
  258. package/dist/tools/base.d.ts +0 -37
  259. package/dist/tools/base.d.ts.map +0 -1
  260. package/dist/tools/base.js +0 -60
  261. package/dist/tools/base.js.map +0 -1
  262. package/docs/user-guides/CLAUDE_DESKTOP_SETUP.md +0 -187
package/README.md CHANGED
@@ -30,36 +30,28 @@ A comprehensive Model Context Protocol (MCP) server for WordPress management thr
30
30
 
31
31
  ## โšก Quick Start
32
32
 
33
- ### Option 1: NPX (Recommended)
33
+ Choose your preferred setup method:
34
34
 
35
- The easiest way to get started - no installation required:
35
+ - ๐Ÿš€ **[NPX Setup](docs/user-guides/NPX_SETUP.md)** - Zero installation, always latest version
36
+ - ๐Ÿ’ป **[NPM Setup](docs/user-guides/NPM_SETUP.md)** - Local development and customization
37
+ - ๐Ÿณ **[Docker Setup](docs/user-guides/DOCKER_SETUP.md)** - Containerized deployment
38
+ - ๐Ÿ“ฆ **[DTX Setup](docs/user-guides/DTX_SETUP.md)** - Claude Desktop Extension package
39
+
40
+ ### Ultra-Quick NPX Start
36
41
 
37
42
  ```bash
38
- # Run directly with NPX
39
- npx mcp-wordpress
43
+ # Run directly with NPX (recommended)
44
+ npx -y mcp-wordpress
40
45
 
41
46
  # Or install globally
42
47
  npm install -g mcp-wordpress
43
48
  mcp-wordpress
44
49
  ```
45
50
 
46
- ### Option 2: Local Development
47
-
48
- ```bash
49
- git clone https://github.com/docdyhr/mcp-wordpress.git
50
- cd mcp-wordpress
51
- npm install
52
- npm run setup
53
- npm start
54
- ```
55
-
56
51
  ### Setup Wizard
57
52
 
58
53
  ```bash
59
- # For NPX users
60
- npx mcp-wordpress setup
61
-
62
- # For local installation
54
+ # For any installation method
63
55
  npm run setup
64
56
  ```
65
57
 
@@ -128,17 +120,17 @@ We've implemented a **comprehensive performance monitoring system**, **intellige
128
120
  - [API Documentation](./docs/api/README.md)
129
121
  - [Docker Deployment Guide](./docs/DOCKER.md)
130
122
 
131
- ## ๐Ÿ” Authentication & Testing Status (v1.2.1)
123
+ ## ๐Ÿ” Authentication & Testing Status (v1.2.4+)
132
124
 
133
125
  โœ… **Application Passwords** - Tested and working perfectly
134
126
  โœ… **JWT Authentication** - Supported with plugin
135
127
  โœ… **Basic Authentication** - Development ready
136
128
  โœ… **API Key Authentication** - Plugin-based support
137
- โœ… **Integration Tests** - 100% success rate (9/9 tests passing)
138
- โœ… **Multi-Site Tests** - 100% success rate (3/3 sites verified)
129
+ โœ… **Main Test Suite** - 100% success rate (144/144 tests passing)
139
130
  โœ… **Security Tests** - 100% success rate (40/40 tests passing)
140
131
  โœ… **Performance Tests** - 100% success rate (8/8 tests passing)
141
132
  โœ… **Tool Tests** - 100% success rate (14/14 tools working)
133
+ โœ… **CI/CD Pipeline** - Fully functional with automated publishing
142
134
 
143
135
  The setup wizard guides you through:
144
136
 
@@ -147,55 +139,47 @@ The setup wizard guides you through:
147
139
  - Connection testing
148
140
  - Claude Desktop configuration
149
141
 
150
- ## ๐Ÿš€ Lazy Setup via Claude Desktop
151
-
152
- ### Super Easy NPX Setup
142
+ ## ๐Ÿš€ Claude Desktop Integration
153
143
 
154
- If you want the absolute easiest setup, just paste this prompt into Claude Desktop:
144
+ ### ๐Ÿ“– Complete Setup Guides
155
145
 
156
- ```text
157
- Set up the MCP WordPress server using NPX for my Claude Desktop.
146
+ For detailed setup instructions, see our comprehensive guides:
158
147
 
159
- My WordPress details:
160
- - Site URL: [YOUR_WORDPRESS_URL]
161
- - Username: [YOUR_USERNAME]
148
+ - **[NPX Setup Guide](docs/user-guides/NPX_SETUP.md)** - Zero installation method
149
+ - **[NPM Setup Guide](docs/user-guides/NPM_SETUP.md)** - Local development
150
+ - **[Docker Setup Guide](docs/user-guides/DOCKER_SETUP.md)** - Containerized deployment
151
+ - **[DTX Setup Guide](docs/user-guides/DTX_SETUP.md)** - Desktop Extension package
162
152
 
163
- Please:
164
- 1. Help me create a WordPress Application Password
165
- 2. Configure my Claude Desktop mcp.json file with the NPX command
166
- 3. Test the connection to make sure everything works
167
- 4. Show me how to use the WordPress tools
153
+ ### ๐Ÿค– Claude Desktop Quick Prompts
168
154
 
169
- I want to use the NPX version (mcp-wordpress) so I don't need to install anything locally.
155
+ **For NPX Users (Easiest):**
156
+ ```text
157
+ Set up MCP WordPress using NPX. My site: [YOUR_SITE_URL], username: [YOUR_USERNAME]. Help with application password creation and Claude Desktop configuration.
170
158
  ```
171
159
 
172
- ### Full Local Development Setup
173
-
174
- For local development and customization:
175
-
160
+ **For Local Development:**
176
161
  ```text
177
- Build and configure the MCP WordPress server project from https://github.com/docdyhr/mcp-wordpress locally on my computer.
162
+ Set up MCP WordPress locally from GitHub. Clone, install, configure for my site: [YOUR_SITE_URL], username: [YOUR_USERNAME]. Include Claude Desktop setup.
163
+ ```
178
164
 
179
- Please:
180
- 1. Clone the repository to an appropriate directory
181
- 2. Install all dependencies
182
- 3. Run the setup wizard and help me configure my WordPress connection
183
- 4. Test the connection to make sure everything works
184
- 5. Set up the Claude Desktop MCP configuration
185
- 6. Run a quick test to verify all tools are working
165
+ **Replace placeholders with your actual WordPress details - Claude will handle the rest!**
186
166
 
187
- My WordPress site URL is: [YOUR_WORDPRESS_URL]
188
- My WordPress username is: [YOUR_USERNAME]
167
+ ## ๐Ÿ”ง Configuration
189
168
 
190
- Guide me through any steps that require manual input, and let me know if you need any additional information from me.
191
- ```
169
+ The MCP WordPress server supports multiple configuration methods to fit different needs.
192
170
 
193
- **Just replace `[YOUR_WORDPRESS_URL]` and `[YOUR_USERNAME]` with your actual WordPress site details, and Claude will handle the rest!**
171
+ ### Setup Methods Overview
194
172
 
195
- ## ๐Ÿ”ง Configuration
173
+ | Method | Best For | Configuration File |
174
+ |--------|----------|---------------------|
175
+ | **NPX** | Quick start, always latest | Claude Desktop config only |
176
+ | **NPM** | Local development | `.env` or Claude Desktop config |
177
+ | **Docker** | Production deployment | Environment variables or mounted config |
178
+ | **DTX** | Simple GUI setup | DTX config + optional multi-site file |
196
179
 
197
- ### Environment Variables (.env)
180
+ ### Environment Variables
198
181
 
182
+ **Core Configuration:**
199
183
  ```env
200
184
  WORDPRESS_SITE_URL=https://your-wordpress-site.com
201
185
  WORDPRESS_USERNAME=your-username
@@ -204,118 +188,38 @@ WORDPRESS_AUTH_METHOD=app-password
204
188
  DEBUG=false
205
189
  ```
206
190
 
207
- ### Claude Desktop Integration
191
+ **๐Ÿ“– Detailed Configuration Guides:**
192
+ - **[NPX Configuration](docs/user-guides/NPX_SETUP.md#quick-start)** - Claude Desktop environment variables
193
+ - **[NPM Configuration](docs/user-guides/NPM_SETUP.md#configuration)** - Local `.env` file setup
194
+ - **[Docker Configuration](docs/user-guides/DOCKER_SETUP.md#configuration)** - Container environment setup
195
+ - **[DTX Configuration](docs/user-guides/DTX_SETUP.md#configuration)** - Extension package setup
208
196
 
209
- Configure MCP WordPress Server in your Claude Desktop `mcp.json` configuration file:
210
-
211
- #### Option 1: NPX (Recommended)
212
-
213
- ```json
214
- {
215
- "mcpServers": {
216
- "mcp-wordpress": {
217
- "command": "npx",
218
- "args": ["mcp-wordpress"],
219
- "env": {
220
- "WORDPRESS_SITE_URL": "https://your-site.com",
221
- "WORDPRESS_USERNAME": "your-username",
222
- "WORDPRESS_APP_PASSWORD": "your-app-password",
223
- "WORDPRESS_AUTH_METHOD": "app-password"
224
- }
225
- }
226
- }
227
- }
228
- ```
229
-
230
- #### Option 2: Global Installation
231
-
232
- ```json
233
- {
234
- "mcpServers": {
235
- "mcp-wordpress": {
236
- "command": "mcp-wordpress",
237
- "env": {
238
- "WORDPRESS_SITE_URL": "https://your-site.com",
239
- "WORDPRESS_USERNAME": "your-username",
240
- "WORDPRESS_APP_PASSWORD": "your-app-password",
241
- "WORDPRESS_AUTH_METHOD": "app-password"
242
- }
243
- }
244
- }
245
- }
246
- ```
247
-
248
- #### Option 3: Local Development
249
-
250
- ```json
251
- {
252
- "mcpServers": {
253
- "mcp-wordpress": {
254
- "command": "node",
255
- "args": ["/path/to/mcp-wordpress/dist/index.js"],
256
- "env": {
257
- "WORDPRESS_SITE_URL": "https://your-site.com",
258
- "WORDPRESS_USERNAME": "your-username",
259
- "WORDPRESS_APP_PASSWORD": "your-app-password",
260
- "WORDPRESS_AUTH_METHOD": "app-password"
261
- }
262
- }
263
- }
264
- }
265
- ```
266
-
267
- #### Using .env File (Any Option)
268
-
269
- If you prefer to use a `.env` file instead of environment variables in the config:
270
-
271
- ```json
272
- {
273
- "mcpServers": {
274
- "mcp-wordpress": {
275
- "command": "npx",
276
- "args": ["mcp-wordpress"],
277
- "env": {
278
- "NODE_ENV": "production"
279
- }
280
- }
281
- }
282
- }
283
- ```
284
-
285
- ### Claude Desktop Configuration File Locations
197
+ ### Claude Desktop Integration
286
198
 
199
+ **Configuration File Locations:**
287
200
  - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
288
201
  - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
289
202
  - **Linux**: `~/.config/Claude/claude_desktop_config.json`
290
203
 
291
- ### Quick Configuration Steps
292
-
293
- 1. **Create or locate your Claude Desktop config file** at the path above
294
- 2. **Add the MCP server configuration** using one of the options above
295
- 3. **Restart Claude Desktop** for changes to take effect
296
- 4. **Verify the connection** - you should see WordPress tools available in Claude Desktop
297
-
298
- ### Example Complete Configuration
299
-
300
- Here's a complete `claude_desktop_config.json` file with MCP WordPress:
301
-
204
+ **Quick NPX Example:**
302
205
  ```json
303
206
  {
304
207
  "mcpServers": {
305
208
  "mcp-wordpress": {
306
209
  "command": "npx",
307
- "args": ["mcp-wordpress"],
210
+ "args": ["-y", "mcp-wordpress"],
308
211
  "env": {
309
212
  "WORDPRESS_SITE_URL": "https://your-site.com",
310
213
  "WORDPRESS_USERNAME": "your-username",
311
- "WORDPRESS_APP_PASSWORD": "your-app-password",
312
- "WORDPRESS_AUTH_METHOD": "app-password"
214
+ "WORDPRESS_APP_PASSWORD": "your-app-password"
313
215
  }
314
216
  }
315
217
  }
316
218
  }
317
219
  ```
318
220
 
221
+ ๐Ÿ”— **See the detailed setup guides above for complete configuration examples for each method.**
222
+
319
223
  ## ๐ŸŒ Multi-Site Configuration
320
224
 
321
225
  MCP WordPress Server supports managing multiple WordPress sites from a single configuration. This is perfect for agencies, developers managing multiple client sites, or anyone with multiple WordPress installations.
@@ -603,12 +507,14 @@ WORDPRESS_API_KEY=your-api-key
603
507
 
604
508
  ### Current Test Status โœ…
605
509
 
606
- - **TypeScript Build Tests**: 19/19 passed (100%)
607
- - **Environment Loading Tests**: 7/7 passed (100%)
608
- - **Tool Functionality Tests**: 14/15 passed (93%)
609
- - **Upload Timeout Tests**: 11/12 passed (92%)
610
- - **Contract Tests**: 5/8 passed (62.5%) - See [Contract Testing](#contract-testing) section
611
- - **Overall Success Rate**: 93-98%
510
+ - **Main Test Suite**: 144/144 passed (100%) - Optimized for CI/CD reliability
511
+ - **TypeScript Build Tests**: 21/21 passed (100%)
512
+ - **Security Tests**: 40/40 passed (100%) - Comprehensive vulnerability testing
513
+ - **Configuration Tests**: 27/27 passed (100%) - Multi-site validation
514
+ - **Property-Based Tests**: 12/12 passed (100%) - Generative testing
515
+ - **Performance Tests**: 8/8 passed (100%) - Regression detection
516
+ - **Contract Tests**: Available via dedicated command when needed
517
+ - **Overall Success Rate**: 100% - All critical functionality verified
612
518
 
613
519
  ### Test Commands
614
520
 
@@ -781,43 +687,61 @@ DEBUG=true npm run dev
781
687
 
782
688
  ## ๐Ÿณ Docker Support
783
689
 
690
+ Docker support with production-ready containers and Claude Desktop integration.
691
+
784
692
  ### Quick Docker Start
785
693
 
786
694
  ```bash
787
- # Using Docker Hub image
788
- docker run -d \
789
- --name mcp-wordpress \
695
+ # Single-site with environment variables
696
+ docker run --rm -i \
790
697
  -e WORDPRESS_SITE_URL=https://your-site.com \
791
698
  -e WORDPRESS_USERNAME=your-username \
792
699
  -e WORDPRESS_APP_PASSWORD=your-app-password \
793
700
  docdyhr/mcp-wordpress:latest
794
701
 
795
- # Using Docker Compose
796
- curl -O https://raw.githubusercontent.com/docdyhr/mcp-wordpress/main/docker-compose.yml
797
- docker-compose up -d
702
+ # Multi-site with config file
703
+ docker run --rm -i \
704
+ -v ./mcp-wordpress.config.json:/app/mcp-wordpress.config.json:ro \
705
+ docdyhr/mcp-wordpress:latest
798
706
  ```
799
707
 
800
- ### Production Deployment
801
-
802
- ```yaml
803
- version: '3.8'
804
- services:
805
- mcp-wordpress:
806
- image: docdyhr/mcp-wordpress:latest
807
- restart: unless-stopped
808
- environment:
809
- - WORDPRESS_SITE_URL=https://your-site.com
810
- - WORDPRESS_USERNAME=your-username
811
- - WORDPRESS_APP_PASSWORD=your-app-password
812
- - NODE_ENV=production
813
- volumes:
814
- - ./logs:/app/logs
815
- - ./cache:/app/cache
816
- ports:
817
- - "3000:3000"
708
+ ### Claude Desktop Docker Integration
709
+
710
+ **Single-Site:**
711
+ ```json
712
+ {
713
+ "mcpServers": {
714
+ "mcp-wordpress": {
715
+ "command": "docker",
716
+ "args": [
717
+ "run", "--rm", "-i",
718
+ "-e", "WORDPRESS_SITE_URL=https://your-site.com",
719
+ "-e", "WORDPRESS_USERNAME=your-username",
720
+ "-e", "WORDPRESS_APP_PASSWORD=your-app-password",
721
+ "docdyhr/mcp-wordpress:latest"
722
+ ]
723
+ }
724
+ }
725
+ }
818
726
  ```
819
727
 
820
- **๐Ÿ“– Full Docker Documentation**: [docs/DOCKER.md](./docs/DOCKER.md)
728
+ **Multi-Site:**
729
+ ```json
730
+ {
731
+ "mcpServers": {
732
+ "mcp-wordpress": {
733
+ "command": "docker",
734
+ "args": [
735
+ "run", "--rm", "-i",
736
+ "-v", "/path/to/mcp-wordpress.config.json:/app/mcp-wordpress.config.json:ro",
737
+ "docdyhr/mcp-wordpress:latest"
738
+ ]
739
+ }
740
+ }
741
+ }
742
+ ```
743
+
744
+ **๐Ÿ“– Complete Docker Guide**: [docs/user-guides/DOCKER_SETUP.md](docs/user-guides/DOCKER_SETUP.md)
821
745
 
822
746
  ## ๐Ÿงช Contract Testing with Live WordPress
823
747
 
@@ -917,8 +841,8 @@ docker pull docdyhr/mcp-wordpress:latest
917
841
  # Specific version
918
842
  docker pull docdyhr/mcp-wordpress:1.2.2
919
843
 
920
- # Run directly
921
- docker run -d docdyhr/mcp-wordpress:latest
844
+ # Test container (interactive)
845
+ docker run --rm -i docdyhr/mcp-wordpress:latest
922
846
  ```
923
847
 
924
848
  ### ๐Ÿท๏ธ Release Process
@@ -932,7 +856,7 @@ docker run -d docdyhr/mcp-wordpress:latest
932
856
  **Conventional Commit Format:**
933
857
 
934
858
  ```bash
935
- # Patch release (1.2.2 โ†’ 1.2.3)
859
+ # Patch release (1.2.2 โ†’ 1.2.4)
936
860
  fix: resolve authentication timeout issue
937
861
 
938
862
  # Minor release (1.2.2 โ†’ 1.3.0)
@@ -984,3 +908,11 @@ For contributors planning releases:
984
908
  - **NPM:** [`mcp-wordpress`](https://www.npmjs.com/package/mcp-wordpress)
985
909
  - **Docker Hub:** [`docdyhr/mcp-wordpress`](https://hub.docker.com/r/docdyhr/mcp-wordpress)
986
910
  - **GitHub Releases:** [Latest releases](https://github.com/docdyhr/mcp-wordpress/releases)
911
+
912
+ ---
913
+
914
+ ## ๐Ÿ™ Acknowledgments
915
+
916
+ Special thanks to **[Stephan Ferraro](https://github.com/ferraro)** for the upstream main project that inspired this implementation.
917
+
918
+ > *"We are all standing on the shoulders of giants"*
@@ -2,7 +2,7 @@
2
2
  * Intelligent cache invalidation strategies for WordPress MCP Server
3
3
  * Implements event-based and pattern-based invalidation
4
4
  */
5
- import { HttpCacheWrapper } from './HttpCacheWrapper.js';
5
+ import { HttpCacheWrapper } from "./HttpCacheWrapper.js";
6
6
  export interface InvalidationRule {
7
7
  trigger: string;
8
8
  patterns: string[];
@@ -10,7 +10,7 @@ export interface InvalidationRule {
10
10
  cascade?: boolean;
11
11
  }
12
12
  export interface InvalidationEvent {
13
- type: 'create' | 'update' | 'delete';
13
+ type: "create" | "update" | "delete";
14
14
  resource: string;
15
15
  id?: number | undefined;
16
16
  siteId: string;
@@ -37,7 +37,7 @@ export declare class CacheInvalidation {
37
37
  /**
38
38
  * Invalidate cache for specific resource
39
39
  */
40
- invalidateResource(resource: string, id?: number, type?: 'create' | 'update' | 'delete'): Promise<void>;
40
+ invalidateResource(resource: string, id?: number, type?: "create" | "update" | "delete"): Promise<void>;
41
41
  /**
42
42
  * Setup default invalidation rules
43
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CacheInvalidation.d.ts","sourceRoot":"","sources":["../../src/cache/CacheInvalidation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,SAAS;IAJ7B,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,UAAU,CAAS;gBAEP,SAAS,EAAE,gBAAgB;IAI/C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAO5D;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,IAAI,GAAE,QAAQ,GAAG,QAAQ,GAAG,QAAmB,GAC9C,OAAO,CAAC,IAAI,CAAC;IAYhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuLzB;;OAEG;YACW,YAAY;IAiB1B;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,qBAAqB;IAqBnC;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACnB;IAQH;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAO/C;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIzD;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAI5D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIvD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIxD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;CAGtD;AAED;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAE/C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
1
+ {"version":3,"file":"CacheInvalidation.d.ts","sourceRoot":"","sources":["../../src/cache/CacheInvalidation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,SAAS;IAJ7B,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,UAAU,CAAS;gBAEP,SAAS,EAAE,gBAAgB;IAI/C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAO5D;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,IAAI,GAAE,QAAQ,GAAG,QAAQ,GAAG,QAAmB,GAC9C,OAAO,CAAC,IAAI,CAAC;IAYhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuLzB;;OAEG;YACW,YAAY;IAiB1B;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,qBAAqB;IA0BnC;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACnB;IAWH;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAO/C;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIzD;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAI5D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIvD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIxD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;CAGtD;AAED;;GAEG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAE/C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}