mcp-wordpress 1.5.2 → 2.0.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.
Files changed (190) hide show
  1. package/README.md +332 -61
  2. package/dist/cache/CacheInvalidation.d.ts.map +1 -1
  3. package/dist/cache/CacheInvalidation.js +4 -4
  4. package/dist/cache/CacheInvalidation.js.map +1 -1
  5. package/dist/client/MockWordPressClient.d.ts +55 -0
  6. package/dist/client/MockWordPressClient.d.ts.map +1 -0
  7. package/dist/client/MockWordPressClient.js +369 -0
  8. package/dist/client/MockWordPressClient.js.map +1 -0
  9. package/dist/client/api.d.ts +1 -0
  10. package/dist/client/api.d.ts.map +1 -1
  11. package/dist/client/api.js +26 -60
  12. package/dist/client/api.js.map +1 -1
  13. package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
  14. package/dist/client/managers/AuthenticationManager.js +4 -3
  15. package/dist/client/managers/AuthenticationManager.js.map +1 -1
  16. package/dist/config/ConfigurationSchema.d.ts +3 -3
  17. package/dist/config/ConfigurationSchema.d.ts.map +1 -1
  18. package/dist/config/ConfigurationSchema.js +7 -24
  19. package/dist/config/ConfigurationSchema.js.map +1 -1
  20. package/dist/config/ServerConfiguration.d.ts +8 -0
  21. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  22. package/dist/config/ServerConfiguration.js +80 -31
  23. package/dist/config/ServerConfiguration.js.map +1 -1
  24. package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
  25. package/dist/docs/DocumentationGenerator.js +5 -7
  26. package/dist/docs/DocumentationGenerator.js.map +1 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +33 -29
  29. package/dist/index.js.map +1 -1
  30. package/dist/security/InputValidator.d.ts.map +1 -1
  31. package/dist/security/InputValidator.js +3 -11
  32. package/dist/security/InputValidator.js.map +1 -1
  33. package/dist/server/ToolRegistry.d.ts +4 -0
  34. package/dist/server/ToolRegistry.d.ts.map +1 -1
  35. package/dist/server/ToolRegistry.js +71 -8
  36. package/dist/server/ToolRegistry.js.map +1 -1
  37. package/dist/tools/auth.d.ts.map +1 -1
  38. package/dist/tools/auth.js +8 -3
  39. package/dist/tools/auth.js.map +1 -1
  40. package/dist/tools/posts.d.ts.map +1 -1
  41. package/dist/tools/posts.js +287 -20
  42. package/dist/tools/posts.js.map +1 -1
  43. package/dist/tools/site.d.ts.map +1 -1
  44. package/dist/tools/site.js +47 -9
  45. package/dist/tools/site.js.map +1 -1
  46. package/dist/tools/users.d.ts.map +1 -1
  47. package/dist/tools/users.js +113 -10
  48. package/dist/tools/users.js.map +1 -1
  49. package/dist/utils/enhancedError.d.ts +61 -0
  50. package/dist/utils/enhancedError.d.ts.map +1 -0
  51. package/dist/utils/enhancedError.js +221 -0
  52. package/dist/utils/enhancedError.js.map +1 -0
  53. package/dist/utils/streaming.d.ts +104 -0
  54. package/dist/utils/streaming.d.ts.map +1 -0
  55. package/dist/utils/streaming.js +312 -0
  56. package/dist/utils/streaming.js.map +1 -0
  57. package/dist/utils/validation.d.ts +19 -3
  58. package/dist/utils/validation.d.ts.map +1 -1
  59. package/dist/utils/validation.js +174 -24
  60. package/dist/utils/validation.js.map +1 -1
  61. package/docs/ARCHITECTURE.md +850 -0
  62. package/docs/CACHING.md +20 -17
  63. package/docs/CONFIGURATION.md +660 -0
  64. package/docs/DOCKER.md +61 -60
  65. package/docs/EVALUATION.md +397 -0
  66. package/docs/INSTALLATION.md +423 -0
  67. package/docs/PERFORMANCE_MONITORING.md +17 -15
  68. package/docs/SECURITY.md +621 -0
  69. package/docs/SECURITY_TESTING.md +22 -26
  70. package/docs/TEST_SITE_SETUP.md +136 -0
  71. package/docs/TROUBLESHOOTING.md +578 -0
  72. package/docs/api/README.md +76 -91
  73. package/docs/api/categories/auth.md +0 -2
  74. package/docs/api/categories/cache.md +0 -2
  75. package/docs/api/categories/comment.md +0 -2
  76. package/docs/api/categories/media.md +0 -2
  77. package/docs/api/categories/page.md +0 -2
  78. package/docs/api/categories/performance.md +0 -2
  79. package/docs/api/categories/post.md +0 -2
  80. package/docs/api/categories/site.md +0 -2
  81. package/docs/api/categories/taxonomy.md +0 -2
  82. package/docs/api/categories/user.md +0 -2
  83. package/docs/api/summary.json +1 -1
  84. package/docs/api/tools/wp_approve_comment.md +11 -3
  85. package/docs/api/tools/wp_cache_clear.md +14 -5
  86. package/docs/api/tools/wp_cache_info.md +14 -5
  87. package/docs/api/tools/wp_cache_stats.md +14 -5
  88. package/docs/api/tools/wp_cache_warm.md +14 -5
  89. package/docs/api/tools/wp_create_application_password.md +11 -3
  90. package/docs/api/tools/wp_create_category.md +11 -3
  91. package/docs/api/tools/wp_create_comment.md +14 -5
  92. package/docs/api/tools/wp_create_page.md +13 -5
  93. package/docs/api/tools/wp_create_post.md +14 -7
  94. package/docs/api/tools/wp_create_tag.md +11 -3
  95. package/docs/api/tools/wp_create_user.md +13 -5
  96. package/docs/api/tools/wp_delete_application_password.md +11 -3
  97. package/docs/api/tools/wp_delete_category.md +11 -3
  98. package/docs/api/tools/wp_delete_comment.md +11 -3
  99. package/docs/api/tools/wp_delete_media.md +10 -3
  100. package/docs/api/tools/wp_delete_page.md +10 -3
  101. package/docs/api/tools/wp_delete_post.md +11 -5
  102. package/docs/api/tools/wp_delete_tag.md +11 -3
  103. package/docs/api/tools/wp_delete_user.md +10 -3
  104. package/docs/api/tools/wp_get_application_passwords.md +11 -3
  105. package/docs/api/tools/wp_get_auth_status.md +11 -3
  106. package/docs/api/tools/wp_get_category.md +11 -3
  107. package/docs/api/tools/wp_get_comment.md +11 -3
  108. package/docs/api/tools/wp_get_current_user.md +11 -3
  109. package/docs/api/tools/wp_get_media.md +11 -3
  110. package/docs/api/tools/wp_get_page.md +11 -3
  111. package/docs/api/tools/wp_get_page_revisions.md +11 -3
  112. package/docs/api/tools/wp_get_post.md +12 -5
  113. package/docs/api/tools/wp_get_post_revisions.md +11 -3
  114. package/docs/api/tools/wp_get_site_settings.md +10 -3
  115. package/docs/api/tools/wp_get_tag.md +11 -3
  116. package/docs/api/tools/wp_get_user.md +11 -3
  117. package/docs/api/tools/wp_list_categories.md +11 -3
  118. package/docs/api/tools/wp_list_comments.md +11 -3
  119. package/docs/api/tools/wp_list_media.md +14 -5
  120. package/docs/api/tools/wp_list_pages.md +14 -5
  121. package/docs/api/tools/wp_list_posts.md +15 -7
  122. package/docs/api/tools/wp_list_tags.md +11 -3
  123. package/docs/api/tools/wp_list_users.md +11 -3
  124. package/docs/api/tools/wp_performance_alerts.md +17 -7
  125. package/docs/api/tools/wp_performance_benchmark.md +17 -7
  126. package/docs/api/tools/wp_performance_export.md +17 -7
  127. package/docs/api/tools/wp_performance_history.md +17 -7
  128. package/docs/api/tools/wp_performance_optimize.md +17 -7
  129. package/docs/api/tools/wp_performance_stats.md +17 -7
  130. package/docs/api/tools/wp_search_site.md +11 -3
  131. package/docs/api/tools/wp_spam_comment.md +11 -3
  132. package/docs/api/tools/wp_switch_auth_method.md +14 -5
  133. package/docs/api/tools/wp_test_auth.md +11 -3
  134. package/docs/api/tools/wp_update_category.md +11 -3
  135. package/docs/api/tools/wp_update_comment.md +14 -5
  136. package/docs/api/tools/wp_update_media.md +14 -5
  137. package/docs/api/tools/wp_update_page.md +13 -5
  138. package/docs/api/tools/wp_update_post.md +14 -7
  139. package/docs/api/tools/wp_update_site_settings.md +14 -5
  140. package/docs/api/tools/wp_update_tag.md +11 -3
  141. package/docs/api/tools/wp_update_user.md +13 -5
  142. package/docs/api/tools/wp_upload_media.md +13 -5
  143. package/docs/api/types/WordPressPost.md +2 -0
  144. package/docs/code-improvements.md +40 -0
  145. package/docs/contract-testing.md +1 -1
  146. package/docs/developer/API_REFERENCE.md +19 -59
  147. package/docs/developer/ARCHITECTURE.md +8 -11
  148. package/docs/developer/BUILD_SYSTEM.md +2 -2
  149. package/docs/developer/CONTRIBUTING.md +3 -5
  150. package/docs/developer/GITHUB_ACTIONS_SETUP.md +2 -2
  151. package/docs/developer/MIGRATION_GUIDE.md +5 -6
  152. package/docs/developer/README.md +2 -1
  153. package/docs/developer/REFACTORING.md +9 -15
  154. package/docs/developer/RELEASE_PROCESS.md +4 -3
  155. package/docs/developer/TESTING.md +2 -2
  156. package/docs/examples/claude-desktop-config.md +8 -0
  157. package/docs/integrations/claude-desktop.md +426 -0
  158. package/docs/integrations/cline.md +537 -0
  159. package/docs/integrations/vs-code.md +515 -0
  160. package/docs/releases/COMMUNITY_ANNOUNCEMENT_v1.1.2.md +30 -23
  161. package/docs/releases/RELEASE_NOTES_v1.1.2.md +7 -6
  162. package/docs/testing-configurations.md +11 -0
  163. package/docs/user-guides/DOCKER_NPM_DTX_SETUP.md +3 -2
  164. package/docs/user-guides/DOCKER_SETUP.md +3 -2
  165. package/docs/user-guides/DTX_SETUP.md +6 -5
  166. package/docs/user-guides/DXT_INSTALLATION.md +4 -4
  167. package/docs/user-guides/NPM_SETUP.md +4 -2
  168. package/docs/user-guides/NPX_SETUP.md +4 -2
  169. package/docs/user-guides/SMITHERY_SETUP.md +402 -0
  170. package/docs/wordpress-rest-api-authentication-troubleshooting.md +45 -42
  171. package/package.json +12 -2
  172. package/src/cache/CacheInvalidation.ts +7 -18
  173. package/src/client/MockWordPressClient.ts +398 -0
  174. package/src/client/api.ts +77 -237
  175. package/src/client/managers/AuthenticationManager.ts +19 -56
  176. package/src/config/ConfigurationSchema.ts +14 -45
  177. package/src/config/ServerConfiguration.ts +98 -71
  178. package/src/docs/DocumentationGenerator.ts +39 -123
  179. package/src/dxt-entry.cjs +4 -1
  180. package/src/index.ts +35 -54
  181. package/src/security/InputValidator.ts +15 -57
  182. package/src/server/ToolRegistry.ts +88 -17
  183. package/src/tools/auth.ts +15 -22
  184. package/src/tools/posts.ts +347 -64
  185. package/src/tools/site.ts +69 -46
  186. package/src/tools/users.ts +142 -44
  187. package/src/utils/enhancedError.ts +248 -0
  188. package/src/utils/streaming.ts +428 -0
  189. package/src/utils/validation.ts +253 -92
  190. package/dist/mcp-wordpress-1.5.2.tgz +0 -0
package/docs/CACHING.md CHANGED
@@ -1,11 +1,12 @@
1
1
  # Intelligent Caching System
2
2
 
3
- The WordPress MCP Server includes a comprehensive intelligent caching system that dramatically improves performance by reducing API calls and providing faster response times.
3
+ The WordPress MCP Server includes a comprehensive intelligent caching system that dramatically improves performance by
4
+ reducing API calls and providing faster response times.
4
5
 
5
6
  ## 🚀 **Performance Benefits**
6
7
 
7
8
  - **50-70% reduction** in taxonomy API calls (categories, tags)
8
- - **40-60% reduction** in authentication requests
9
+ - **40-60% reduction** in authentication requests
9
10
  - **30-50% reduction** in user profile lookups
10
11
  - **Significantly improved** response times for static data
11
12
  - **Better rate limit utilization** - 60 requests/minute becomes much more effective
@@ -14,7 +15,7 @@ The WordPress MCP Server includes a comprehensive intelligent caching system tha
14
15
 
15
16
  ### **Multi-Layer Caching System**
16
17
 
17
- ```
18
+ ```text
18
19
  Request → Cache Check → API Call (if miss) → Cache Store → Response
19
20
  ↑ ↓
20
21
  └── ETag Validation ← HTTP Headers ←──────────┘
@@ -23,7 +24,7 @@ Request → Cache Check → API Call (if miss) → Cache Store → Response
23
24
  **Layer 1: HTTP Response Cache**
24
25
 
25
26
  - ETags support for efficient revalidation
26
- - Cache-Control headers based on data volatility
27
+ - Cache-Control headers based on data volatility
27
28
  - Conditional requests (If-None-Match)
28
29
 
29
30
  **Layer 2: In-Memory Application Cache**
@@ -46,7 +47,7 @@ Request → Cache Check → API Call (if miss) → Cache Store → Response
46
47
  - Cache-Control: `public, max-age=14400`
47
48
  - **Why**: Changes very rarely, safe to cache long-term
48
49
 
49
- ### **Semi-Static Data (2 hour TTL)**
50
+ ### **Semi-Static Data (2 hour TTL)**
50
51
 
51
52
  - Categories, tags, user profiles
52
53
  - Cache-Control: `public, max-age=7200`
@@ -55,7 +56,7 @@ Request → Cache Check → API Call (if miss) → Cache Store → Response
55
56
  ### **Dynamic Data (15 minute TTL)**
56
57
 
57
58
  - Posts, pages, comments
58
- - Cache-Control: `public, max-age=900`
59
+ - Cache-Control: `public, max-age=900`
59
60
  - **Why**: Content changes frequently, shorter cache needed
60
61
 
61
62
  ### **Session Data (30 minute TTL)**
@@ -79,7 +80,7 @@ wp_cache_stats --site="site1"
79
80
  **Returns:**
80
81
 
81
82
  - Hit/miss rates
82
- - Total cache entries
83
+ - Total cache entries
83
84
  - Eviction statistics
84
85
  - Invalidation queue status
85
86
 
@@ -139,11 +140,11 @@ cache: {
139
140
  defaultTTL: 15 * 60 * 1000, // 15 minutes default
140
141
  enableLRU: true,
141
142
  enableStats: true,
142
-
143
+
143
144
  // TTL presets by data type
144
145
  ttlPresets: {
145
146
  static: 4 * 60 * 60 * 1000, // 4 hours
146
- semiStatic: 2 * 60 * 60 * 1000, // 2 hours
147
+ semiStatic: 2 * 60 * 60 * 1000, // 2 hours
147
148
  dynamic: 15 * 60 * 1000, // 15 minutes
148
149
  session: 30 * 60 * 1000, // 30 minutes
149
150
  realtime: 60 * 1000 // 1 minute
@@ -160,7 +161,7 @@ The system automatically invalidates related cache entries when content changes:
160
161
  **Post Operations:**
161
162
 
162
163
  - **Create Post** → Clears posts listings, categories, tags, search
163
- - **Update Post** → Clears specific post, posts listings, search
164
+ - **Update Post** → Clears specific post, posts listings, search
164
165
  - **Delete Post** → Clears posts listings, categories, tags, search
165
166
 
166
167
  **Category/Tag Operations:**
@@ -227,7 +228,7 @@ done
227
228
 
228
229
  **After Caching:**
229
230
 
230
- - Categories (cached): ~1-5ms
231
+ - Categories (cached): ~1-5ms
231
232
  - User lookups (cached): ~1-3ms
232
233
  - Site settings (cached): ~1-2ms
233
234
 
@@ -237,15 +238,15 @@ Each WordPress site gets isolated cache:
237
238
 
238
239
  **Cache Key Format:**
239
240
 
240
- ```
241
+ ```text
241
242
  {siteId}:{endpoint}:{params_hash}
242
243
  ```
243
244
 
244
245
  **Examples:**
245
246
 
246
- ```
247
+ ```text
247
248
  site1:posts:abc123 # Site 1 posts listing
248
- site2:posts:abc123 # Site 2 posts listing (separate)
249
+ site2:posts:abc123 # Site 2 posts listing (separate)
249
250
  site1:categories:def456 # Site 1 categories
250
251
  ```
251
252
 
@@ -323,7 +324,7 @@ wp_cache_clear --site="site2" --pattern="posts" # Clear site2 posts only
323
324
  1. **Increase cache size:**
324
325
 
325
326
  ```typescript
326
- maxSize: 2000 // From default 1000
327
+ maxSize: 2000; // From default 1000
327
328
  ```
328
329
 
329
330
  2. **Tune TTL values:**
@@ -364,11 +365,13 @@ wp_cache_clear --site="site2" --pattern="posts" # Clear site2 posts only
364
365
  Planned improvements:
365
366
 
366
367
  - **Redis backend** for distributed caching
367
- - **Cache warming strategies** based on access patterns
368
+ - **Cache warming strategies** based on access patterns
368
369
  - **Adaptive TTL** based on content change frequency
369
370
  - **Cache compression** for larger datasets
370
371
  - **Metrics dashboard** for cache performance visualization
371
372
 
372
373
  ---
373
374
 
374
- The intelligent caching system provides significant performance improvements while maintaining data freshness appropriate for each content type. It's designed to work transparently with existing WordPress operations while providing tools for monitoring and management.
375
+ The intelligent caching system provides significant performance improvements while maintaining data freshness
376
+ appropriate for each content type. It's designed to work transparently with existing WordPress operations while
377
+ providing tools for monitoring and management.