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,4 +1,4 @@
1
- import { getErrorMessage } from '../utils/error.js';
1
+ import { getErrorMessage } from "../utils/error.js";
2
2
  /**
3
3
  * Provides tools for managing general site settings and operations on a WordPress site.
4
4
  * This class encapsulates tool definitions and their corresponding handlers.
@@ -11,103 +11,103 @@ export class SiteTools {
11
11
  getTools() {
12
12
  return [
13
13
  {
14
- name: 'wp_get_site_settings',
15
- description: 'Retrieves the general settings for a WordPress site.',
14
+ name: "wp_get_site_settings",
15
+ description: "Retrieves the general settings for a WordPress site.",
16
16
  parameters: [],
17
- handler: this.handleGetSiteSettings.bind(this)
17
+ handler: this.handleGetSiteSettings.bind(this),
18
18
  },
19
19
  {
20
- name: 'wp_update_site_settings',
21
- description: 'Updates one or more general settings for a WordPress site.',
20
+ name: "wp_update_site_settings",
21
+ description: "Updates one or more general settings for a WordPress site.",
22
22
  parameters: [
23
23
  {
24
- name: 'title',
25
- type: 'string',
26
- description: 'The title of the site.'
24
+ name: "title",
25
+ type: "string",
26
+ description: "The title of the site.",
27
27
  },
28
28
  {
29
- name: 'description',
30
- type: 'string',
31
- description: 'The tagline or description of the site.'
29
+ name: "description",
30
+ type: "string",
31
+ description: "The tagline or description of the site.",
32
32
  },
33
33
  {
34
- name: 'timezone',
35
- type: 'string',
36
- description: 'A city in the same timezone, e.g., \'America/New_York\'.'
37
- }
34
+ name: "timezone",
35
+ type: "string",
36
+ description: "A city in the same timezone, e.g., 'America/New_York'.",
37
+ },
38
38
  ],
39
- handler: this.handleUpdateSiteSettings.bind(this)
39
+ handler: this.handleUpdateSiteSettings.bind(this),
40
40
  },
41
41
  {
42
- name: 'wp_search_site',
43
- description: 'Performs a site-wide search for content.',
42
+ name: "wp_search_site",
43
+ description: "Performs a site-wide search for content.",
44
44
  parameters: [
45
45
  {
46
- name: 'term',
47
- type: 'string',
46
+ name: "term",
47
+ type: "string",
48
48
  required: true,
49
- description: 'The search term to look for.'
49
+ description: "The search term to look for.",
50
50
  },
51
51
  {
52
- name: 'type',
53
- type: 'string',
54
- description: 'The type of content to search.',
55
- enum: ['posts', 'pages', 'media']
56
- }
52
+ name: "type",
53
+ type: "string",
54
+ description: "The type of content to search.",
55
+ enum: ["posts", "pages", "media"],
56
+ },
57
57
  ],
58
- handler: this.handleSearchSite.bind(this)
58
+ handler: this.handleSearchSite.bind(this),
59
59
  },
60
60
  {
61
- name: 'wp_get_application_passwords',
62
- description: 'Lists application passwords for a specific user.',
61
+ name: "wp_get_application_passwords",
62
+ description: "Lists application passwords for a specific user.",
63
63
  parameters: [
64
64
  {
65
- name: 'user_id',
66
- type: 'number',
65
+ name: "user_id",
66
+ type: "number",
67
67
  required: true,
68
- description: 'The ID of the user to get application passwords for.'
69
- }
68
+ description: "The ID of the user to get application passwords for.",
69
+ },
70
70
  ],
71
- handler: this.handleGetApplicationPasswords.bind(this)
71
+ handler: this.handleGetApplicationPasswords.bind(this),
72
72
  },
73
73
  {
74
- name: 'wp_create_application_password',
75
- description: 'Creates a new application password for a user.',
74
+ name: "wp_create_application_password",
75
+ description: "Creates a new application password for a user.",
76
76
  parameters: [
77
77
  {
78
- name: 'user_id',
79
- type: 'number',
78
+ name: "user_id",
79
+ type: "number",
80
80
  required: true,
81
- description: 'The ID of the user to create the password for.'
81
+ description: "The ID of the user to create the password for.",
82
82
  },
83
83
  {
84
- name: 'app_name',
85
- type: 'string',
84
+ name: "app_name",
85
+ type: "string",
86
86
  required: true,
87
- description: 'The name of the application this password is for.'
88
- }
87
+ description: "The name of the application this password is for.",
88
+ },
89
89
  ],
90
- handler: this.handleCreateApplicationPassword.bind(this)
90
+ handler: this.handleCreateApplicationPassword.bind(this),
91
91
  },
92
92
  {
93
- name: 'wp_delete_application_password',
94
- description: 'Revokes an existing application password.',
93
+ name: "wp_delete_application_password",
94
+ description: "Revokes an existing application password.",
95
95
  parameters: [
96
96
  {
97
- name: 'user_id',
98
- type: 'number',
97
+ name: "user_id",
98
+ type: "number",
99
99
  required: true,
100
- description: 'The ID of the user who owns the password.'
100
+ description: "The ID of the user who owns the password.",
101
101
  },
102
102
  {
103
- name: 'uuid',
104
- type: 'string',
103
+ name: "uuid",
104
+ type: "string",
105
105
  required: true,
106
- description: 'The UUID of the application password to revoke.'
107
- }
106
+ description: "The UUID of the application password to revoke.",
107
+ },
108
108
  ],
109
- handler: this.handleDeleteApplicationPassword.bind(this)
110
- }
109
+ handler: this.handleDeleteApplicationPassword.bind(this),
110
+ },
111
111
  ];
112
112
  }
113
113
  async handleGetSiteSettings(client, params) {
@@ -142,7 +142,7 @@ export class SiteTools {
142
142
  const content = `Found ${results.length} results for "${params.term}":\n\n` +
143
143
  results
144
144
  .map((r) => `- [${r.type}] **${r.title}**\n Link: ${r.url}`)
145
- .join('\n');
145
+ .join("\n");
146
146
  return content;
147
147
  }
148
148
  catch (error) {
@@ -158,7 +158,7 @@ export class SiteTools {
158
158
  const content = `Found ${passwords.length} application passwords for user ID ${params.user_id}:\n\n` +
159
159
  passwords
160
160
  .map((p) => `- **${p.name}** (UUID: ${p.uuid})\n Created: ${new Date(p.created).toLocaleDateString()}`)
161
- .join('\n');
161
+ .join("\n");
162
162
  return content;
163
163
  }
164
164
  catch (error) {
@@ -168,10 +168,10 @@ export class SiteTools {
168
168
  async handleCreateApplicationPassword(client, params) {
169
169
  try {
170
170
  const result = await client.createApplicationPassword(params.user_id, params.app_name);
171
- const content = '✅ **Application password created successfully!**\n\n' +
171
+ const content = "✅ **Application password created successfully!**\n\n" +
172
172
  `**Name:** ${result.name}\n` +
173
173
  `**Password:** \`${result.password}\`\n\n` +
174
- '**IMPORTANT:** This password is shown only once. Please save it securely.';
174
+ "**IMPORTANT:** This password is shown only once. Please save it securely.";
175
175
  return content;
176
176
  }
177
177
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/tools/site.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/tools/site.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { WordPressClient } from '../client/api.js';
2
- import { CreateCategoryRequest, CreateTagRequest, UpdateCategoryRequest, UpdateTagRequest } from '../types/wordpress.js';
1
+ import { WordPressClient } from "../client/api.js";
2
+ import { CreateCategoryRequest, CreateTagRequest, UpdateCategoryRequest, UpdateTagRequest } from "../types/wordpress.js";
3
3
  /**
4
4
  * Provides tools for managing taxonomies (categories and tags) on a WordPress site.
5
5
  * This class encapsulates tool definitions and their corresponding handlers.
@@ -1,4 +1,4 @@
1
- import { getErrorMessage } from '../utils/error.js';
1
+ import { getErrorMessage } from "../utils/error.js";
2
2
  /**
3
3
  * Provides tools for managing taxonomies (categories and tags) on a WordPress site.
4
4
  * This class encapsulates tool definitions and their corresponding handlers.
@@ -12,166 +12,166 @@ export class TaxonomyTools {
12
12
  return [
13
13
  // Categories
14
14
  {
15
- name: 'wp_list_categories',
16
- description: 'Lists categories from a WordPress site.',
15
+ name: "wp_list_categories",
16
+ description: "Lists categories from a WordPress site.",
17
17
  parameters: [
18
18
  {
19
- name: 'search',
20
- type: 'string',
21
- description: 'Limit results to those matching a search term.'
19
+ name: "search",
20
+ type: "string",
21
+ description: "Limit results to those matching a search term.",
22
22
  },
23
23
  {
24
- name: 'hide_empty',
25
- type: 'boolean',
26
- description: 'Whether to hide categories with no posts.'
27
- }
24
+ name: "hide_empty",
25
+ type: "boolean",
26
+ description: "Whether to hide categories with no posts.",
27
+ },
28
28
  ],
29
- handler: this.handleListCategories.bind(this)
29
+ handler: this.handleListCategories.bind(this),
30
30
  },
31
31
  {
32
- name: 'wp_get_category',
33
- description: 'Retrieves a single category by its ID.',
32
+ name: "wp_get_category",
33
+ description: "Retrieves a single category by its ID.",
34
34
  parameters: [
35
35
  {
36
- name: 'id',
37
- type: 'number',
36
+ name: "id",
37
+ type: "number",
38
38
  required: true,
39
- description: 'The unique identifier for the category.'
40
- }
39
+ description: "The unique identifier for the category.",
40
+ },
41
41
  ],
42
- handler: this.handleGetCategory.bind(this)
42
+ handler: this.handleGetCategory.bind(this),
43
43
  },
44
44
  {
45
- name: 'wp_create_category',
46
- description: 'Creates a new category.',
45
+ name: "wp_create_category",
46
+ description: "Creates a new category.",
47
47
  parameters: [
48
48
  {
49
- name: 'name',
50
- type: 'string',
49
+ name: "name",
50
+ type: "string",
51
51
  required: true,
52
- description: 'The name of the category.'
52
+ description: "The name of the category.",
53
53
  },
54
54
  {
55
- name: 'description',
56
- type: 'string',
57
- description: 'The description for the category.'
58
- }
55
+ name: "description",
56
+ type: "string",
57
+ description: "The description for the category.",
58
+ },
59
59
  ],
60
- handler: this.handleCreateCategory.bind(this)
60
+ handler: this.handleCreateCategory.bind(this),
61
61
  },
62
62
  {
63
- name: 'wp_update_category',
64
- description: 'Updates an existing category.',
63
+ name: "wp_update_category",
64
+ description: "Updates an existing category.",
65
65
  parameters: [
66
66
  {
67
- name: 'id',
68
- type: 'number',
67
+ name: "id",
68
+ type: "number",
69
69
  required: true,
70
- description: 'The ID of the category to update.'
70
+ description: "The ID of the category to update.",
71
71
  },
72
72
  {
73
- name: 'name',
74
- type: 'string',
75
- description: 'The new name for the category.'
76
- }
73
+ name: "name",
74
+ type: "string",
75
+ description: "The new name for the category.",
76
+ },
77
77
  ],
78
- handler: this.handleUpdateCategory.bind(this)
78
+ handler: this.handleUpdateCategory.bind(this),
79
79
  },
80
80
  {
81
- name: 'wp_delete_category',
82
- description: 'Deletes a category.',
81
+ name: "wp_delete_category",
82
+ description: "Deletes a category.",
83
83
  parameters: [
84
84
  {
85
- name: 'id',
86
- type: 'number',
85
+ name: "id",
86
+ type: "number",
87
87
  required: true,
88
- description: 'The ID of the category to delete.'
89
- }
88
+ description: "The ID of the category to delete.",
89
+ },
90
90
  ],
91
- handler: this.handleDeleteCategory.bind(this)
91
+ handler: this.handleDeleteCategory.bind(this),
92
92
  },
93
93
  // Tags
94
94
  {
95
- name: 'wp_list_tags',
96
- description: 'Lists tags from a WordPress site.',
95
+ name: "wp_list_tags",
96
+ description: "Lists tags from a WordPress site.",
97
97
  parameters: [
98
98
  {
99
- name: 'search',
100
- type: 'string',
101
- description: 'Limit results to those matching a search term.'
102
- }
99
+ name: "search",
100
+ type: "string",
101
+ description: "Limit results to those matching a search term.",
102
+ },
103
103
  ],
104
- handler: this.handleListTags.bind(this)
104
+ handler: this.handleListTags.bind(this),
105
105
  },
106
106
  {
107
- name: 'wp_get_tag',
108
- description: 'Retrieves a single tag by its ID.',
107
+ name: "wp_get_tag",
108
+ description: "Retrieves a single tag by its ID.",
109
109
  parameters: [
110
110
  {
111
- name: 'id',
112
- type: 'number',
111
+ name: "id",
112
+ type: "number",
113
113
  required: true,
114
- description: 'The unique identifier for the tag.'
115
- }
114
+ description: "The unique identifier for the tag.",
115
+ },
116
116
  ],
117
- handler: this.handleGetTag.bind(this)
117
+ handler: this.handleGetTag.bind(this),
118
118
  },
119
119
  {
120
- name: 'wp_create_tag',
121
- description: 'Creates a new tag.',
120
+ name: "wp_create_tag",
121
+ description: "Creates a new tag.",
122
122
  parameters: [
123
123
  {
124
- name: 'name',
125
- type: 'string',
124
+ name: "name",
125
+ type: "string",
126
126
  required: true,
127
- description: 'The name of the tag.'
128
- }
127
+ description: "The name of the tag.",
128
+ },
129
129
  ],
130
- handler: this.handleCreateTag.bind(this)
130
+ handler: this.handleCreateTag.bind(this),
131
131
  },
132
132
  {
133
- name: 'wp_update_tag',
134
- description: 'Updates an existing tag.',
133
+ name: "wp_update_tag",
134
+ description: "Updates an existing tag.",
135
135
  parameters: [
136
136
  {
137
- name: 'id',
138
- type: 'number',
137
+ name: "id",
138
+ type: "number",
139
139
  required: true,
140
- description: 'The ID of the tag to update.'
140
+ description: "The ID of the tag to update.",
141
141
  },
142
142
  {
143
- name: 'name',
144
- type: 'string',
145
- description: 'The new name for the tag.'
146
- }
143
+ name: "name",
144
+ type: "string",
145
+ description: "The new name for the tag.",
146
+ },
147
147
  ],
148
- handler: this.handleUpdateTag.bind(this)
148
+ handler: this.handleUpdateTag.bind(this),
149
149
  },
150
150
  {
151
- name: 'wp_delete_tag',
152
- description: 'Deletes a tag.',
151
+ name: "wp_delete_tag",
152
+ description: "Deletes a tag.",
153
153
  parameters: [
154
154
  {
155
- name: 'id',
156
- type: 'number',
155
+ name: "id",
156
+ type: "number",
157
157
  required: true,
158
- description: 'The ID of the tag to delete.'
159
- }
158
+ description: "The ID of the tag to delete.",
159
+ },
160
160
  ],
161
- handler: this.handleDeleteTag.bind(this)
162
- }
161
+ handler: this.handleDeleteTag.bind(this),
162
+ },
163
163
  ];
164
164
  }
165
165
  async handleListCategories(client, params) {
166
166
  try {
167
167
  const categories = await client.getCategories(params);
168
168
  if (categories.length === 0) {
169
- return 'No categories found.';
169
+ return "No categories found.";
170
170
  }
171
171
  const content = `Found ${categories.length} categories:\n\n` +
172
172
  categories
173
173
  .map((c) => `- ID ${c.id}: **${c.name}** (Posts: ${c.count})`)
174
- .join('\n');
174
+ .join("\n");
175
175
  return content;
176
176
  }
177
177
  catch (error) {
@@ -184,7 +184,7 @@ export class TaxonomyTools {
184
184
  const content = `**Category Details (ID: ${category.id})**\n\n` +
185
185
  `- **Name:** ${category.name}\n` +
186
186
  `- **Slug:** ${category.slug}\n` +
187
- `- **Description:** ${category.description || 'None'}\n` +
187
+ `- **Description:** ${category.description || "None"}\n` +
188
188
  `- **Post Count:** ${category.count}`;
189
189
  return content;
190
190
  }
@@ -223,12 +223,12 @@ export class TaxonomyTools {
223
223
  try {
224
224
  const tags = await client.getTags(params);
225
225
  if (tags.length === 0) {
226
- return 'No tags found.';
226
+ return "No tags found.";
227
227
  }
228
228
  const content = `Found ${tags.length} tags:\n\n` +
229
229
  tags
230
230
  .map((t) => `- ID ${t.id}: **${t.name}** (Posts: ${t.count})`)
231
- .join('\n');
231
+ .join("\n");
232
232
  return content;
233
233
  }
234
234
  catch (error) {
@@ -1,5 +1,5 @@
1
- import { WordPressClient } from '../client/api.js';
2
- import { CreateUserRequest, UpdateUserRequest, UserQueryParams } from '../types/wordpress.js';
1
+ import { WordPressClient } from "../client/api.js";
2
+ import { CreateUserRequest, UpdateUserRequest, UserQueryParams } from "../types/wordpress.js";
3
3
  /**
4
4
  * Provides tools for managing users on a WordPress site.
5
5
  * This class encapsulates tool definitions and their corresponding handlers.