mcp-wordpress 1.2.2 → 1.3.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 (251) hide show
  1. package/README.md +210 -182
  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.0.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 +24 -18
  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/summary.json +1 -1
  163. package/docs/contract-testing.md +24 -3
  164. package/docs/developer/GITHUB_ACTIONS_SETUP.md +8 -2
  165. package/docs/developer/MAINTENANCE.md +29 -3
  166. package/docs/developer/MIGRATION_GUIDE.md +13 -1
  167. package/docs/developer/NPM_AUTH_SETUP.md +13 -2
  168. package/docs/developer/REFACTORING.md +31 -1
  169. package/docs/releases/COMMUNITY_ANNOUNCEMENT_v1.1.2.md +18 -7
  170. package/docs/releases/RELEASE_NOTES_v1.1.2.md +31 -5
  171. package/docs/user-guides/DOCKER_SETUP.md +264 -0
  172. package/docs/user-guides/DTX_SETUP.md +327 -0
  173. package/docs/user-guides/NPM_SETUP.md +109 -0
  174. package/docs/user-guides/NPX_SETUP.md +281 -0
  175. package/docs/wordpress-rest-api-authentication-troubleshooting.md +13 -2
  176. package/package.json +27 -8
  177. package/src/cache/CacheInvalidation.ts +140 -132
  178. package/src/cache/CacheManager.ts +40 -29
  179. package/src/cache/HttpCacheWrapper.ts +105 -68
  180. package/src/cache/__tests__/CacheInvalidation.test.ts +123 -118
  181. package/src/cache/__tests__/CacheManager.test.ts +156 -152
  182. package/src/cache/__tests__/CachedWordPressClient.test.ts +131 -116
  183. package/src/cache/__tests__/HttpCacheWrapper.test.ts +118 -115
  184. package/src/cache/index.ts +13 -13
  185. package/src/client/CachedWordPressClient.ts +90 -80
  186. package/src/client/api.ts +205 -205
  187. package/src/client/auth.ts +80 -80
  188. package/src/client/managers/AuthenticationManager.ts +61 -61
  189. package/src/client/managers/BaseManager.ts +11 -11
  190. package/src/client/managers/RequestManager.ts +79 -47
  191. package/src/client/managers/index.ts +3 -3
  192. package/src/config/ConfigurationSchema.ts +44 -44
  193. package/src/config/ServerConfiguration.ts +39 -39
  194. package/src/docs/DocumentationGenerator.ts +402 -295
  195. package/src/docs/MarkdownFormatter.ts +94 -69
  196. package/src/docs/index.ts +4 -4
  197. package/src/index.ts +24 -21
  198. package/src/performance/MetricsCollector.ts +90 -58
  199. package/src/performance/PerformanceAnalytics.ts +386 -262
  200. package/src/performance/PerformanceMonitor.ts +152 -118
  201. package/src/performance/index.ts +9 -9
  202. package/src/security/InputValidator.ts +148 -91
  203. package/src/security/SecurityConfig.ts +94 -94
  204. package/src/server/ConnectionTester.ts +21 -15
  205. package/src/server/ToolRegistry.ts +64 -51
  206. package/src/server.ts +2 -2
  207. package/src/tools/BaseToolManager.ts +6 -6
  208. package/src/tools/auth.ts +42 -37
  209. package/src/tools/cache.ts +85 -81
  210. package/src/tools/comments.ts +93 -91
  211. package/src/tools/index.ts +10 -10
  212. package/src/tools/media.ts +89 -89
  213. package/src/tools/pages.ts +89 -87
  214. package/src/tools/performance.ts +443 -352
  215. package/src/tools/posts.ts +109 -107
  216. package/src/tools/site.ts +86 -77
  217. package/src/tools/taxonomies.ts +102 -102
  218. package/src/tools/users.ts +77 -77
  219. package/src/types/client.ts +157 -60
  220. package/src/types/index.ts +49 -27
  221. package/src/types/mcp.ts +15 -15
  222. package/src/types/wordpress.ts +57 -29
  223. package/src/utils/debug.ts +37 -37
  224. package/src/utils/error.ts +47 -25
  225. package/src/utils/toolWrapper.ts +12 -8
  226. package/src/utils/validation.ts +116 -65
  227. package/dist/client/WordPressClient.d.ts +0 -81
  228. package/dist/client/WordPressClient.d.ts.map +0 -1
  229. package/dist/client/WordPressClient.js +0 -354
  230. package/dist/client/WordPressClient.js.map +0 -1
  231. package/dist/performance/AnomalyDetector.d.ts +0 -63
  232. package/dist/performance/AnomalyDetector.d.ts.map +0 -1
  233. package/dist/performance/AnomalyDetector.js +0 -222
  234. package/dist/performance/AnomalyDetector.js.map +0 -1
  235. package/dist/performance/BenchmarkAnalyzer.d.ts +0 -67
  236. package/dist/performance/BenchmarkAnalyzer.d.ts.map +0 -1
  237. package/dist/performance/BenchmarkAnalyzer.js +0 -301
  238. package/dist/performance/BenchmarkAnalyzer.js.map +0 -1
  239. package/dist/performance/TrendAnalyzer.d.ts +0 -69
  240. package/dist/performance/TrendAnalyzer.d.ts.map +0 -1
  241. package/dist/performance/TrendAnalyzer.js +0 -203
  242. package/dist/performance/TrendAnalyzer.js.map +0 -1
  243. package/dist/tools/BaseToolClass.d.ts +0 -76
  244. package/dist/tools/BaseToolClass.d.ts.map +0 -1
  245. package/dist/tools/BaseToolClass.js +0 -104
  246. package/dist/tools/BaseToolClass.js.map +0 -1
  247. package/dist/tools/base.d.ts +0 -37
  248. package/dist/tools/base.d.ts.map +0 -1
  249. package/dist/tools/base.js +0 -60
  250. package/dist/tools/base.js.map +0 -1
  251. package/docs/user-guides/CLAUDE_DESKTOP_SETUP.md +0 -187
@@ -1 +0,0 @@
1
- {"version":3,"file":"TrendAnalyzer.js","sourceRoot":"","sources":["../../src/performance/TrendAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- import { WordPressClient } from '../client/api.js';
2
- /**
3
- * Tool parameter definition for MCP tools
4
- */
5
- export interface ToolParameter {
6
- name: string;
7
- type: 'string' | 'number' | 'boolean' | 'array' | 'object';
8
- description: string;
9
- enum?: string[];
10
- items?: {
11
- type: string;
12
- };
13
- required?: boolean;
14
- }
15
- /**
16
- * MCP Tool definition
17
- */
18
- export interface MCPTool {
19
- name: string;
20
- description: string;
21
- parameters: ToolParameter[];
22
- handler: ToolHandler;
23
- }
24
- /**
25
- * Tool handler function type
26
- */
27
- export interface ToolHandler<TParams = any, TResult = string> {
28
- (client: WordPressClient, params: TParams): Promise<TResult>;
29
- }
30
- /**
31
- * Base class for all WordPress tool implementations
32
- * Provides common functionality and patterns used across tool classes
33
- */
34
- export declare abstract class BaseToolClass {
35
- /**
36
- * Format a list response with consistent styling
37
- */
38
- protected formatListResponse<T>(items: T[], entityName: string, formatter: (item: T) => string, totalCount?: number): string;
39
- /**
40
- * Format a single entity response
41
- */
42
- protected formatDetailResponse(entity: any, entityName: string): string;
43
- /**
44
- * Format a success response for create/update operations
45
- */
46
- protected formatSuccessResponse(action: string, entityName: string, entity: any): string;
47
- /**
48
- * Handle errors consistently across all tools
49
- */
50
- protected handleError(error: unknown, operation: string): never;
51
- /**
52
- * Validate required parameters
53
- */
54
- protected validateRequiredParams(params: any, requiredFields: string[]): void;
55
- /**
56
- * Create common pagination parameters
57
- */
58
- protected getPaginationParameters(): ToolParameter[];
59
- /**
60
- * Create common status parameter
61
- */
62
- protected getStatusParameter(validStatuses: string[]): ToolParameter;
63
- /**
64
- * Create site parameter for multi-site support
65
- */
66
- protected getSiteParameter(): ToolParameter;
67
- /**
68
- * Get the list of tools provided by this class
69
- */
70
- abstract getTools(): MCPTool[];
71
- /**
72
- * Handle a tool request
73
- */
74
- abstract handleTool(toolName: string, client: WordPressClient, params: any): Promise<string>;
75
- }
76
- //# sourceMappingURL=BaseToolClass.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseToolClass.d.ts","sourceRoot":"","sources":["../../src/tools/BaseToolClass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,MAAM;IAC1D,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;AAED;;;GAGG;AACH,8BAAsB,aAAa;IACjC;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAC5B,KAAK,EAAE,CAAC,EAAE,EACV,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC9B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM;IAYT;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAevE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM;IAMxF;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK;IAK/D;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ7E;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,aAAa,EAAE;IAoBpD;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,aAAa;IASpE;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,aAAa;IAQ3C;;OAEG;aACa,QAAQ,IAAI,OAAO,EAAE;IAErC;;OAEG;aACa,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CACpG"}
@@ -1,104 +0,0 @@
1
- import { getErrorMessage } from '../utils/error.js';
2
- /**
3
- * Base class for all WordPress tool implementations
4
- * Provides common functionality and patterns used across tool classes
5
- */
6
- export class BaseToolClass {
7
- /**
8
- * Format a list response with consistent styling
9
- */
10
- formatListResponse(items, entityName, formatter, totalCount) {
11
- if (items.length === 0) {
12
- return `No ${entityName} found matching the criteria.`;
13
- }
14
- const countText = totalCount !== undefined
15
- ? `Found ${items.length} of ${totalCount} ${entityName}:`
16
- : `Found ${items.length} ${entityName}:`;
17
- return `${countText}\n\n${items.map(formatter).join('\n')}`;
18
- }
19
- /**
20
- * Format a single entity response
21
- */
22
- formatDetailResponse(entity, entityName) {
23
- const details = Object.entries(entity)
24
- .filter(([key, value]) => value !== null && value !== undefined)
25
- .map(([key, value]) => {
26
- const displayKey = key.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase());
27
- if (typeof value === 'object') {
28
- return `${displayKey}: ${JSON.stringify(value, null, 2)}`;
29
- }
30
- return `${displayKey}: ${value}`;
31
- })
32
- .join('\n');
33
- return `${entityName} Details:\n\n${details}`;
34
- }
35
- /**
36
- * Format a success response for create/update operations
37
- */
38
- formatSuccessResponse(action, entityName, entity) {
39
- const id = entity.id || entity.term_id || 'unknown';
40
- const title = entity.title?.rendered || entity.name || entity.slug || 'Untitled';
41
- return `✅ ${entityName} ${action} successfully with ID: ${id}\nTitle: ${title}`;
42
- }
43
- /**
44
- * Handle errors consistently across all tools
45
- */
46
- handleError(error, operation) {
47
- const errorMessage = getErrorMessage(error);
48
- throw new Error(`Failed to ${operation}: ${errorMessage}`);
49
- }
50
- /**
51
- * Validate required parameters
52
- */
53
- validateRequiredParams(params, requiredFields) {
54
- for (const field of requiredFields) {
55
- if (params[field] === undefined || params[field] === null || params[field] === '') {
56
- throw new Error(`Missing required parameter: ${field}`);
57
- }
58
- }
59
- }
60
- /**
61
- * Create common pagination parameters
62
- */
63
- getPaginationParameters() {
64
- return [
65
- {
66
- name: 'per_page',
67
- type: 'number',
68
- description: 'Number of items to return per page (max 100).'
69
- },
70
- {
71
- name: 'page',
72
- type: 'number',
73
- description: 'Page number to retrieve (1-based).'
74
- },
75
- {
76
- name: 'search',
77
- type: 'string',
78
- description: 'Limit results to those matching a search term.'
79
- }
80
- ];
81
- }
82
- /**
83
- * Create common status parameter
84
- */
85
- getStatusParameter(validStatuses) {
86
- return {
87
- name: 'status',
88
- type: 'string',
89
- description: 'Filter by status.',
90
- enum: validStatuses
91
- };
92
- }
93
- /**
94
- * Create site parameter for multi-site support
95
- */
96
- getSiteParameter() {
97
- return {
98
- name: 'site',
99
- type: 'string',
100
- description: 'Site identifier for multi-site configurations.'
101
- };
102
- }
103
- }
104
- //# sourceMappingURL=BaseToolClass.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseToolClass.js","sourceRoot":"","sources":["../../src/tools/BaseToolClass.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import { WordPressClient } from "../client/api.js";
2
- /**
3
- * Base class for all WordPress tool categories.
4
- * Provides common functionality and error handling for tool implementations.
5
- */
6
- export declare abstract class BaseToolClass {
7
- protected client: WordPressClient;
8
- constructor(client: WordPressClient);
9
- /**
10
- * Abstract method that must be implemented by subclasses to return their tool definitions.
11
- * @returns An array of MCPTool definitions.
12
- */
13
- abstract getTools(): any[];
14
- /**
15
- * Common error handler for all tools.
16
- * @param error The error to handle
17
- * @param operation The operation that failed
18
- * @throws Error with formatted message
19
- */
20
- protected handleError(error: unknown, operation: string): never;
21
- /**
22
- * Validates required parameters are not undefined or null.
23
- * @param params Object containing parameters to validate
24
- * @param required Array of required parameter names
25
- * @throws Error if any required parameter is missing
26
- */
27
- protected validateRequiredParams(params: Record<string, any>, required: string[]): void;
28
- /**
29
- * Resolves the appropriate WordPress client for multi-site support.
30
- * @param site Optional site ID for multi-site configurations
31
- * @param clients Map of site IDs to WordPress clients
32
- * @returns The resolved WordPress client
33
- * @throws Error if site is not found or ambiguous
34
- */
35
- protected resolveClient(site: string | undefined, clients: Map<string, WordPressClient>): WordPressClient;
36
- }
37
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/tools/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;GAGG;AACH,8BAAsB,aAAa;IACrB,SAAS,CAAC,MAAM,EAAE,eAAe;gBAAvB,MAAM,EAAE,eAAe;IAE7C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE;IAE1B;;;;;OAKG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK;IAI/D;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAQvF;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CACrB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GACpC,eAAe;CA6BnB"}
@@ -1,60 +0,0 @@
1
- import { getErrorMessage } from "../utils/error.js";
2
- /**
3
- * Base class for all WordPress tool categories.
4
- * Provides common functionality and error handling for tool implementations.
5
- */
6
- export class BaseToolClass {
7
- client;
8
- constructor(client) {
9
- this.client = client;
10
- }
11
- /**
12
- * Common error handler for all tools.
13
- * @param error The error to handle
14
- * @param operation The operation that failed
15
- * @throws Error with formatted message
16
- */
17
- handleError(error, operation) {
18
- throw new Error(`Failed to ${operation}: ${getErrorMessage(error)}`);
19
- }
20
- /**
21
- * Validates required parameters are not undefined or null.
22
- * @param params Object containing parameters to validate
23
- * @param required Array of required parameter names
24
- * @throws Error if any required parameter is missing
25
- */
26
- validateRequiredParams(params, required) {
27
- for (const param of required) {
28
- if (params[param] === undefined || params[param] === null) {
29
- throw new Error(`Missing required parameter: ${param}`);
30
- }
31
- }
32
- }
33
- /**
34
- * Resolves the appropriate WordPress client for multi-site support.
35
- * @param site Optional site ID for multi-site configurations
36
- * @param clients Map of site IDs to WordPress clients
37
- * @returns The resolved WordPress client
38
- * @throws Error if site is not found or ambiguous
39
- */
40
- resolveClient(site, clients) {
41
- if (clients.size === 0) {
42
- throw new Error("No WordPress clients configured");
43
- }
44
- if (clients.size === 1 && !site) {
45
- return Array.from(clients.values())[0];
46
- }
47
- if (!site && clients.size > 1) {
48
- throw new Error(`Multiple sites configured. Please specify --site parameter with one of: ${Array.from(clients.keys()).join(", ")}`);
49
- }
50
- if (site) {
51
- const client = clients.get(site);
52
- if (!client) {
53
- throw new Error(`Site "${site}" not found. Available sites: ${Array.from(clients.keys()).join(", ")}`);
54
- }
55
- return client;
56
- }
57
- return this.client;
58
- }
59
- }
60
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/tools/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAgB,aAAa;IACX;IAAtB,YAAsB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAQjD;;;;;OAKG;IACO,WAAW,CAAC,KAAc,EAAE,SAAiB;QACrD,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACO,sBAAsB,CAAC,MAA2B,EAAE,QAAkB;QAC9E,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,aAAa,CACrB,IAAwB,EACxB,OAAqC;QAErC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,2EAA2E,KAAK,CAAC,IAAI,CACnF,OAAO,CAAC,IAAI,EAAE,CACf,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACf,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,iCAAiC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
@@ -1,187 +0,0 @@
1
- # Claude Desktop Integration Setup
2
-
3
- ## ✅ Setup Status: COMPLETE
4
-
5
- Your WordPress MCP server is successfully configured for Claude Desktop integration!
6
-
7
- ## 📋 Verification Summary
8
-
9
- ### System Health Check Results
10
-
11
- - **Node Environment**: ✅ PASS (Node.js v24.3.0, NPM 11.4.2)
12
- - **Project Structure**: ✅ PASS (All required files found)
13
- - **Dependencies**: ✅ PASS (All packages installed)
14
- - **Environment Config**: ✅ PASS (WordPress credentials configured)
15
- - **TypeScript Build**: ✅ PASS (Compilation successful)
16
- - **Compiled Output**: ✅ PASS (All tools available)
17
-
18
- ### WordPress Connection
19
-
20
- - **Site**: https://example.com
21
- - **User**: wordpress_user
22
- - **Authentication**: Application Password (Recommended method)
23
- - **API Access**: ✅ Verified
24
- - **Permissions**: ✅ Verified
25
-
26
- ### Available Tools (54 total)
27
-
28
- - **Posts**: 6 tools (create, read, update, delete, list, search)
29
- - **Pages**: 6 tools (create, read, update, delete, list, search)
30
- - **Media**: 6 tools (upload, list, get, update, delete, search)
31
- - **Users**: 6 tools (list, get, create, update, delete, current)
32
- - **Comments**: 7 tools (list, get, create, update, delete, approve, spam)
33
- - **Taxonomies**: 10 tools (categories, tags, custom taxonomies)
34
- - **Site**: 7 tools (settings, stats, search, health, info, backup)
35
- - **Auth**: 6 tools (test, status, passwords, validate, refresh)
36
-
37
- ## 🔧 Claude Desktop Configuration
38
-
39
- Your Claude Desktop configuration has been updated at:
40
- ```
41
- ~/Library/Application Support/Claude/claude_desktop_config.json
42
- ```
43
-
44
- ### WordPress MCP Server Entry
45
-
46
- ```json
47
- {
48
- "mcpServers": {
49
- "mcp-wordpress": {
50
- "command": "node",
51
- "args": ["/path/to/your/mcp-wordpress/dist/index.js"],
52
- "env": {
53
- "WORDPRESS_SITE_URL": "https://example.com",
54
- "WORDPRESS_USERNAME": "your_username",
55
- "WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
56
- "WORDPRESS_AUTH_METHOD": "app-password"
57
- }
58
- }
59
- }
60
- }
61
- ```
62
-
63
- ## 🚀 Next Steps
64
-
65
- ### 1. Restart Claude Desktop
66
-
67
- Close and reopen Claude Desktop to load the new MCP server configuration.
68
-
69
- ### 2. Verify Integration
70
-
71
- Once Claude Desktop restarts, you should see WordPress tools available. Test with:
72
-
73
- - "List my WordPress posts"
74
- - "Show me my site statistics"
75
- - "What categories do I have?"
76
-
77
- ### 3. Test Commands Examples
78
-
79
- ```text
80
- # Content Management
81
- - "Create a new blog post about AI and WordPress"
82
- - "Show me my most recent posts"
83
- - "Upload an image to my media library"
84
-
85
- # Site Management
86
- - "What are my site settings?"
87
- - "Show me comment moderation queue"
88
- - "List all users on my site"
89
-
90
- # Analytics & Monitoring
91
- - "Get my site statistics"
92
- - "Check WordPress authentication status"
93
- - "Search my site for content about 'technology'"
94
- ```
95
-
96
- ## 🛠️ Development Commands
97
-
98
- ### Quick Status Check
99
-
100
- ```bash
101
- npm run status # Check WordPress connection
102
- npm run health # Full system health check
103
- npm run verify-claude # Verify Claude Desktop integration
104
- ```
105
-
106
- ### Testing
107
-
108
- ```bash
109
- npm run test:tools # Test all 54 WordPress tools
110
- npm run test:auth # Test authentication methods
111
- npm run test:typescript # Run TypeScript compilation tests
112
- ```
113
-
114
- ### Maintenance
115
-
116
- ```bash
117
- npm run build # Rebuild TypeScript
118
- npm run setup # Reconfigure settings
119
- npm start # Start MCP server manually
120
- ```
121
-
122
- ## 🔐 Security & Authentication
123
-
124
- ### Current Setup
125
-
126
- - **Method**: Application Password (Most secure)
127
- - **User**: wordpress_user (Dedicated MCP user)
128
- - **Permissions**: Full WordPress REST API access
129
- - **Security**: Credentials stored in environment variables
130
-
131
- ### Best Practices
132
-
133
- - ✅ Using Application Passwords (WordPress 5.6+ built-in)
134
- - ✅ Dedicated user account for MCP access
135
- - ✅ Credentials secured in environment variables
136
- - ✅ No hardcoded credentials in configuration
137
-
138
- ## 🐛 Troubleshooting
139
-
140
- ### If WordPress Tools Don't Appear
141
-
142
- 1. Check Claude Desktop logs in Console.app
143
- 2. Verify configuration file syntax
144
- 3. Restart Claude Desktop completely
145
- 4. Run `npm run verify-claude` to check setup
146
-
147
- ### Authentication Issues
148
-
149
- ```bash
150
- npm run test:auth # Test WordPress connection
151
- ./scripts/wp-auth-check.sh # Verify credentials
152
- ```
153
-
154
- ### Build Issues
155
-
156
- ```bash
157
- npm run build # Rebuild TypeScript
158
- npm run health # Check compilation status
159
- ```
160
-
161
- ## 📚 Additional Resources
162
-
163
- ### Documentation
164
-
165
- - [WordPress REST API Documentation](https://developer.wordpress.org/rest-api/)
166
- - [Model Context Protocol Specification](https://modelcontextprotocol.io/)
167
- - [Claude Desktop MCP Configuration](https://docs.anthropic.com/claude/docs/mcp)
168
-
169
- ### Support Commands
170
-
171
- ```bash
172
- npm run setup # Interactive setup wizard
173
- npm run status # Connection diagnostics
174
- npm run health # Comprehensive health check
175
- npm run verify-claude # Claude Desktop integration check
176
- ```
177
-
178
- ---
179
-
180
- ## ✨ Integration Complete!
181
-
182
- Your WordPress MCP server is now fully integrated with Claude Desktop. You can manage your WordPress site directly through Claude Desktop conversations using natural language commands.
183
-
184
- **Last Verified**: June 27, 2025
185
- **WordPress Site**: <https://example.com>
186
- **MCP Server Version**: 1.1.0
187
- **Health Status**: 100% ✅