mcp-wordpress 1.1.7 → 1.2.2

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 (255) hide show
  1. package/README.md +388 -66
  2. package/dist/cache/CacheInvalidation.d.ts +118 -0
  3. package/dist/cache/CacheInvalidation.d.ts.map +1 -0
  4. package/dist/cache/CacheInvalidation.js +349 -0
  5. package/dist/cache/CacheInvalidation.js.map +1 -0
  6. package/dist/cache/CacheManager.d.ts +143 -0
  7. package/dist/cache/CacheManager.d.ts.map +1 -0
  8. package/dist/cache/CacheManager.js +308 -0
  9. package/dist/cache/CacheManager.js.map +1 -0
  10. package/dist/cache/HttpCacheWrapper.d.ts +121 -0
  11. package/dist/cache/HttpCacheWrapper.d.ts.map +1 -0
  12. package/dist/cache/HttpCacheWrapper.js +280 -0
  13. package/dist/cache/HttpCacheWrapper.js.map +1 -0
  14. package/dist/cache/__tests__/CacheInvalidation.test.d.ts +5 -0
  15. package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +1 -0
  16. package/dist/cache/__tests__/CacheInvalidation.test.js +236 -0
  17. package/dist/cache/__tests__/CacheInvalidation.test.js.map +1 -0
  18. package/dist/cache/__tests__/CacheManager.test.d.ts +5 -0
  19. package/dist/cache/__tests__/CacheManager.test.d.ts.map +1 -0
  20. package/dist/cache/__tests__/CacheManager.test.js +233 -0
  21. package/dist/cache/__tests__/CacheManager.test.js.map +1 -0
  22. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +5 -0
  23. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +1 -0
  24. package/dist/cache/__tests__/CachedWordPressClient.test.js +228 -0
  25. package/dist/cache/__tests__/CachedWordPressClient.test.js.map +1 -0
  26. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +5 -0
  27. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +1 -0
  28. package/dist/cache/__tests__/HttpCacheWrapper.test.js +296 -0
  29. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -0
  30. package/dist/cache/index.d.ts +12 -0
  31. package/dist/cache/index.d.ts.map +1 -0
  32. package/dist/cache/index.js +9 -0
  33. package/dist/cache/index.js.map +1 -0
  34. package/dist/client/CachedWordPressClient.d.ts +160 -0
  35. package/dist/client/CachedWordPressClient.d.ts.map +1 -0
  36. package/dist/client/CachedWordPressClient.js +338 -0
  37. package/dist/client/CachedWordPressClient.js.map +1 -0
  38. package/dist/client/WordPressClient.d.ts +81 -0
  39. package/dist/client/WordPressClient.d.ts.map +1 -0
  40. package/dist/client/WordPressClient.js +354 -0
  41. package/dist/client/WordPressClient.js.map +1 -0
  42. package/dist/config/ConfigurationSchema.d.ts +281 -0
  43. package/dist/config/ConfigurationSchema.d.ts.map +1 -0
  44. package/dist/config/ConfigurationSchema.js +205 -0
  45. package/dist/config/ConfigurationSchema.js.map +1 -0
  46. package/dist/config/ServerConfiguration.d.ts +38 -0
  47. package/dist/config/ServerConfiguration.d.ts.map +1 -0
  48. package/dist/config/ServerConfiguration.js +158 -0
  49. package/dist/config/ServerConfiguration.js.map +1 -0
  50. package/dist/docs/DocumentationGenerator.d.ts +184 -0
  51. package/dist/docs/DocumentationGenerator.d.ts.map +1 -0
  52. package/dist/docs/DocumentationGenerator.js +735 -0
  53. package/dist/docs/DocumentationGenerator.js.map +1 -0
  54. package/dist/docs/MarkdownFormatter.d.ts +84 -0
  55. package/dist/docs/MarkdownFormatter.d.ts.map +1 -0
  56. package/dist/docs/MarkdownFormatter.js +448 -0
  57. package/dist/docs/MarkdownFormatter.js.map +1 -0
  58. package/dist/docs/index.d.ts +8 -0
  59. package/dist/docs/index.d.ts.map +1 -0
  60. package/dist/docs/index.js +7 -0
  61. package/dist/docs/index.js.map +1 -0
  62. package/dist/index.d.ts +1 -4
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +12 -212
  65. package/dist/index.js.map +1 -1
  66. package/dist/performance/AnomalyDetector.d.ts +63 -0
  67. package/dist/performance/AnomalyDetector.d.ts.map +1 -0
  68. package/dist/performance/AnomalyDetector.js +222 -0
  69. package/dist/performance/AnomalyDetector.js.map +1 -0
  70. package/dist/performance/BenchmarkAnalyzer.d.ts +67 -0
  71. package/dist/performance/BenchmarkAnalyzer.d.ts.map +1 -0
  72. package/dist/performance/BenchmarkAnalyzer.js +301 -0
  73. package/dist/performance/BenchmarkAnalyzer.js.map +1 -0
  74. package/dist/performance/MetricsCollector.d.ts +139 -0
  75. package/dist/performance/MetricsCollector.d.ts.map +1 -0
  76. package/dist/performance/MetricsCollector.js +320 -0
  77. package/dist/performance/MetricsCollector.js.map +1 -0
  78. package/dist/performance/PerformanceAnalytics.d.ts +162 -0
  79. package/dist/performance/PerformanceAnalytics.d.ts.map +1 -0
  80. package/dist/performance/PerformanceAnalytics.js +554 -0
  81. package/dist/performance/PerformanceAnalytics.js.map +1 -0
  82. package/dist/performance/PerformanceMonitor.d.ts +202 -0
  83. package/dist/performance/PerformanceMonitor.d.ts.map +1 -0
  84. package/dist/performance/PerformanceMonitor.js +478 -0
  85. package/dist/performance/PerformanceMonitor.js.map +1 -0
  86. package/dist/performance/TrendAnalyzer.d.ts +69 -0
  87. package/dist/performance/TrendAnalyzer.d.ts.map +1 -0
  88. package/dist/performance/TrendAnalyzer.js +203 -0
  89. package/dist/performance/TrendAnalyzer.js.map +1 -0
  90. package/dist/performance/index.d.ts +11 -0
  91. package/dist/performance/index.d.ts.map +1 -0
  92. package/dist/performance/index.js +8 -0
  93. package/dist/performance/index.js.map +1 -0
  94. package/dist/security/InputValidator.d.ts +215 -0
  95. package/dist/security/InputValidator.d.ts.map +1 -0
  96. package/dist/security/InputValidator.js +278 -0
  97. package/dist/security/InputValidator.js.map +1 -0
  98. package/dist/security/SecurityConfig.d.ts +129 -0
  99. package/dist/security/SecurityConfig.d.ts.map +1 -0
  100. package/dist/security/SecurityConfig.js +262 -0
  101. package/dist/security/SecurityConfig.js.map +1 -0
  102. package/dist/server/ConnectionTester.d.ts +24 -0
  103. package/dist/server/ConnectionTester.d.ts.map +1 -0
  104. package/dist/server/ConnectionTester.js +61 -0
  105. package/dist/server/ConnectionTester.js.map +1 -0
  106. package/dist/server/ToolRegistry.d.ts +46 -0
  107. package/dist/server/ToolRegistry.d.ts.map +1 -0
  108. package/dist/server/ToolRegistry.js +148 -0
  109. package/dist/server/ToolRegistry.js.map +1 -0
  110. package/dist/tools/BaseToolClass.d.ts +76 -0
  111. package/dist/tools/BaseToolClass.d.ts.map +1 -0
  112. package/dist/tools/BaseToolClass.js +104 -0
  113. package/dist/tools/BaseToolClass.js.map +1 -0
  114. package/dist/tools/BaseToolManager.d.ts +26 -0
  115. package/dist/tools/BaseToolManager.d.ts.map +1 -0
  116. package/dist/tools/BaseToolManager.js +56 -0
  117. package/dist/tools/BaseToolManager.js.map +1 -0
  118. package/dist/tools/base.d.ts +37 -0
  119. package/dist/tools/base.d.ts.map +1 -0
  120. package/dist/tools/base.js +60 -0
  121. package/dist/tools/base.js.map +1 -0
  122. package/dist/tools/cache.d.ts +260 -0
  123. package/dist/tools/cache.d.ts.map +1 -0
  124. package/dist/tools/cache.js +237 -0
  125. package/dist/tools/cache.js.map +1 -0
  126. package/dist/tools/index.d.ts +2 -0
  127. package/dist/tools/index.d.ts.map +1 -1
  128. package/dist/tools/index.js +2 -0
  129. package/dist/tools/index.js.map +1 -1
  130. package/dist/tools/performance.d.ts +63 -0
  131. package/dist/tools/performance.d.ts.map +1 -0
  132. package/dist/tools/performance.js +865 -0
  133. package/dist/tools/performance.js.map +1 -0
  134. package/dist/types/client.d.ts +1 -0
  135. package/dist/types/client.d.ts.map +1 -1
  136. package/dist/types/client.js.map +1 -1
  137. package/dist/utils/toolWrapper.d.ts +4 -0
  138. package/dist/utils/toolWrapper.d.ts.map +1 -1
  139. package/dist/utils/toolWrapper.js +11 -0
  140. package/dist/utils/toolWrapper.js.map +1 -1
  141. package/dist/utils/validation.d.ts +68 -0
  142. package/dist/utils/validation.d.ts.map +1 -0
  143. package/dist/utils/validation.js +185 -0
  144. package/dist/utils/validation.js.map +1 -0
  145. package/docs/CACHING.md +340 -0
  146. package/docs/DOCKER.md +451 -0
  147. package/docs/PERFORMANCE_MONITORING.md +471 -0
  148. package/docs/SECURITY_TESTING.md +393 -0
  149. package/docs/api/README.md +200 -0
  150. package/docs/api/categories/auth.md +40 -0
  151. package/docs/api/categories/cache.md +41 -0
  152. package/docs/api/categories/comment.md +44 -0
  153. package/docs/api/categories/media.md +43 -0
  154. package/docs/api/categories/page.md +43 -0
  155. package/docs/api/categories/performance.md +44 -0
  156. package/docs/api/categories/post.md +43 -0
  157. package/docs/api/categories/site.md +43 -0
  158. package/docs/api/categories/taxonomy.md +47 -0
  159. package/docs/api/categories/user.md +43 -0
  160. package/docs/api/openapi.json +3305 -0
  161. package/docs/api/summary.json +12 -0
  162. package/docs/api/tools/wp_approve_comment.md +98 -0
  163. package/docs/api/tools/wp_cache_clear.md +120 -0
  164. package/docs/api/tools/wp_cache_info.md +119 -0
  165. package/docs/api/tools/wp_cache_stats.md +119 -0
  166. package/docs/api/tools/wp_cache_warm.md +119 -0
  167. package/docs/api/tools/wp_create_application_password.md +102 -0
  168. package/docs/api/tools/wp_create_category.md +102 -0
  169. package/docs/api/tools/wp_create_comment.md +128 -0
  170. package/docs/api/tools/wp_create_page.md +135 -0
  171. package/docs/api/tools/wp_create_post.md +147 -0
  172. package/docs/api/tools/wp_create_tag.md +101 -0
  173. package/docs/api/tools/wp_create_user.md +135 -0
  174. package/docs/api/tools/wp_delete_application_password.md +101 -0
  175. package/docs/api/tools/wp_delete_category.md +100 -0
  176. package/docs/api/tools/wp_delete_comment.md +101 -0
  177. package/docs/api/tools/wp_delete_media.md +108 -0
  178. package/docs/api/tools/wp_delete_page.md +108 -0
  179. package/docs/api/tools/wp_delete_post.md +117 -0
  180. package/docs/api/tools/wp_delete_tag.md +100 -0
  181. package/docs/api/tools/wp_delete_user.md +108 -0
  182. package/docs/api/tools/wp_get_application_passwords.md +103 -0
  183. package/docs/api/tools/wp_get_auth_status.md +101 -0
  184. package/docs/api/tools/wp_get_category.md +103 -0
  185. package/docs/api/tools/wp_get_comment.md +103 -0
  186. package/docs/api/tools/wp_get_current_user.md +101 -0
  187. package/docs/api/tools/wp_get_media.md +103 -0
  188. package/docs/api/tools/wp_get_page.md +103 -0
  189. package/docs/api/tools/wp_get_page_revisions.md +103 -0
  190. package/docs/api/tools/wp_get_post.md +112 -0
  191. package/docs/api/tools/wp_get_post_revisions.md +103 -0
  192. package/docs/api/tools/wp_get_site_settings.md +108 -0
  193. package/docs/api/tools/wp_get_tag.md +103 -0
  194. package/docs/api/tools/wp_get_user.md +103 -0
  195. package/docs/api/tools/wp_list_categories.md +111 -0
  196. package/docs/api/tools/wp_list_comments.md +111 -0
  197. package/docs/api/tools/wp_list_media.md +145 -0
  198. package/docs/api/tools/wp_list_pages.md +145 -0
  199. package/docs/api/tools/wp_list_posts.md +156 -0
  200. package/docs/api/tools/wp_list_tags.md +110 -0
  201. package/docs/api/tools/wp_list_users.md +111 -0
  202. package/docs/api/tools/wp_performance_alerts.md +162 -0
  203. package/docs/api/tools/wp_performance_benchmark.md +160 -0
  204. package/docs/api/tools/wp_performance_export.md +162 -0
  205. package/docs/api/tools/wp_performance_history.md +161 -0
  206. package/docs/api/tools/wp_performance_optimize.md +162 -0
  207. package/docs/api/tools/wp_performance_stats.md +160 -0
  208. package/docs/api/tools/wp_search_site.md +99 -0
  209. package/docs/api/tools/wp_spam_comment.md +98 -0
  210. package/docs/api/tools/wp_switch_auth_method.md +122 -0
  211. package/docs/api/tools/wp_test_auth.md +96 -0
  212. package/docs/api/tools/wp_update_category.md +102 -0
  213. package/docs/api/tools/wp_update_comment.md +127 -0
  214. package/docs/api/tools/wp_update_media.md +129 -0
  215. package/docs/api/tools/wp_update_page.md +135 -0
  216. package/docs/api/tools/wp_update_post.md +144 -0
  217. package/docs/api/tools/wp_update_site_settings.md +127 -0
  218. package/docs/api/tools/wp_update_tag.md +102 -0
  219. package/docs/api/tools/wp_update_user.md +134 -0
  220. package/docs/api/tools/wp_upload_media.md +131 -0
  221. package/docs/api/types/WordPressPost.md +39 -0
  222. package/docs/contract-testing.md +183 -0
  223. package/docs/developer/NPM_AUTH_SETUP.md +3 -3
  224. package/docs/wordpress-rest-api-authentication-troubleshooting.md +218 -0
  225. package/package.json +84 -64
  226. package/src/cache/CacheInvalidation.ts +421 -0
  227. package/src/cache/CacheManager.ts +391 -0
  228. package/src/cache/HttpCacheWrapper.ts +372 -0
  229. package/src/cache/__tests__/CacheInvalidation.test.ts +299 -0
  230. package/src/cache/__tests__/CacheManager.test.ts +300 -0
  231. package/src/cache/__tests__/CachedWordPressClient.test.ts +304 -0
  232. package/src/cache/__tests__/HttpCacheWrapper.test.ts +359 -0
  233. package/src/cache/index.ts +26 -0
  234. package/src/client/CachedWordPressClient.ts +442 -0
  235. package/src/config/ConfigurationSchema.ts +246 -0
  236. package/src/config/ServerConfiguration.ts +215 -0
  237. package/src/docs/DocumentationGenerator.ts +952 -0
  238. package/src/docs/MarkdownFormatter.ts +494 -0
  239. package/src/docs/index.ts +21 -0
  240. package/src/index.ts +14 -274
  241. package/src/performance/MetricsCollector.ts +447 -0
  242. package/src/performance/PerformanceAnalytics.ts +762 -0
  243. package/src/performance/PerformanceMonitor.ts +649 -0
  244. package/src/performance/index.ts +28 -0
  245. package/src/security/InputValidator.ts +319 -0
  246. package/src/security/SecurityConfig.ts +301 -0
  247. package/src/server/ConnectionTester.ts +74 -0
  248. package/src/server/ToolRegistry.ts +194 -0
  249. package/src/tools/BaseToolManager.ts +66 -0
  250. package/src/tools/cache.ts +259 -0
  251. package/src/tools/index.ts +2 -0
  252. package/src/tools/performance.ts +948 -0
  253. package/src/types/client.ts +1 -0
  254. package/src/utils/toolWrapper.ts +11 -0
  255. package/src/utils/validation.ts +259 -0
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Cache management tools for WordPress MCP Server
3
+ * Provides cache inspection, clearing, and warming capabilities
4
+ */
5
+ import { CachedWordPressClient } from '../client/CachedWordPressClient.js';
6
+ import { toolWrapper } from '../utils/toolWrapper.js';
7
+ /**
8
+ * Cache management tools class
9
+ */
10
+ export class CacheTools {
11
+ clients;
12
+ constructor(clients) {
13
+ this.clients = clients;
14
+ }
15
+ /**
16
+ * Get cache management tools
17
+ */
18
+ getTools() {
19
+ return [
20
+ {
21
+ name: 'wp_cache_stats',
22
+ description: 'Get cache statistics for a WordPress site.',
23
+ parameters: [
24
+ {
25
+ name: 'site',
26
+ type: 'string',
27
+ description: 'Site ID to get cache stats for. If not provided, uses default site or fails if multiple sites configured.'
28
+ }
29
+ ],
30
+ handler: this.handleGetCacheStats.bind(this)
31
+ },
32
+ {
33
+ name: 'wp_cache_clear',
34
+ description: 'Clear cache for a WordPress site.',
35
+ parameters: [
36
+ {
37
+ name: 'site',
38
+ type: 'string',
39
+ description: 'Site ID to clear cache for.'
40
+ },
41
+ {
42
+ name: 'pattern',
43
+ type: 'string',
44
+ description: 'Optional pattern to clear specific cache entries (e.g., "posts", "categories").'
45
+ }
46
+ ],
47
+ handler: this.handleClearCache.bind(this)
48
+ },
49
+ {
50
+ name: 'wp_cache_warm',
51
+ description: 'Pre-warm cache with essential WordPress data.',
52
+ parameters: [
53
+ {
54
+ name: 'site',
55
+ type: 'string',
56
+ description: 'Site ID to warm cache for.'
57
+ }
58
+ ],
59
+ handler: this.handleWarmCache.bind(this)
60
+ },
61
+ {
62
+ name: 'wp_cache_info',
63
+ description: 'Get detailed cache configuration and status information.',
64
+ parameters: [
65
+ {
66
+ name: 'site',
67
+ type: 'string',
68
+ description: 'Site ID to get cache info for.'
69
+ }
70
+ ],
71
+ handler: this.handleGetCacheInfo.bind(this)
72
+ }
73
+ ];
74
+ }
75
+ /**
76
+ * Get cache statistics
77
+ */
78
+ async handleGetCacheStats(params) {
79
+ return toolWrapper(async () => {
80
+ const client = this.resolveClient(params.site);
81
+ if (!(client instanceof CachedWordPressClient)) {
82
+ return {
83
+ caching_enabled: false,
84
+ message: 'Caching is disabled for this site. Set DISABLE_CACHE=false to enable caching.'
85
+ };
86
+ }
87
+ const stats = client.getCacheStats();
88
+ return {
89
+ caching_enabled: true,
90
+ cache_stats: {
91
+ hits: stats.cache.hits,
92
+ misses: stats.cache.misses,
93
+ hit_rate: Math.round(stats.cache.hitRate * 100) + '%',
94
+ total_entries: stats.cache.totalSize,
95
+ evictions: stats.cache.evictions
96
+ },
97
+ invalidation_stats: {
98
+ queue_size: stats.invalidation.queueSize,
99
+ rules_count: stats.invalidation.rulesCount,
100
+ processing: stats.invalidation.processing
101
+ }
102
+ };
103
+ });
104
+ }
105
+ /**
106
+ * Clear cache
107
+ */
108
+ async handleClearCache(params) {
109
+ return toolWrapper(async () => {
110
+ const client = this.resolveClient(params.site);
111
+ if (!(client instanceof CachedWordPressClient)) {
112
+ return {
113
+ success: false,
114
+ message: 'Caching is not enabled for this site.'
115
+ };
116
+ }
117
+ let cleared;
118
+ if (params.pattern) {
119
+ cleared = client.clearCachePattern(params.pattern);
120
+ return {
121
+ success: true,
122
+ message: `Cleared ${cleared} cache entries matching pattern "${params.pattern}".`,
123
+ cleared_entries: cleared,
124
+ pattern: params.pattern
125
+ };
126
+ }
127
+ else {
128
+ cleared = client.clearCache();
129
+ return {
130
+ success: true,
131
+ message: `Cleared all cache entries (${cleared} total).`,
132
+ cleared_entries: cleared
133
+ };
134
+ }
135
+ });
136
+ }
137
+ /**
138
+ * Warm cache with essential data
139
+ */
140
+ async handleWarmCache(params) {
141
+ return toolWrapper(async () => {
142
+ const client = this.resolveClient(params.site);
143
+ if (!(client instanceof CachedWordPressClient)) {
144
+ return {
145
+ success: false,
146
+ message: 'Caching is not enabled for this site.'
147
+ };
148
+ }
149
+ await client.warmCache();
150
+ const stats = client.getCacheStats();
151
+ return {
152
+ success: true,
153
+ message: 'Cache warmed with essential WordPress data.',
154
+ cache_entries_after_warming: stats.cache.totalSize,
155
+ warmed_data: [
156
+ 'Current user information',
157
+ 'Categories',
158
+ 'Tags',
159
+ 'Site settings'
160
+ ]
161
+ };
162
+ });
163
+ }
164
+ /**
165
+ * Get detailed cache information
166
+ */
167
+ async handleGetCacheInfo(params) {
168
+ return toolWrapper(async () => {
169
+ const client = this.resolveClient(params.site);
170
+ if (!(client instanceof CachedWordPressClient)) {
171
+ return {
172
+ caching_enabled: false,
173
+ message: 'Caching is disabled for this site.',
174
+ how_to_enable: 'Remove DISABLE_CACHE=true from environment variables or set it to false.'
175
+ };
176
+ }
177
+ const stats = client.getCacheStats();
178
+ return {
179
+ caching_enabled: true,
180
+ cache_configuration: {
181
+ max_size: 'Configured in SecurityConfig.cache.maxSize',
182
+ default_ttl: 'Configured in SecurityConfig.cache.defaultTTL',
183
+ lru_enabled: 'Configured in SecurityConfig.cache.enableLRU',
184
+ stats_enabled: 'Configured in SecurityConfig.cache.enableStats'
185
+ },
186
+ ttl_presets: {
187
+ static_data: '4 hours (site settings, user roles)',
188
+ semi_static_data: '2 hours (categories, tags, user profiles)',
189
+ dynamic_data: '15 minutes (posts, pages, comments)',
190
+ session_data: '30 minutes (authentication, current user)',
191
+ realtime_data: '1 minute (real-time data)'
192
+ },
193
+ current_stats: {
194
+ total_entries: stats.cache.totalSize,
195
+ hit_rate: Math.round(stats.cache.hitRate * 100) + '%',
196
+ hits: stats.cache.hits,
197
+ misses: stats.cache.misses,
198
+ evictions: stats.cache.evictions
199
+ },
200
+ invalidation_info: {
201
+ queue_size: stats.invalidation.queueSize,
202
+ rules_registered: stats.invalidation.rulesCount,
203
+ currently_processing: stats.invalidation.processing
204
+ },
205
+ performance_benefits: [
206
+ 'Reduced API calls to WordPress',
207
+ 'Faster response times for repeated requests',
208
+ 'Better rate limit utilization',
209
+ 'Improved user experience'
210
+ ]
211
+ };
212
+ });
213
+ }
214
+ /**
215
+ * Resolve client from site parameter
216
+ */
217
+ resolveClient(siteId) {
218
+ if (!siteId) {
219
+ if (this.clients.size === 1) {
220
+ return Array.from(this.clients.values())[0];
221
+ }
222
+ else if (this.clients.size === 0) {
223
+ throw new Error('No WordPress sites configured.');
224
+ }
225
+ else {
226
+ throw new Error(`Multiple sites configured. Please specify --site parameter. Available sites: ${Array.from(this.clients.keys()).join(', ')}`);
227
+ }
228
+ }
229
+ const client = this.clients.get(siteId);
230
+ if (!client) {
231
+ throw new Error(`Site "${siteId}" not found. Available sites: ${Array.from(this.clients.keys()).join(', ')}`);
232
+ }
233
+ return client;
234
+ }
235
+ }
236
+ export default CacheTools;
237
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/tools/cache.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  export { default as AuthTools } from './auth.js';
2
+ export { default as CacheTools } from './cache.js';
2
3
  export { default as CommentTools } from './comments.js';
3
4
  export { default as MediaTools } from './media.js';
4
5
  export { default as PageTools } from './pages.js';
6
+ export { default as PerformanceTools } from './performance.js';
5
7
  export { default as PostTools } from './posts.js';
6
8
  export { default as SiteTools } from './site.js';
7
9
  export { default as TaxonomyTools } from './taxonomies.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -1,7 +1,9 @@
1
1
  export { default as AuthTools } from './auth.js';
2
+ export { default as CacheTools } from './cache.js';
2
3
  export { default as CommentTools } from './comments.js';
3
4
  export { default as MediaTools } from './media.js';
4
5
  export { default as PageTools } from './pages.js';
6
+ export { default as PerformanceTools } from './performance.js';
5
7
  export { default as PostTools } from './posts.js';
6
8
  export { default as SiteTools } from './site.js';
7
9
  export { default as TaxonomyTools } from './taxonomies.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Performance Monitoring MCP Tools for WordPress Server
3
+ * Provides comprehensive performance insights and management
4
+ */
5
+ import type { ToolDefinition } from '../server/ToolRegistry.js';
6
+ /**
7
+ * Performance Tools Class
8
+ */
9
+ export default class PerformanceTools {
10
+ private monitor;
11
+ private collector;
12
+ private analytics;
13
+ constructor(clients?: Map<string, any>);
14
+ /**
15
+ * Get all performance monitoring tools
16
+ */
17
+ getTools(): ToolDefinition[];
18
+ /**
19
+ * Get real-time performance statistics
20
+ */
21
+ private getPerformanceStats;
22
+ /**
23
+ * Get historical performance data and trends
24
+ */
25
+ private getPerformanceHistory;
26
+ /**
27
+ * Get benchmark comparison
28
+ */
29
+ private getBenchmarkComparison;
30
+ /**
31
+ * Get performance alerts and anomalies
32
+ */
33
+ private getPerformanceAlerts;
34
+ /**
35
+ * Get optimization recommendations
36
+ */
37
+ private getOptimizationRecommendations;
38
+ /**
39
+ * Export comprehensive performance report
40
+ */
41
+ private exportPerformanceReport;
42
+ private calculateHealthStatus;
43
+ private calculatePerformanceScore;
44
+ private calculateCacheEfficiency;
45
+ private formatUptime;
46
+ private parseTimeframe;
47
+ private processHistoricalDataForChart;
48
+ private extractMetricValue;
49
+ private calculateAverage;
50
+ private formatBenchmarkStatus;
51
+ private getBenchmarkImprovementDescription;
52
+ private calculateOverallRanking;
53
+ private formatAlertMessage;
54
+ private formatAnomalyDescription;
55
+ private calculateAlertStatus;
56
+ private formatPriority;
57
+ private formatEffort;
58
+ private calculateEstimatedImpact;
59
+ private convertToCSV;
60
+ private createSummaryReport;
61
+ private startHistoricalDataCollection;
62
+ }
63
+ //# sourceMappingURL=performance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/tools/performance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAuB;gBAE5B,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAoCtC;;OAEG;IACH,QAAQ,IAAI,cAAc,EAAE;IAqM5B;;OAEG;YACW,mBAAmB;IA6FjC;;OAEG;YACW,qBAAqB;IAyDnC;;OAEG;YACW,sBAAsB;IA6DpC;;OAEG;YACW,oBAAoB;IAwElC;;OAEG;YACW,8BAA8B;IAsE5C;;OAEG;YACW,uBAAuB;IA+ErC,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,yBAAyB;IA0BjC,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,6BAA6B;IAmBrC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,kCAAkC;IAU1C,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,6BAA6B;CAOtC"}