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,3305 @@
1
+ {
2
+ "openapi": "3.0.3",
3
+ "info": {
4
+ "title": "WordPress MCP Server API",
5
+ "description": "Model Context Protocol server for WordPress management",
6
+ "version": "1.2.0",
7
+ "contact": {
8
+ "name": "MCP WordPress",
9
+ "url": "https://github.com/docdyhr/mcp-wordpress"
10
+ },
11
+ "license": {
12
+ "name": "MIT",
13
+ "url": "https://opensource.org/licenses/MIT"
14
+ }
15
+ },
16
+ "paths": {
17
+ "/tools/wp_approve_comment": {
18
+ "post": {
19
+ "summary": "Approves a pending comment.",
20
+ "description": "Execute wp_approve_comment MCP tool",
21
+ "tags": [
22
+ "comment"
23
+ ],
24
+ "requestBody": {
25
+ "required": true,
26
+ "content": {
27
+ "application/json": {
28
+ "schema": {
29
+ "type": "object",
30
+ "properties": {
31
+ "id": {
32
+ "type": "number",
33
+ "description": "The ID of the comment to approve."
34
+ }
35
+ },
36
+ "required": [
37
+ "id"
38
+ ]
39
+ }
40
+ }
41
+ }
42
+ },
43
+ "responses": {
44
+ "200": {
45
+ "description": "Successful response",
46
+ "content": {
47
+ "application/json": {
48
+ "schema": {
49
+ "type": "object"
50
+ }
51
+ }
52
+ }
53
+ },
54
+ "400": {
55
+ "description": "Bad request - invalid parameters"
56
+ },
57
+ "401": {
58
+ "description": "Authentication failed"
59
+ },
60
+ "500": {
61
+ "description": "Internal server error"
62
+ }
63
+ }
64
+ }
65
+ },
66
+ "/tools/wp_cache_clear": {
67
+ "post": {
68
+ "summary": "Clear cache for a WordPress site.",
69
+ "description": "Execute wp_cache_clear MCP tool",
70
+ "tags": [
71
+ "cache"
72
+ ],
73
+ "requestBody": {
74
+ "required": true,
75
+ "content": {
76
+ "application/json": {
77
+ "schema": {
78
+ "type": "object",
79
+ "properties": {
80
+ "site": {
81
+ "type": "string",
82
+ "description": "Site ID to clear cache for."
83
+ },
84
+ "pattern": {
85
+ "type": "string",
86
+ "description": "Optional pattern to clear specific cache entries (e.g., \"posts\", \"categories\")."
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ },
93
+ "responses": {
94
+ "200": {
95
+ "description": "Successful response",
96
+ "content": {
97
+ "application/json": {
98
+ "schema": {
99
+ "type": "object"
100
+ }
101
+ }
102
+ }
103
+ },
104
+ "400": {
105
+ "description": "Bad request - invalid parameters"
106
+ },
107
+ "401": {
108
+ "description": "Authentication failed"
109
+ },
110
+ "500": {
111
+ "description": "Internal server error"
112
+ }
113
+ }
114
+ }
115
+ },
116
+ "/tools/wp_cache_info": {
117
+ "post": {
118
+ "summary": "Get detailed cache configuration and status information.",
119
+ "description": "Execute wp_cache_info MCP tool",
120
+ "tags": [
121
+ "cache"
122
+ ],
123
+ "requestBody": {
124
+ "required": true,
125
+ "content": {
126
+ "application/json": {
127
+ "schema": {
128
+ "type": "object",
129
+ "properties": {
130
+ "site": {
131
+ "type": "string",
132
+ "description": "Site ID to get cache info for."
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ },
139
+ "responses": {
140
+ "200": {
141
+ "description": "Successful response",
142
+ "content": {
143
+ "application/json": {
144
+ "schema": {
145
+ "type": "object"
146
+ }
147
+ }
148
+ }
149
+ },
150
+ "400": {
151
+ "description": "Bad request - invalid parameters"
152
+ },
153
+ "401": {
154
+ "description": "Authentication failed"
155
+ },
156
+ "500": {
157
+ "description": "Internal server error"
158
+ }
159
+ }
160
+ }
161
+ },
162
+ "/tools/wp_cache_stats": {
163
+ "post": {
164
+ "summary": "Get cache statistics for a WordPress site.",
165
+ "description": "Execute wp_cache_stats MCP tool",
166
+ "tags": [
167
+ "cache"
168
+ ],
169
+ "requestBody": {
170
+ "required": true,
171
+ "content": {
172
+ "application/json": {
173
+ "schema": {
174
+ "type": "object",
175
+ "properties": {
176
+ "site": {
177
+ "type": "string",
178
+ "description": "Site ID to get cache stats for. If not provided, uses default site or fails if multiple sites configured."
179
+ }
180
+ }
181
+ }
182
+ }
183
+ }
184
+ },
185
+ "responses": {
186
+ "200": {
187
+ "description": "Successful response",
188
+ "content": {
189
+ "application/json": {
190
+ "schema": {
191
+ "type": "object"
192
+ }
193
+ }
194
+ }
195
+ },
196
+ "400": {
197
+ "description": "Bad request - invalid parameters"
198
+ },
199
+ "401": {
200
+ "description": "Authentication failed"
201
+ },
202
+ "500": {
203
+ "description": "Internal server error"
204
+ }
205
+ }
206
+ }
207
+ },
208
+ "/tools/wp_cache_warm": {
209
+ "post": {
210
+ "summary": "Pre-warm cache with essential WordPress data.",
211
+ "description": "Execute wp_cache_warm MCP tool",
212
+ "tags": [
213
+ "cache"
214
+ ],
215
+ "requestBody": {
216
+ "required": true,
217
+ "content": {
218
+ "application/json": {
219
+ "schema": {
220
+ "type": "object",
221
+ "properties": {
222
+ "site": {
223
+ "type": "string",
224
+ "description": "Site ID to warm cache for."
225
+ }
226
+ }
227
+ }
228
+ }
229
+ }
230
+ },
231
+ "responses": {
232
+ "200": {
233
+ "description": "Successful response",
234
+ "content": {
235
+ "application/json": {
236
+ "schema": {
237
+ "type": "object"
238
+ }
239
+ }
240
+ }
241
+ },
242
+ "400": {
243
+ "description": "Bad request - invalid parameters"
244
+ },
245
+ "401": {
246
+ "description": "Authentication failed"
247
+ },
248
+ "500": {
249
+ "description": "Internal server error"
250
+ }
251
+ }
252
+ }
253
+ },
254
+ "/tools/wp_create_application_password": {
255
+ "post": {
256
+ "summary": "Creates a new application password for a user.",
257
+ "description": "Execute wp_create_application_password MCP tool",
258
+ "tags": [
259
+ "site"
260
+ ],
261
+ "requestBody": {
262
+ "required": true,
263
+ "content": {
264
+ "application/json": {
265
+ "schema": {
266
+ "type": "object",
267
+ "properties": {
268
+ "user_id": {
269
+ "type": "number",
270
+ "description": "The ID of the user to create the password for."
271
+ },
272
+ "app_name": {
273
+ "type": "string",
274
+ "description": "The name of the application this password is for."
275
+ }
276
+ },
277
+ "required": [
278
+ "user_id",
279
+ "app_name"
280
+ ]
281
+ }
282
+ }
283
+ }
284
+ },
285
+ "responses": {
286
+ "200": {
287
+ "description": "Successful response",
288
+ "content": {
289
+ "application/json": {
290
+ "schema": {
291
+ "type": "object"
292
+ }
293
+ }
294
+ }
295
+ },
296
+ "400": {
297
+ "description": "Bad request - invalid parameters"
298
+ },
299
+ "401": {
300
+ "description": "Authentication failed"
301
+ },
302
+ "500": {
303
+ "description": "Internal server error"
304
+ }
305
+ }
306
+ }
307
+ },
308
+ "/tools/wp_create_category": {
309
+ "post": {
310
+ "summary": "Creates a new category.",
311
+ "description": "Execute wp_create_category MCP tool",
312
+ "tags": [
313
+ "taxonomy"
314
+ ],
315
+ "requestBody": {
316
+ "required": true,
317
+ "content": {
318
+ "application/json": {
319
+ "schema": {
320
+ "type": "object",
321
+ "properties": {
322
+ "name": {
323
+ "type": "string",
324
+ "description": "The name of the category."
325
+ },
326
+ "description": {
327
+ "type": "string",
328
+ "description": "The description for the category."
329
+ }
330
+ },
331
+ "required": [
332
+ "name"
333
+ ]
334
+ }
335
+ }
336
+ }
337
+ },
338
+ "responses": {
339
+ "200": {
340
+ "description": "Successful response",
341
+ "content": {
342
+ "application/json": {
343
+ "schema": {
344
+ "type": "object"
345
+ }
346
+ }
347
+ }
348
+ },
349
+ "400": {
350
+ "description": "Bad request - invalid parameters"
351
+ },
352
+ "401": {
353
+ "description": "Authentication failed"
354
+ },
355
+ "500": {
356
+ "description": "Internal server error"
357
+ }
358
+ }
359
+ }
360
+ },
361
+ "/tools/wp_create_comment": {
362
+ "post": {
363
+ "summary": "Creates a new comment on a post.",
364
+ "description": "Execute wp_create_comment MCP tool",
365
+ "tags": [
366
+ "comment"
367
+ ],
368
+ "requestBody": {
369
+ "required": true,
370
+ "content": {
371
+ "application/json": {
372
+ "schema": {
373
+ "type": "object",
374
+ "properties": {
375
+ "post": {
376
+ "type": "number",
377
+ "description": "The ID of the post to comment on."
378
+ },
379
+ "content": {
380
+ "type": "string",
381
+ "description": "The content of the comment."
382
+ },
383
+ "author_name": {
384
+ "type": "string",
385
+ "description": "The name of the comment author."
386
+ },
387
+ "author_email": {
388
+ "type": "string",
389
+ "description": "The email of the comment author."
390
+ }
391
+ },
392
+ "required": [
393
+ "post",
394
+ "content"
395
+ ]
396
+ }
397
+ }
398
+ }
399
+ },
400
+ "responses": {
401
+ "200": {
402
+ "description": "Successful response",
403
+ "content": {
404
+ "application/json": {
405
+ "schema": {
406
+ "type": "object"
407
+ }
408
+ }
409
+ }
410
+ },
411
+ "400": {
412
+ "description": "Bad request - invalid parameters"
413
+ },
414
+ "401": {
415
+ "description": "Authentication failed"
416
+ },
417
+ "500": {
418
+ "description": "Internal server error"
419
+ }
420
+ }
421
+ }
422
+ },
423
+ "/tools/wp_create_page": {
424
+ "post": {
425
+ "summary": "Creates a new page.",
426
+ "description": "Execute wp_create_page MCP tool",
427
+ "tags": [
428
+ "page"
429
+ ],
430
+ "requestBody": {
431
+ "required": true,
432
+ "content": {
433
+ "application/json": {
434
+ "schema": {
435
+ "type": "object",
436
+ "properties": {
437
+ "title": {
438
+ "type": "string",
439
+ "description": "The title for the page."
440
+ },
441
+ "content": {
442
+ "type": "string",
443
+ "description": "The content for the page, in HTML format."
444
+ },
445
+ "status": {
446
+ "type": "string",
447
+ "description": "The publishing status for the page.",
448
+ "enum": [
449
+ "publish",
450
+ "draft",
451
+ "private",
452
+ "pending",
453
+ "future"
454
+ ],
455
+ "default": "publish"
456
+ }
457
+ },
458
+ "required": [
459
+ "title"
460
+ ]
461
+ }
462
+ }
463
+ }
464
+ },
465
+ "responses": {
466
+ "200": {
467
+ "description": "Successful response",
468
+ "content": {
469
+ "application/json": {
470
+ "schema": {
471
+ "type": "object"
472
+ }
473
+ }
474
+ }
475
+ },
476
+ "400": {
477
+ "description": "Bad request - invalid parameters"
478
+ },
479
+ "401": {
480
+ "description": "Authentication failed"
481
+ },
482
+ "500": {
483
+ "description": "Internal server error"
484
+ }
485
+ }
486
+ }
487
+ },
488
+ "/tools/wp_create_post": {
489
+ "post": {
490
+ "summary": "Creates a new post.",
491
+ "description": "Execute wp_create_post MCP tool",
492
+ "tags": [
493
+ "post"
494
+ ],
495
+ "requestBody": {
496
+ "required": true,
497
+ "content": {
498
+ "application/json": {
499
+ "schema": {
500
+ "type": "object",
501
+ "properties": {
502
+ "title": {
503
+ "type": "string",
504
+ "description": "The title for the post."
505
+ },
506
+ "content": {
507
+ "type": "string",
508
+ "description": "The content for the post, in HTML format."
509
+ },
510
+ "status": {
511
+ "type": "string",
512
+ "description": "The publishing status for the post.",
513
+ "enum": [
514
+ "publish",
515
+ "draft",
516
+ "private",
517
+ "pending",
518
+ "future"
519
+ ],
520
+ "default": "publish"
521
+ },
522
+ "excerpt": {
523
+ "type": "string",
524
+ "description": "The excerpt for the post."
525
+ },
526
+ "categories": {
527
+ "type": "array",
528
+ "description": "An array of category IDs to assign to the post."
529
+ },
530
+ "tags": {
531
+ "type": "array",
532
+ "description": "An array of tag IDs to assign to the post."
533
+ }
534
+ },
535
+ "required": [
536
+ "title"
537
+ ]
538
+ }
539
+ }
540
+ }
541
+ },
542
+ "responses": {
543
+ "200": {
544
+ "description": "Successful response",
545
+ "content": {
546
+ "application/json": {
547
+ "schema": {
548
+ "type": "object"
549
+ }
550
+ }
551
+ }
552
+ },
553
+ "400": {
554
+ "description": "Bad request - invalid parameters"
555
+ },
556
+ "401": {
557
+ "description": "Authentication failed"
558
+ },
559
+ "500": {
560
+ "description": "Internal server error"
561
+ }
562
+ }
563
+ }
564
+ },
565
+ "/tools/wp_create_tag": {
566
+ "post": {
567
+ "summary": "Creates a new tag.",
568
+ "description": "Execute wp_create_tag MCP tool",
569
+ "tags": [
570
+ "taxonomy"
571
+ ],
572
+ "requestBody": {
573
+ "required": true,
574
+ "content": {
575
+ "application/json": {
576
+ "schema": {
577
+ "type": "object",
578
+ "properties": {
579
+ "name": {
580
+ "type": "string",
581
+ "description": "The name of the tag."
582
+ }
583
+ },
584
+ "required": [
585
+ "name"
586
+ ]
587
+ }
588
+ }
589
+ }
590
+ },
591
+ "responses": {
592
+ "200": {
593
+ "description": "Successful response",
594
+ "content": {
595
+ "application/json": {
596
+ "schema": {
597
+ "type": "object"
598
+ }
599
+ }
600
+ }
601
+ },
602
+ "400": {
603
+ "description": "Bad request - invalid parameters"
604
+ },
605
+ "401": {
606
+ "description": "Authentication failed"
607
+ },
608
+ "500": {
609
+ "description": "Internal server error"
610
+ }
611
+ }
612
+ }
613
+ },
614
+ "/tools/wp_create_user": {
615
+ "post": {
616
+ "summary": "Creates a new user.",
617
+ "description": "Execute wp_create_user MCP tool",
618
+ "tags": [
619
+ "user"
620
+ ],
621
+ "requestBody": {
622
+ "required": true,
623
+ "content": {
624
+ "application/json": {
625
+ "schema": {
626
+ "type": "object",
627
+ "properties": {
628
+ "username": {
629
+ "type": "string",
630
+ "description": "The username for the new user."
631
+ },
632
+ "email": {
633
+ "type": "string",
634
+ "description": "The email address for the new user."
635
+ },
636
+ "password": {
637
+ "type": "string",
638
+ "description": "The password for the new user."
639
+ },
640
+ "roles": {
641
+ "type": "array",
642
+ "description": "An array of roles to assign to the user."
643
+ }
644
+ },
645
+ "required": [
646
+ "username",
647
+ "email",
648
+ "password"
649
+ ]
650
+ }
651
+ }
652
+ }
653
+ },
654
+ "responses": {
655
+ "200": {
656
+ "description": "Successful response",
657
+ "content": {
658
+ "application/json": {
659
+ "schema": {
660
+ "type": "object"
661
+ }
662
+ }
663
+ }
664
+ },
665
+ "400": {
666
+ "description": "Bad request - invalid parameters"
667
+ },
668
+ "401": {
669
+ "description": "Authentication failed"
670
+ },
671
+ "500": {
672
+ "description": "Internal server error"
673
+ }
674
+ }
675
+ }
676
+ },
677
+ "/tools/wp_delete_application_password": {
678
+ "post": {
679
+ "summary": "Revokes an existing application password.",
680
+ "description": "Execute wp_delete_application_password MCP tool",
681
+ "tags": [
682
+ "site"
683
+ ],
684
+ "requestBody": {
685
+ "required": true,
686
+ "content": {
687
+ "application/json": {
688
+ "schema": {
689
+ "type": "object",
690
+ "properties": {
691
+ "user_id": {
692
+ "type": "number",
693
+ "description": "The ID of the user who owns the password."
694
+ },
695
+ "uuid": {
696
+ "type": "string",
697
+ "description": "The UUID of the application password to revoke."
698
+ }
699
+ },
700
+ "required": [
701
+ "user_id",
702
+ "uuid"
703
+ ]
704
+ }
705
+ }
706
+ }
707
+ },
708
+ "responses": {
709
+ "200": {
710
+ "description": "Successful response",
711
+ "content": {
712
+ "application/json": {
713
+ "schema": {
714
+ "type": "object"
715
+ }
716
+ }
717
+ }
718
+ },
719
+ "400": {
720
+ "description": "Bad request - invalid parameters"
721
+ },
722
+ "401": {
723
+ "description": "Authentication failed"
724
+ },
725
+ "500": {
726
+ "description": "Internal server error"
727
+ }
728
+ }
729
+ }
730
+ },
731
+ "/tools/wp_delete_category": {
732
+ "post": {
733
+ "summary": "Deletes a category.",
734
+ "description": "Execute wp_delete_category MCP tool",
735
+ "tags": [
736
+ "taxonomy"
737
+ ],
738
+ "requestBody": {
739
+ "required": true,
740
+ "content": {
741
+ "application/json": {
742
+ "schema": {
743
+ "type": "object",
744
+ "properties": {
745
+ "id": {
746
+ "type": "number",
747
+ "description": "The ID of the category to delete."
748
+ }
749
+ },
750
+ "required": [
751
+ "id"
752
+ ]
753
+ }
754
+ }
755
+ }
756
+ },
757
+ "responses": {
758
+ "200": {
759
+ "description": "Successful response",
760
+ "content": {
761
+ "application/json": {
762
+ "schema": {
763
+ "type": "object"
764
+ }
765
+ }
766
+ }
767
+ },
768
+ "400": {
769
+ "description": "Bad request - invalid parameters"
770
+ },
771
+ "401": {
772
+ "description": "Authentication failed"
773
+ },
774
+ "500": {
775
+ "description": "Internal server error"
776
+ }
777
+ }
778
+ }
779
+ },
780
+ "/tools/wp_delete_comment": {
781
+ "post": {
782
+ "summary": "Deletes a comment.",
783
+ "description": "Execute wp_delete_comment MCP tool",
784
+ "tags": [
785
+ "comment"
786
+ ],
787
+ "requestBody": {
788
+ "required": true,
789
+ "content": {
790
+ "application/json": {
791
+ "schema": {
792
+ "type": "object",
793
+ "properties": {
794
+ "id": {
795
+ "type": "number",
796
+ "description": "The ID of the comment to delete."
797
+ },
798
+ "force": {
799
+ "type": "boolean",
800
+ "description": "If true, the comment will be permanently deleted. Defaults to false (moved to trash)."
801
+ }
802
+ },
803
+ "required": [
804
+ "id"
805
+ ]
806
+ }
807
+ }
808
+ }
809
+ },
810
+ "responses": {
811
+ "200": {
812
+ "description": "Successful response",
813
+ "content": {
814
+ "application/json": {
815
+ "schema": {
816
+ "type": "object"
817
+ }
818
+ }
819
+ }
820
+ },
821
+ "400": {
822
+ "description": "Bad request - invalid parameters"
823
+ },
824
+ "401": {
825
+ "description": "Authentication failed"
826
+ },
827
+ "500": {
828
+ "description": "Internal server error"
829
+ }
830
+ }
831
+ }
832
+ },
833
+ "/tools/wp_delete_media": {
834
+ "post": {
835
+ "summary": "Deletes a media item.",
836
+ "description": "Execute wp_delete_media MCP tool",
837
+ "tags": [
838
+ "media"
839
+ ],
840
+ "requestBody": {
841
+ "required": true,
842
+ "content": {
843
+ "application/json": {
844
+ "schema": {
845
+ "type": "object",
846
+ "properties": {
847
+ "id": {
848
+ "type": "number",
849
+ "description": "The ID of the media item to delete."
850
+ },
851
+ "force": {
852
+ "type": "boolean",
853
+ "description": "If true, permanently delete. If false, move to trash. Defaults to false."
854
+ }
855
+ },
856
+ "required": [
857
+ "id"
858
+ ]
859
+ }
860
+ }
861
+ }
862
+ },
863
+ "responses": {
864
+ "200": {
865
+ "description": "Successful response",
866
+ "content": {
867
+ "application/json": {
868
+ "schema": {
869
+ "type": "object"
870
+ }
871
+ }
872
+ }
873
+ },
874
+ "400": {
875
+ "description": "Bad request - invalid parameters"
876
+ },
877
+ "401": {
878
+ "description": "Authentication failed"
879
+ },
880
+ "500": {
881
+ "description": "Internal server error"
882
+ }
883
+ }
884
+ }
885
+ },
886
+ "/tools/wp_delete_page": {
887
+ "post": {
888
+ "summary": "Deletes a page.",
889
+ "description": "Execute wp_delete_page MCP tool",
890
+ "tags": [
891
+ "page"
892
+ ],
893
+ "requestBody": {
894
+ "required": true,
895
+ "content": {
896
+ "application/json": {
897
+ "schema": {
898
+ "type": "object",
899
+ "properties": {
900
+ "id": {
901
+ "type": "number",
902
+ "description": "The ID of the page to delete."
903
+ },
904
+ "force": {
905
+ "type": "boolean",
906
+ "description": "If true, permanently delete. If false, move to trash. Defaults to false."
907
+ }
908
+ },
909
+ "required": [
910
+ "id"
911
+ ]
912
+ }
913
+ }
914
+ }
915
+ },
916
+ "responses": {
917
+ "200": {
918
+ "description": "Successful response",
919
+ "content": {
920
+ "application/json": {
921
+ "schema": {
922
+ "type": "object"
923
+ }
924
+ }
925
+ }
926
+ },
927
+ "400": {
928
+ "description": "Bad request - invalid parameters"
929
+ },
930
+ "401": {
931
+ "description": "Authentication failed"
932
+ },
933
+ "500": {
934
+ "description": "Internal server error"
935
+ }
936
+ }
937
+ }
938
+ },
939
+ "/tools/wp_delete_post": {
940
+ "post": {
941
+ "summary": "Deletes a post.",
942
+ "description": "Execute wp_delete_post MCP tool",
943
+ "tags": [
944
+ "post"
945
+ ],
946
+ "requestBody": {
947
+ "required": true,
948
+ "content": {
949
+ "application/json": {
950
+ "schema": {
951
+ "type": "object",
952
+ "properties": {
953
+ "id": {
954
+ "type": "number",
955
+ "description": "The ID of the post to delete."
956
+ },
957
+ "force": {
958
+ "type": "boolean",
959
+ "description": "If true, permanently delete. If false, move to trash. Defaults to false."
960
+ }
961
+ },
962
+ "required": [
963
+ "id"
964
+ ]
965
+ }
966
+ }
967
+ }
968
+ },
969
+ "responses": {
970
+ "200": {
971
+ "description": "Successful response",
972
+ "content": {
973
+ "application/json": {
974
+ "schema": {
975
+ "type": "object"
976
+ }
977
+ }
978
+ }
979
+ },
980
+ "400": {
981
+ "description": "Bad request - invalid parameters"
982
+ },
983
+ "401": {
984
+ "description": "Authentication failed"
985
+ },
986
+ "500": {
987
+ "description": "Internal server error"
988
+ }
989
+ }
990
+ }
991
+ },
992
+ "/tools/wp_delete_tag": {
993
+ "post": {
994
+ "summary": "Deletes a tag.",
995
+ "description": "Execute wp_delete_tag MCP tool",
996
+ "tags": [
997
+ "taxonomy"
998
+ ],
999
+ "requestBody": {
1000
+ "required": true,
1001
+ "content": {
1002
+ "application/json": {
1003
+ "schema": {
1004
+ "type": "object",
1005
+ "properties": {
1006
+ "id": {
1007
+ "type": "number",
1008
+ "description": "The ID of the tag to delete."
1009
+ }
1010
+ },
1011
+ "required": [
1012
+ "id"
1013
+ ]
1014
+ }
1015
+ }
1016
+ }
1017
+ },
1018
+ "responses": {
1019
+ "200": {
1020
+ "description": "Successful response",
1021
+ "content": {
1022
+ "application/json": {
1023
+ "schema": {
1024
+ "type": "object"
1025
+ }
1026
+ }
1027
+ }
1028
+ },
1029
+ "400": {
1030
+ "description": "Bad request - invalid parameters"
1031
+ },
1032
+ "401": {
1033
+ "description": "Authentication failed"
1034
+ },
1035
+ "500": {
1036
+ "description": "Internal server error"
1037
+ }
1038
+ }
1039
+ }
1040
+ },
1041
+ "/tools/wp_delete_user": {
1042
+ "post": {
1043
+ "summary": "Deletes a user.",
1044
+ "description": "Execute wp_delete_user MCP tool",
1045
+ "tags": [
1046
+ "user"
1047
+ ],
1048
+ "requestBody": {
1049
+ "required": true,
1050
+ "content": {
1051
+ "application/json": {
1052
+ "schema": {
1053
+ "type": "object",
1054
+ "properties": {
1055
+ "id": {
1056
+ "type": "number",
1057
+ "description": "The ID of the user to delete."
1058
+ },
1059
+ "reassign": {
1060
+ "type": "number",
1061
+ "description": "The ID of a user to reassign the deleted user's content to."
1062
+ }
1063
+ },
1064
+ "required": [
1065
+ "id"
1066
+ ]
1067
+ }
1068
+ }
1069
+ }
1070
+ },
1071
+ "responses": {
1072
+ "200": {
1073
+ "description": "Successful response",
1074
+ "content": {
1075
+ "application/json": {
1076
+ "schema": {
1077
+ "type": "object"
1078
+ }
1079
+ }
1080
+ }
1081
+ },
1082
+ "400": {
1083
+ "description": "Bad request - invalid parameters"
1084
+ },
1085
+ "401": {
1086
+ "description": "Authentication failed"
1087
+ },
1088
+ "500": {
1089
+ "description": "Internal server error"
1090
+ }
1091
+ }
1092
+ }
1093
+ },
1094
+ "/tools/wp_get_application_passwords": {
1095
+ "post": {
1096
+ "summary": "Lists application passwords for a specific user.",
1097
+ "description": "Execute wp_get_application_passwords MCP tool",
1098
+ "tags": [
1099
+ "site"
1100
+ ],
1101
+ "requestBody": {
1102
+ "required": true,
1103
+ "content": {
1104
+ "application/json": {
1105
+ "schema": {
1106
+ "type": "object",
1107
+ "properties": {
1108
+ "user_id": {
1109
+ "type": "number",
1110
+ "description": "The ID of the user to get application passwords for."
1111
+ }
1112
+ },
1113
+ "required": [
1114
+ "user_id"
1115
+ ]
1116
+ }
1117
+ }
1118
+ }
1119
+ },
1120
+ "responses": {
1121
+ "200": {
1122
+ "description": "Successful response",
1123
+ "content": {
1124
+ "application/json": {
1125
+ "schema": {
1126
+ "type": "object"
1127
+ }
1128
+ }
1129
+ }
1130
+ },
1131
+ "400": {
1132
+ "description": "Bad request - invalid parameters"
1133
+ },
1134
+ "401": {
1135
+ "description": "Authentication failed"
1136
+ },
1137
+ "500": {
1138
+ "description": "Internal server error"
1139
+ }
1140
+ }
1141
+ }
1142
+ },
1143
+ "/tools/wp_get_auth_status": {
1144
+ "post": {
1145
+ "summary": "Gets the current authentication status for a configured WordPress site.",
1146
+ "description": "Execute wp_get_auth_status MCP tool",
1147
+ "tags": [
1148
+ "auth"
1149
+ ],
1150
+ "requestBody": {
1151
+ "required": true,
1152
+ "content": {
1153
+ "application/json": {
1154
+ "schema": {
1155
+ "type": "object",
1156
+ "properties": {}
1157
+ }
1158
+ }
1159
+ }
1160
+ },
1161
+ "responses": {
1162
+ "200": {
1163
+ "description": "Successful response",
1164
+ "content": {
1165
+ "application/json": {
1166
+ "schema": {
1167
+ "type": "object"
1168
+ }
1169
+ }
1170
+ }
1171
+ },
1172
+ "400": {
1173
+ "description": "Bad request - invalid parameters"
1174
+ },
1175
+ "401": {
1176
+ "description": "Authentication failed"
1177
+ },
1178
+ "500": {
1179
+ "description": "Internal server error"
1180
+ }
1181
+ }
1182
+ }
1183
+ },
1184
+ "/tools/wp_get_category": {
1185
+ "post": {
1186
+ "summary": "Retrieves a single category by its ID.",
1187
+ "description": "Execute wp_get_category MCP tool",
1188
+ "tags": [
1189
+ "taxonomy"
1190
+ ],
1191
+ "requestBody": {
1192
+ "required": true,
1193
+ "content": {
1194
+ "application/json": {
1195
+ "schema": {
1196
+ "type": "object",
1197
+ "properties": {
1198
+ "id": {
1199
+ "type": "number",
1200
+ "description": "The unique identifier for the category."
1201
+ }
1202
+ },
1203
+ "required": [
1204
+ "id"
1205
+ ]
1206
+ }
1207
+ }
1208
+ }
1209
+ },
1210
+ "responses": {
1211
+ "200": {
1212
+ "description": "Successful response",
1213
+ "content": {
1214
+ "application/json": {
1215
+ "schema": {
1216
+ "type": "object"
1217
+ }
1218
+ }
1219
+ }
1220
+ },
1221
+ "400": {
1222
+ "description": "Bad request - invalid parameters"
1223
+ },
1224
+ "401": {
1225
+ "description": "Authentication failed"
1226
+ },
1227
+ "500": {
1228
+ "description": "Internal server error"
1229
+ }
1230
+ }
1231
+ }
1232
+ },
1233
+ "/tools/wp_get_comment": {
1234
+ "post": {
1235
+ "summary": "Retrieves a single comment by its ID.",
1236
+ "description": "Execute wp_get_comment MCP tool",
1237
+ "tags": [
1238
+ "comment"
1239
+ ],
1240
+ "requestBody": {
1241
+ "required": true,
1242
+ "content": {
1243
+ "application/json": {
1244
+ "schema": {
1245
+ "type": "object",
1246
+ "properties": {
1247
+ "id": {
1248
+ "type": "number",
1249
+ "description": "The unique identifier for the comment."
1250
+ }
1251
+ },
1252
+ "required": [
1253
+ "id"
1254
+ ]
1255
+ }
1256
+ }
1257
+ }
1258
+ },
1259
+ "responses": {
1260
+ "200": {
1261
+ "description": "Successful response",
1262
+ "content": {
1263
+ "application/json": {
1264
+ "schema": {
1265
+ "type": "object"
1266
+ }
1267
+ }
1268
+ }
1269
+ },
1270
+ "400": {
1271
+ "description": "Bad request - invalid parameters"
1272
+ },
1273
+ "401": {
1274
+ "description": "Authentication failed"
1275
+ },
1276
+ "500": {
1277
+ "description": "Internal server error"
1278
+ }
1279
+ }
1280
+ }
1281
+ },
1282
+ "/tools/wp_get_current_user": {
1283
+ "post": {
1284
+ "summary": "Retrieves the currently authenticated user.",
1285
+ "description": "Execute wp_get_current_user MCP tool",
1286
+ "tags": [
1287
+ "user"
1288
+ ],
1289
+ "requestBody": {
1290
+ "required": true,
1291
+ "content": {
1292
+ "application/json": {
1293
+ "schema": {
1294
+ "type": "object",
1295
+ "properties": {}
1296
+ }
1297
+ }
1298
+ }
1299
+ },
1300
+ "responses": {
1301
+ "200": {
1302
+ "description": "Successful response",
1303
+ "content": {
1304
+ "application/json": {
1305
+ "schema": {
1306
+ "type": "object"
1307
+ }
1308
+ }
1309
+ }
1310
+ },
1311
+ "400": {
1312
+ "description": "Bad request - invalid parameters"
1313
+ },
1314
+ "401": {
1315
+ "description": "Authentication failed"
1316
+ },
1317
+ "500": {
1318
+ "description": "Internal server error"
1319
+ }
1320
+ }
1321
+ }
1322
+ },
1323
+ "/tools/wp_get_media": {
1324
+ "post": {
1325
+ "summary": "Retrieves a single media item by its ID.",
1326
+ "description": "Execute wp_get_media MCP tool",
1327
+ "tags": [
1328
+ "media"
1329
+ ],
1330
+ "requestBody": {
1331
+ "required": true,
1332
+ "content": {
1333
+ "application/json": {
1334
+ "schema": {
1335
+ "type": "object",
1336
+ "properties": {
1337
+ "id": {
1338
+ "type": "number",
1339
+ "description": "The unique identifier for the media item."
1340
+ }
1341
+ },
1342
+ "required": [
1343
+ "id"
1344
+ ]
1345
+ }
1346
+ }
1347
+ }
1348
+ },
1349
+ "responses": {
1350
+ "200": {
1351
+ "description": "Successful response",
1352
+ "content": {
1353
+ "application/json": {
1354
+ "schema": {
1355
+ "type": "object"
1356
+ }
1357
+ }
1358
+ }
1359
+ },
1360
+ "400": {
1361
+ "description": "Bad request - invalid parameters"
1362
+ },
1363
+ "401": {
1364
+ "description": "Authentication failed"
1365
+ },
1366
+ "500": {
1367
+ "description": "Internal server error"
1368
+ }
1369
+ }
1370
+ }
1371
+ },
1372
+ "/tools/wp_get_page": {
1373
+ "post": {
1374
+ "summary": "Retrieves a single page by its ID.",
1375
+ "description": "Execute wp_get_page MCP tool",
1376
+ "tags": [
1377
+ "page"
1378
+ ],
1379
+ "requestBody": {
1380
+ "required": true,
1381
+ "content": {
1382
+ "application/json": {
1383
+ "schema": {
1384
+ "type": "object",
1385
+ "properties": {
1386
+ "id": {
1387
+ "type": "number",
1388
+ "description": "The unique identifier for the page."
1389
+ }
1390
+ },
1391
+ "required": [
1392
+ "id"
1393
+ ]
1394
+ }
1395
+ }
1396
+ }
1397
+ },
1398
+ "responses": {
1399
+ "200": {
1400
+ "description": "Successful response",
1401
+ "content": {
1402
+ "application/json": {
1403
+ "schema": {
1404
+ "type": "object"
1405
+ }
1406
+ }
1407
+ }
1408
+ },
1409
+ "400": {
1410
+ "description": "Bad request - invalid parameters"
1411
+ },
1412
+ "401": {
1413
+ "description": "Authentication failed"
1414
+ },
1415
+ "500": {
1416
+ "description": "Internal server error"
1417
+ }
1418
+ }
1419
+ }
1420
+ },
1421
+ "/tools/wp_get_page_revisions": {
1422
+ "post": {
1423
+ "summary": "Retrieves revisions for a specific page.",
1424
+ "description": "Execute wp_get_page_revisions MCP tool",
1425
+ "tags": [
1426
+ "page"
1427
+ ],
1428
+ "requestBody": {
1429
+ "required": true,
1430
+ "content": {
1431
+ "application/json": {
1432
+ "schema": {
1433
+ "type": "object",
1434
+ "properties": {
1435
+ "id": {
1436
+ "type": "number",
1437
+ "description": "The ID of the page to get revisions for."
1438
+ }
1439
+ },
1440
+ "required": [
1441
+ "id"
1442
+ ]
1443
+ }
1444
+ }
1445
+ }
1446
+ },
1447
+ "responses": {
1448
+ "200": {
1449
+ "description": "Successful response",
1450
+ "content": {
1451
+ "application/json": {
1452
+ "schema": {
1453
+ "type": "object"
1454
+ }
1455
+ }
1456
+ }
1457
+ },
1458
+ "400": {
1459
+ "description": "Bad request - invalid parameters"
1460
+ },
1461
+ "401": {
1462
+ "description": "Authentication failed"
1463
+ },
1464
+ "500": {
1465
+ "description": "Internal server error"
1466
+ }
1467
+ }
1468
+ }
1469
+ },
1470
+ "/tools/wp_get_post": {
1471
+ "post": {
1472
+ "summary": "Retrieves a single post by its ID.",
1473
+ "description": "Execute wp_get_post MCP tool",
1474
+ "tags": [
1475
+ "post"
1476
+ ],
1477
+ "requestBody": {
1478
+ "required": true,
1479
+ "content": {
1480
+ "application/json": {
1481
+ "schema": {
1482
+ "type": "object",
1483
+ "properties": {
1484
+ "id": {
1485
+ "type": "number",
1486
+ "description": "The unique identifier for the post."
1487
+ }
1488
+ },
1489
+ "required": [
1490
+ "id"
1491
+ ]
1492
+ }
1493
+ }
1494
+ }
1495
+ },
1496
+ "responses": {
1497
+ "200": {
1498
+ "description": "Successful response",
1499
+ "content": {
1500
+ "application/json": {
1501
+ "schema": {
1502
+ "type": "object"
1503
+ }
1504
+ }
1505
+ }
1506
+ },
1507
+ "400": {
1508
+ "description": "Bad request - invalid parameters"
1509
+ },
1510
+ "401": {
1511
+ "description": "Authentication failed"
1512
+ },
1513
+ "500": {
1514
+ "description": "Internal server error"
1515
+ }
1516
+ }
1517
+ }
1518
+ },
1519
+ "/tools/wp_get_post_revisions": {
1520
+ "post": {
1521
+ "summary": "Retrieves revisions for a specific post.",
1522
+ "description": "Execute wp_get_post_revisions MCP tool",
1523
+ "tags": [
1524
+ "post"
1525
+ ],
1526
+ "requestBody": {
1527
+ "required": true,
1528
+ "content": {
1529
+ "application/json": {
1530
+ "schema": {
1531
+ "type": "object",
1532
+ "properties": {
1533
+ "id": {
1534
+ "type": "number",
1535
+ "description": "The ID of the post to get revisions for."
1536
+ }
1537
+ },
1538
+ "required": [
1539
+ "id"
1540
+ ]
1541
+ }
1542
+ }
1543
+ }
1544
+ },
1545
+ "responses": {
1546
+ "200": {
1547
+ "description": "Successful response",
1548
+ "content": {
1549
+ "application/json": {
1550
+ "schema": {
1551
+ "type": "object"
1552
+ }
1553
+ }
1554
+ }
1555
+ },
1556
+ "400": {
1557
+ "description": "Bad request - invalid parameters"
1558
+ },
1559
+ "401": {
1560
+ "description": "Authentication failed"
1561
+ },
1562
+ "500": {
1563
+ "description": "Internal server error"
1564
+ }
1565
+ }
1566
+ }
1567
+ },
1568
+ "/tools/wp_get_site_settings": {
1569
+ "post": {
1570
+ "summary": "Retrieves the general settings for a WordPress site.",
1571
+ "description": "Execute wp_get_site_settings MCP tool",
1572
+ "tags": [
1573
+ "site"
1574
+ ],
1575
+ "requestBody": {
1576
+ "required": true,
1577
+ "content": {
1578
+ "application/json": {
1579
+ "schema": {
1580
+ "type": "object",
1581
+ "properties": {}
1582
+ }
1583
+ }
1584
+ }
1585
+ },
1586
+ "responses": {
1587
+ "200": {
1588
+ "description": "Successful response",
1589
+ "content": {
1590
+ "application/json": {
1591
+ "schema": {
1592
+ "type": "object"
1593
+ }
1594
+ }
1595
+ }
1596
+ },
1597
+ "400": {
1598
+ "description": "Bad request - invalid parameters"
1599
+ },
1600
+ "401": {
1601
+ "description": "Authentication failed"
1602
+ },
1603
+ "500": {
1604
+ "description": "Internal server error"
1605
+ }
1606
+ }
1607
+ }
1608
+ },
1609
+ "/tools/wp_get_tag": {
1610
+ "post": {
1611
+ "summary": "Retrieves a single tag by its ID.",
1612
+ "description": "Execute wp_get_tag MCP tool",
1613
+ "tags": [
1614
+ "taxonomy"
1615
+ ],
1616
+ "requestBody": {
1617
+ "required": true,
1618
+ "content": {
1619
+ "application/json": {
1620
+ "schema": {
1621
+ "type": "object",
1622
+ "properties": {
1623
+ "id": {
1624
+ "type": "number",
1625
+ "description": "The unique identifier for the tag."
1626
+ }
1627
+ },
1628
+ "required": [
1629
+ "id"
1630
+ ]
1631
+ }
1632
+ }
1633
+ }
1634
+ },
1635
+ "responses": {
1636
+ "200": {
1637
+ "description": "Successful response",
1638
+ "content": {
1639
+ "application/json": {
1640
+ "schema": {
1641
+ "type": "object"
1642
+ }
1643
+ }
1644
+ }
1645
+ },
1646
+ "400": {
1647
+ "description": "Bad request - invalid parameters"
1648
+ },
1649
+ "401": {
1650
+ "description": "Authentication failed"
1651
+ },
1652
+ "500": {
1653
+ "description": "Internal server error"
1654
+ }
1655
+ }
1656
+ }
1657
+ },
1658
+ "/tools/wp_get_user": {
1659
+ "post": {
1660
+ "summary": "Retrieves a single user by their ID.",
1661
+ "description": "Execute wp_get_user MCP tool",
1662
+ "tags": [
1663
+ "user"
1664
+ ],
1665
+ "requestBody": {
1666
+ "required": true,
1667
+ "content": {
1668
+ "application/json": {
1669
+ "schema": {
1670
+ "type": "object",
1671
+ "properties": {
1672
+ "id": {
1673
+ "type": "number",
1674
+ "description": "The unique identifier for the user."
1675
+ }
1676
+ },
1677
+ "required": [
1678
+ "id"
1679
+ ]
1680
+ }
1681
+ }
1682
+ }
1683
+ },
1684
+ "responses": {
1685
+ "200": {
1686
+ "description": "Successful response",
1687
+ "content": {
1688
+ "application/json": {
1689
+ "schema": {
1690
+ "type": "object"
1691
+ }
1692
+ }
1693
+ }
1694
+ },
1695
+ "400": {
1696
+ "description": "Bad request - invalid parameters"
1697
+ },
1698
+ "401": {
1699
+ "description": "Authentication failed"
1700
+ },
1701
+ "500": {
1702
+ "description": "Internal server error"
1703
+ }
1704
+ }
1705
+ }
1706
+ },
1707
+ "/tools/wp_list_categories": {
1708
+ "post": {
1709
+ "summary": "Lists categories from a WordPress site.",
1710
+ "description": "Execute wp_list_categories MCP tool",
1711
+ "tags": [
1712
+ "taxonomy"
1713
+ ],
1714
+ "requestBody": {
1715
+ "required": true,
1716
+ "content": {
1717
+ "application/json": {
1718
+ "schema": {
1719
+ "type": "object",
1720
+ "properties": {
1721
+ "search": {
1722
+ "type": "string",
1723
+ "description": "Limit results to those matching a search term."
1724
+ },
1725
+ "hide_empty": {
1726
+ "type": "boolean",
1727
+ "description": "Whether to hide categories with no posts."
1728
+ }
1729
+ }
1730
+ }
1731
+ }
1732
+ }
1733
+ },
1734
+ "responses": {
1735
+ "200": {
1736
+ "description": "Successful response",
1737
+ "content": {
1738
+ "application/json": {
1739
+ "schema": {
1740
+ "type": "object"
1741
+ }
1742
+ }
1743
+ }
1744
+ },
1745
+ "400": {
1746
+ "description": "Bad request - invalid parameters"
1747
+ },
1748
+ "401": {
1749
+ "description": "Authentication failed"
1750
+ },
1751
+ "500": {
1752
+ "description": "Internal server error"
1753
+ }
1754
+ }
1755
+ }
1756
+ },
1757
+ "/tools/wp_list_comments": {
1758
+ "post": {
1759
+ "summary": "Lists comments from a WordPress site, with filters.",
1760
+ "description": "Execute wp_list_comments MCP tool",
1761
+ "tags": [
1762
+ "comment"
1763
+ ],
1764
+ "requestBody": {
1765
+ "required": true,
1766
+ "content": {
1767
+ "application/json": {
1768
+ "schema": {
1769
+ "type": "object",
1770
+ "properties": {
1771
+ "post": {
1772
+ "type": "number",
1773
+ "description": "Limit results to comments assigned to a specific post ID."
1774
+ },
1775
+ "status": {
1776
+ "type": "string",
1777
+ "description": "Filter by comment status.",
1778
+ "enum": [
1779
+ "publish",
1780
+ "draft",
1781
+ "private",
1782
+ "pending",
1783
+ "future"
1784
+ ],
1785
+ "default": "publish"
1786
+ }
1787
+ }
1788
+ }
1789
+ }
1790
+ }
1791
+ },
1792
+ "responses": {
1793
+ "200": {
1794
+ "description": "Successful response",
1795
+ "content": {
1796
+ "application/json": {
1797
+ "schema": {
1798
+ "type": "object"
1799
+ }
1800
+ }
1801
+ }
1802
+ },
1803
+ "400": {
1804
+ "description": "Bad request - invalid parameters"
1805
+ },
1806
+ "401": {
1807
+ "description": "Authentication failed"
1808
+ },
1809
+ "500": {
1810
+ "description": "Internal server error"
1811
+ }
1812
+ }
1813
+ }
1814
+ },
1815
+ "/tools/wp_list_media": {
1816
+ "post": {
1817
+ "summary": "Lists media items from a WordPress site, with filters.",
1818
+ "description": "Execute wp_list_media MCP tool",
1819
+ "tags": [
1820
+ "media"
1821
+ ],
1822
+ "requestBody": {
1823
+ "required": true,
1824
+ "content": {
1825
+ "application/json": {
1826
+ "schema": {
1827
+ "type": "object",
1828
+ "properties": {
1829
+ "per_page": {
1830
+ "type": "number",
1831
+ "description": "Number of items to return per page (max 100).",
1832
+ "default": 10
1833
+ },
1834
+ "search": {
1835
+ "type": "string",
1836
+ "description": "Limit results to those matching a search term."
1837
+ },
1838
+ "media_type": {
1839
+ "type": "string",
1840
+ "description": "Limit results to a specific media type."
1841
+ }
1842
+ }
1843
+ }
1844
+ }
1845
+ }
1846
+ },
1847
+ "responses": {
1848
+ "200": {
1849
+ "description": "Successful response",
1850
+ "content": {
1851
+ "application/json": {
1852
+ "schema": {
1853
+ "type": "object"
1854
+ }
1855
+ }
1856
+ }
1857
+ },
1858
+ "400": {
1859
+ "description": "Bad request - invalid parameters"
1860
+ },
1861
+ "401": {
1862
+ "description": "Authentication failed"
1863
+ },
1864
+ "500": {
1865
+ "description": "Internal server error"
1866
+ }
1867
+ }
1868
+ }
1869
+ },
1870
+ "/tools/wp_list_pages": {
1871
+ "post": {
1872
+ "summary": "Lists pages from a WordPress site, with filters.",
1873
+ "description": "Execute wp_list_pages MCP tool",
1874
+ "tags": [
1875
+ "page"
1876
+ ],
1877
+ "requestBody": {
1878
+ "required": true,
1879
+ "content": {
1880
+ "application/json": {
1881
+ "schema": {
1882
+ "type": "object",
1883
+ "properties": {
1884
+ "per_page": {
1885
+ "type": "number",
1886
+ "description": "Number of items to return per page (max 100).",
1887
+ "default": 10
1888
+ },
1889
+ "search": {
1890
+ "type": "string",
1891
+ "description": "Limit results to those matching a search term."
1892
+ },
1893
+ "status": {
1894
+ "type": "string",
1895
+ "description": "Filter by page status.",
1896
+ "enum": [
1897
+ "publish",
1898
+ "draft",
1899
+ "private",
1900
+ "pending",
1901
+ "future"
1902
+ ],
1903
+ "default": "publish"
1904
+ }
1905
+ }
1906
+ }
1907
+ }
1908
+ }
1909
+ },
1910
+ "responses": {
1911
+ "200": {
1912
+ "description": "Successful response",
1913
+ "content": {
1914
+ "application/json": {
1915
+ "schema": {
1916
+ "type": "object"
1917
+ }
1918
+ }
1919
+ }
1920
+ },
1921
+ "400": {
1922
+ "description": "Bad request - invalid parameters"
1923
+ },
1924
+ "401": {
1925
+ "description": "Authentication failed"
1926
+ },
1927
+ "500": {
1928
+ "description": "Internal server error"
1929
+ }
1930
+ }
1931
+ }
1932
+ },
1933
+ "/tools/wp_list_posts": {
1934
+ "post": {
1935
+ "summary": "Lists posts from a WordPress site, with filters.",
1936
+ "description": "Execute wp_list_posts MCP tool",
1937
+ "tags": [
1938
+ "post"
1939
+ ],
1940
+ "requestBody": {
1941
+ "required": true,
1942
+ "content": {
1943
+ "application/json": {
1944
+ "schema": {
1945
+ "type": "object",
1946
+ "properties": {
1947
+ "per_page": {
1948
+ "type": "number",
1949
+ "description": "Number of items to return per page (max 100).",
1950
+ "default": 10
1951
+ },
1952
+ "search": {
1953
+ "type": "string",
1954
+ "description": "Limit results to those matching a search term."
1955
+ },
1956
+ "status": {
1957
+ "type": "string",
1958
+ "description": "Filter by post status.",
1959
+ "enum": [
1960
+ "publish",
1961
+ "draft",
1962
+ "private",
1963
+ "pending",
1964
+ "future"
1965
+ ],
1966
+ "default": "publish"
1967
+ },
1968
+ "categories": {
1969
+ "type": "array",
1970
+ "description": "Limit results to posts in specific category IDs."
1971
+ },
1972
+ "tags": {
1973
+ "type": "array",
1974
+ "description": "Limit results to posts with specific tag IDs."
1975
+ }
1976
+ }
1977
+ }
1978
+ }
1979
+ }
1980
+ },
1981
+ "responses": {
1982
+ "200": {
1983
+ "description": "Successful response",
1984
+ "content": {
1985
+ "application/json": {
1986
+ "schema": {
1987
+ "type": "object"
1988
+ }
1989
+ }
1990
+ }
1991
+ },
1992
+ "400": {
1993
+ "description": "Bad request - invalid parameters"
1994
+ },
1995
+ "401": {
1996
+ "description": "Authentication failed"
1997
+ },
1998
+ "500": {
1999
+ "description": "Internal server error"
2000
+ }
2001
+ }
2002
+ }
2003
+ },
2004
+ "/tools/wp_list_tags": {
2005
+ "post": {
2006
+ "summary": "Lists tags from a WordPress site.",
2007
+ "description": "Execute wp_list_tags MCP tool",
2008
+ "tags": [
2009
+ "taxonomy"
2010
+ ],
2011
+ "requestBody": {
2012
+ "required": true,
2013
+ "content": {
2014
+ "application/json": {
2015
+ "schema": {
2016
+ "type": "object",
2017
+ "properties": {
2018
+ "search": {
2019
+ "type": "string",
2020
+ "description": "Limit results to those matching a search term."
2021
+ }
2022
+ }
2023
+ }
2024
+ }
2025
+ }
2026
+ },
2027
+ "responses": {
2028
+ "200": {
2029
+ "description": "Successful response",
2030
+ "content": {
2031
+ "application/json": {
2032
+ "schema": {
2033
+ "type": "object"
2034
+ }
2035
+ }
2036
+ }
2037
+ },
2038
+ "400": {
2039
+ "description": "Bad request - invalid parameters"
2040
+ },
2041
+ "401": {
2042
+ "description": "Authentication failed"
2043
+ },
2044
+ "500": {
2045
+ "description": "Internal server error"
2046
+ }
2047
+ }
2048
+ }
2049
+ },
2050
+ "/tools/wp_list_users": {
2051
+ "post": {
2052
+ "summary": "Lists users from a WordPress site, with filters.",
2053
+ "description": "Execute wp_list_users MCP tool",
2054
+ "tags": [
2055
+ "user"
2056
+ ],
2057
+ "requestBody": {
2058
+ "required": true,
2059
+ "content": {
2060
+ "application/json": {
2061
+ "schema": {
2062
+ "type": "object",
2063
+ "properties": {
2064
+ "search": {
2065
+ "type": "string",
2066
+ "description": "Limit results to those matching a search term."
2067
+ },
2068
+ "roles": {
2069
+ "type": "array",
2070
+ "description": "Limit results to users with specific roles."
2071
+ }
2072
+ }
2073
+ }
2074
+ }
2075
+ }
2076
+ },
2077
+ "responses": {
2078
+ "200": {
2079
+ "description": "Successful response",
2080
+ "content": {
2081
+ "application/json": {
2082
+ "schema": {
2083
+ "type": "object"
2084
+ }
2085
+ }
2086
+ }
2087
+ },
2088
+ "400": {
2089
+ "description": "Bad request - invalid parameters"
2090
+ },
2091
+ "401": {
2092
+ "description": "Authentication failed"
2093
+ },
2094
+ "500": {
2095
+ "description": "Internal server error"
2096
+ }
2097
+ }
2098
+ }
2099
+ },
2100
+ "/tools/wp_performance_alerts": {
2101
+ "post": {
2102
+ "summary": "Get performance alerts and anomaly detection results",
2103
+ "description": "Execute wp_performance_alerts MCP tool",
2104
+ "tags": [
2105
+ "performance"
2106
+ ],
2107
+ "requestBody": {
2108
+ "required": true,
2109
+ "content": {
2110
+ "application/json": {
2111
+ "schema": {
2112
+ "type": "object",
2113
+ "properties": {
2114
+ "site": {
2115
+ "type": "string",
2116
+ "description": "Specific site ID for multi-site setups (optional for single site)"
2117
+ },
2118
+ "severity": {
2119
+ "type": "string",
2120
+ "description": "Filter alerts by severity level (info, warning, error, critical)"
2121
+ },
2122
+ "category": {
2123
+ "type": "string",
2124
+ "description": "Filter alerts by category (performance, cache, system, wordpress)",
2125
+ "enum": [
2126
+ "overview",
2127
+ "requests",
2128
+ "cache",
2129
+ "system",
2130
+ "tools",
2131
+ "all"
2132
+ ],
2133
+ "default": "all"
2134
+ },
2135
+ "limit": {
2136
+ "type": "number",
2137
+ "description": "Maximum number of alerts to return (default: 20)"
2138
+ },
2139
+ "includeAnomalies": {
2140
+ "type": "boolean",
2141
+ "description": "Include detected anomalies (default: true)"
2142
+ }
2143
+ }
2144
+ }
2145
+ }
2146
+ }
2147
+ },
2148
+ "responses": {
2149
+ "200": {
2150
+ "description": "Successful response",
2151
+ "content": {
2152
+ "application/json": {
2153
+ "schema": {
2154
+ "type": "object"
2155
+ }
2156
+ }
2157
+ }
2158
+ },
2159
+ "400": {
2160
+ "description": "Bad request - invalid parameters"
2161
+ },
2162
+ "401": {
2163
+ "description": "Authentication failed"
2164
+ },
2165
+ "500": {
2166
+ "description": "Internal server error"
2167
+ }
2168
+ }
2169
+ }
2170
+ },
2171
+ "/tools/wp_performance_benchmark": {
2172
+ "post": {
2173
+ "summary": "Compare current performance against industry benchmarks",
2174
+ "description": "Execute wp_performance_benchmark MCP tool",
2175
+ "tags": [
2176
+ "performance"
2177
+ ],
2178
+ "requestBody": {
2179
+ "required": true,
2180
+ "content": {
2181
+ "application/json": {
2182
+ "schema": {
2183
+ "type": "object",
2184
+ "properties": {
2185
+ "site": {
2186
+ "type": "string",
2187
+ "description": "Specific site ID for multi-site setups (optional for single site)"
2188
+ },
2189
+ "category": {
2190
+ "type": "string",
2191
+ "description": "Benchmark category (response_time, cache_performance, error_rate, system_resources, all)",
2192
+ "enum": [
2193
+ "overview",
2194
+ "requests",
2195
+ "cache",
2196
+ "system",
2197
+ "tools",
2198
+ "all"
2199
+ ],
2200
+ "default": "all"
2201
+ },
2202
+ "includeRecommendations": {
2203
+ "type": "boolean",
2204
+ "description": "Include improvement recommendations (default: true)"
2205
+ }
2206
+ }
2207
+ }
2208
+ }
2209
+ }
2210
+ },
2211
+ "responses": {
2212
+ "200": {
2213
+ "description": "Successful response",
2214
+ "content": {
2215
+ "application/json": {
2216
+ "schema": {
2217
+ "type": "object"
2218
+ }
2219
+ }
2220
+ }
2221
+ },
2222
+ "400": {
2223
+ "description": "Bad request - invalid parameters"
2224
+ },
2225
+ "401": {
2226
+ "description": "Authentication failed"
2227
+ },
2228
+ "500": {
2229
+ "description": "Internal server error"
2230
+ }
2231
+ }
2232
+ }
2233
+ },
2234
+ "/tools/wp_performance_export": {
2235
+ "post": {
2236
+ "summary": "Export comprehensive performance report",
2237
+ "description": "Execute wp_performance_export MCP tool",
2238
+ "tags": [
2239
+ "performance"
2240
+ ],
2241
+ "requestBody": {
2242
+ "required": true,
2243
+ "content": {
2244
+ "application/json": {
2245
+ "schema": {
2246
+ "type": "object",
2247
+ "properties": {
2248
+ "site": {
2249
+ "type": "string",
2250
+ "description": "Specific site ID for multi-site setups (optional for single site)"
2251
+ },
2252
+ "format": {
2253
+ "type": "string",
2254
+ "description": "Export format (json, csv, summary)",
2255
+ "enum": [
2256
+ "summary",
2257
+ "detailed",
2258
+ "raw"
2259
+ ],
2260
+ "default": "summary"
2261
+ },
2262
+ "includeHistorical": {
2263
+ "type": "boolean",
2264
+ "description": "Include historical data (default: true)"
2265
+ },
2266
+ "includeAnalytics": {
2267
+ "type": "boolean",
2268
+ "description": "Include analytics and insights (default: true)"
2269
+ },
2270
+ "timeRange": {
2271
+ "type": "string",
2272
+ "description": "Time range for data export (1h, 6h, 24h, 7d, 30d)"
2273
+ }
2274
+ }
2275
+ }
2276
+ }
2277
+ }
2278
+ },
2279
+ "responses": {
2280
+ "200": {
2281
+ "description": "Successful response",
2282
+ "content": {
2283
+ "application/json": {
2284
+ "schema": {
2285
+ "type": "object"
2286
+ }
2287
+ }
2288
+ }
2289
+ },
2290
+ "400": {
2291
+ "description": "Bad request - invalid parameters"
2292
+ },
2293
+ "401": {
2294
+ "description": "Authentication failed"
2295
+ },
2296
+ "500": {
2297
+ "description": "Internal server error"
2298
+ }
2299
+ }
2300
+ }
2301
+ },
2302
+ "/tools/wp_performance_history": {
2303
+ "post": {
2304
+ "summary": "Get historical performance data and trends",
2305
+ "description": "Execute wp_performance_history MCP tool",
2306
+ "tags": [
2307
+ "performance"
2308
+ ],
2309
+ "requestBody": {
2310
+ "required": true,
2311
+ "content": {
2312
+ "application/json": {
2313
+ "schema": {
2314
+ "type": "object",
2315
+ "properties": {
2316
+ "site": {
2317
+ "type": "string",
2318
+ "description": "Specific site ID for multi-site setups (optional for single site)"
2319
+ },
2320
+ "timeframe": {
2321
+ "type": "string",
2322
+ "description": "Time period for historical data (1h, 6h, 12h, 24h, 7d)",
2323
+ "enum": [
2324
+ "1h",
2325
+ "6h",
2326
+ "12h",
2327
+ "24h",
2328
+ "7d",
2329
+ "30d"
2330
+ ]
2331
+ },
2332
+ "metrics": {
2333
+ "type": "array",
2334
+ "description": "Specific metrics to include (responseTime, cacheHitRate, errorRate, memoryUsage, requestVolume)"
2335
+ },
2336
+ "includeTrends": {
2337
+ "type": "boolean",
2338
+ "description": "Include trend analysis (default: true)",
2339
+ "default": true
2340
+ }
2341
+ }
2342
+ }
2343
+ }
2344
+ }
2345
+ },
2346
+ "responses": {
2347
+ "200": {
2348
+ "description": "Successful response",
2349
+ "content": {
2350
+ "application/json": {
2351
+ "schema": {
2352
+ "type": "object"
2353
+ }
2354
+ }
2355
+ }
2356
+ },
2357
+ "400": {
2358
+ "description": "Bad request - invalid parameters"
2359
+ },
2360
+ "401": {
2361
+ "description": "Authentication failed"
2362
+ },
2363
+ "500": {
2364
+ "description": "Internal server error"
2365
+ }
2366
+ }
2367
+ }
2368
+ },
2369
+ "/tools/wp_performance_optimize": {
2370
+ "post": {
2371
+ "summary": "Get optimization recommendations and insights",
2372
+ "description": "Execute wp_performance_optimize MCP tool",
2373
+ "tags": [
2374
+ "performance"
2375
+ ],
2376
+ "requestBody": {
2377
+ "required": true,
2378
+ "content": {
2379
+ "application/json": {
2380
+ "schema": {
2381
+ "type": "object",
2382
+ "properties": {
2383
+ "site": {
2384
+ "type": "string",
2385
+ "description": "Specific site ID for multi-site setups (optional for single site)"
2386
+ },
2387
+ "focus": {
2388
+ "type": "string",
2389
+ "description": "Optimization focus area (speed, reliability, efficiency, scaling)",
2390
+ "enum": [
2391
+ "speed",
2392
+ "reliability",
2393
+ "efficiency",
2394
+ "scaling"
2395
+ ]
2396
+ },
2397
+ "priority": {
2398
+ "type": "string",
2399
+ "description": "Implementation timeline (quick_wins, medium_term, long_term, all)",
2400
+ "enum": [
2401
+ "quick_wins",
2402
+ "medium_term",
2403
+ "long_term",
2404
+ "all"
2405
+ ]
2406
+ },
2407
+ "includeROI": {
2408
+ "type": "boolean",
2409
+ "description": "Include ROI estimates (default: true)"
2410
+ },
2411
+ "includePredictions": {
2412
+ "type": "boolean",
2413
+ "description": "Include performance predictions (default: true)"
2414
+ }
2415
+ }
2416
+ }
2417
+ }
2418
+ }
2419
+ },
2420
+ "responses": {
2421
+ "200": {
2422
+ "description": "Successful response",
2423
+ "content": {
2424
+ "application/json": {
2425
+ "schema": {
2426
+ "type": "object"
2427
+ }
2428
+ }
2429
+ }
2430
+ },
2431
+ "400": {
2432
+ "description": "Bad request - invalid parameters"
2433
+ },
2434
+ "401": {
2435
+ "description": "Authentication failed"
2436
+ },
2437
+ "500": {
2438
+ "description": "Internal server error"
2439
+ }
2440
+ }
2441
+ }
2442
+ },
2443
+ "/tools/wp_performance_stats": {
2444
+ "post": {
2445
+ "summary": "Get real-time performance statistics and metrics",
2446
+ "description": "Execute wp_performance_stats MCP tool",
2447
+ "tags": [
2448
+ "performance"
2449
+ ],
2450
+ "requestBody": {
2451
+ "required": true,
2452
+ "content": {
2453
+ "application/json": {
2454
+ "schema": {
2455
+ "type": "object",
2456
+ "properties": {
2457
+ "site": {
2458
+ "type": "string",
2459
+ "description": "Specific site ID for multi-site setups (optional for single site)"
2460
+ },
2461
+ "category": {
2462
+ "type": "string",
2463
+ "description": "Category of metrics to return (overview, requests, cache, system, tools, all)",
2464
+ "enum": [
2465
+ "overview",
2466
+ "requests",
2467
+ "cache",
2468
+ "system",
2469
+ "tools",
2470
+ "all"
2471
+ ],
2472
+ "default": "all"
2473
+ },
2474
+ "format": {
2475
+ "type": "string",
2476
+ "description": "Detail level of the response (summary, detailed, raw)",
2477
+ "enum": [
2478
+ "summary",
2479
+ "detailed",
2480
+ "raw"
2481
+ ],
2482
+ "default": "summary"
2483
+ }
2484
+ }
2485
+ }
2486
+ }
2487
+ }
2488
+ },
2489
+ "responses": {
2490
+ "200": {
2491
+ "description": "Successful response",
2492
+ "content": {
2493
+ "application/json": {
2494
+ "schema": {
2495
+ "type": "object"
2496
+ }
2497
+ }
2498
+ }
2499
+ },
2500
+ "400": {
2501
+ "description": "Bad request - invalid parameters"
2502
+ },
2503
+ "401": {
2504
+ "description": "Authentication failed"
2505
+ },
2506
+ "500": {
2507
+ "description": "Internal server error"
2508
+ }
2509
+ }
2510
+ }
2511
+ },
2512
+ "/tools/wp_search_site": {
2513
+ "post": {
2514
+ "summary": "Performs a site-wide search for content.",
2515
+ "description": "Execute wp_search_site MCP tool",
2516
+ "tags": [
2517
+ "site"
2518
+ ],
2519
+ "requestBody": {
2520
+ "required": true,
2521
+ "content": {
2522
+ "application/json": {
2523
+ "schema": {
2524
+ "type": "object",
2525
+ "properties": {
2526
+ "term": {
2527
+ "type": "string",
2528
+ "description": "The search term to look for."
2529
+ },
2530
+ "type": {
2531
+ "type": "string",
2532
+ "description": "The type of content to search."
2533
+ }
2534
+ },
2535
+ "required": [
2536
+ "term"
2537
+ ]
2538
+ }
2539
+ }
2540
+ }
2541
+ },
2542
+ "responses": {
2543
+ "200": {
2544
+ "description": "Successful response",
2545
+ "content": {
2546
+ "application/json": {
2547
+ "schema": {
2548
+ "type": "object"
2549
+ }
2550
+ }
2551
+ }
2552
+ },
2553
+ "400": {
2554
+ "description": "Bad request - invalid parameters"
2555
+ },
2556
+ "401": {
2557
+ "description": "Authentication failed"
2558
+ },
2559
+ "500": {
2560
+ "description": "Internal server error"
2561
+ }
2562
+ }
2563
+ }
2564
+ },
2565
+ "/tools/wp_spam_comment": {
2566
+ "post": {
2567
+ "summary": "Marks a comment as spam.",
2568
+ "description": "Execute wp_spam_comment MCP tool",
2569
+ "tags": [
2570
+ "comment"
2571
+ ],
2572
+ "requestBody": {
2573
+ "required": true,
2574
+ "content": {
2575
+ "application/json": {
2576
+ "schema": {
2577
+ "type": "object",
2578
+ "properties": {
2579
+ "id": {
2580
+ "type": "number",
2581
+ "description": "The ID of the comment to mark as spam."
2582
+ }
2583
+ },
2584
+ "required": [
2585
+ "id"
2586
+ ]
2587
+ }
2588
+ }
2589
+ }
2590
+ },
2591
+ "responses": {
2592
+ "200": {
2593
+ "description": "Successful response",
2594
+ "content": {
2595
+ "application/json": {
2596
+ "schema": {
2597
+ "type": "object"
2598
+ }
2599
+ }
2600
+ }
2601
+ },
2602
+ "400": {
2603
+ "description": "Bad request - invalid parameters"
2604
+ },
2605
+ "401": {
2606
+ "description": "Authentication failed"
2607
+ },
2608
+ "500": {
2609
+ "description": "Internal server error"
2610
+ }
2611
+ }
2612
+ }
2613
+ },
2614
+ "/tools/wp_switch_auth_method": {
2615
+ "post": {
2616
+ "summary": "Switches the authentication method for a site for the current session.",
2617
+ "description": "Execute wp_switch_auth_method MCP tool",
2618
+ "tags": [
2619
+ "auth"
2620
+ ],
2621
+ "requestBody": {
2622
+ "required": true,
2623
+ "content": {
2624
+ "application/json": {
2625
+ "schema": {
2626
+ "type": "object",
2627
+ "properties": {
2628
+ "method": {
2629
+ "type": "string",
2630
+ "description": "The new authentication method to use."
2631
+ },
2632
+ "username": {
2633
+ "type": "string",
2634
+ "description": "The username for 'app-password' or 'basic' authentication."
2635
+ },
2636
+ "password": {
2637
+ "type": "string",
2638
+ "description": "The Application Password for 'app-password' or password for 'basic' auth."
2639
+ },
2640
+ "jwt_token": {
2641
+ "type": "string",
2642
+ "description": "The token for 'jwt' authentication."
2643
+ }
2644
+ },
2645
+ "required": [
2646
+ "method"
2647
+ ]
2648
+ }
2649
+ }
2650
+ }
2651
+ },
2652
+ "responses": {
2653
+ "200": {
2654
+ "description": "Successful response",
2655
+ "content": {
2656
+ "application/json": {
2657
+ "schema": {
2658
+ "type": "object"
2659
+ }
2660
+ }
2661
+ }
2662
+ },
2663
+ "400": {
2664
+ "description": "Bad request - invalid parameters"
2665
+ },
2666
+ "401": {
2667
+ "description": "Authentication failed"
2668
+ },
2669
+ "500": {
2670
+ "description": "Internal server error"
2671
+ }
2672
+ }
2673
+ }
2674
+ },
2675
+ "/tools/wp_test_auth": {
2676
+ "post": {
2677
+ "summary": "Tests the authentication and connectivity for a configured WordPress site.",
2678
+ "description": "Execute wp_test_auth MCP tool",
2679
+ "tags": [
2680
+ "auth"
2681
+ ],
2682
+ "requestBody": {
2683
+ "required": true,
2684
+ "content": {
2685
+ "application/json": {
2686
+ "schema": {
2687
+ "type": "object",
2688
+ "properties": {}
2689
+ }
2690
+ }
2691
+ }
2692
+ },
2693
+ "responses": {
2694
+ "200": {
2695
+ "description": "Successful response",
2696
+ "content": {
2697
+ "application/json": {
2698
+ "schema": {
2699
+ "type": "object"
2700
+ }
2701
+ }
2702
+ }
2703
+ },
2704
+ "400": {
2705
+ "description": "Bad request - invalid parameters"
2706
+ },
2707
+ "401": {
2708
+ "description": "Authentication failed"
2709
+ },
2710
+ "500": {
2711
+ "description": "Internal server error"
2712
+ }
2713
+ }
2714
+ }
2715
+ },
2716
+ "/tools/wp_update_category": {
2717
+ "post": {
2718
+ "summary": "Updates an existing category.",
2719
+ "description": "Execute wp_update_category MCP tool",
2720
+ "tags": [
2721
+ "taxonomy"
2722
+ ],
2723
+ "requestBody": {
2724
+ "required": true,
2725
+ "content": {
2726
+ "application/json": {
2727
+ "schema": {
2728
+ "type": "object",
2729
+ "properties": {
2730
+ "id": {
2731
+ "type": "number",
2732
+ "description": "The ID of the category to update."
2733
+ },
2734
+ "name": {
2735
+ "type": "string",
2736
+ "description": "The new name for the category."
2737
+ }
2738
+ },
2739
+ "required": [
2740
+ "id"
2741
+ ]
2742
+ }
2743
+ }
2744
+ }
2745
+ },
2746
+ "responses": {
2747
+ "200": {
2748
+ "description": "Successful response",
2749
+ "content": {
2750
+ "application/json": {
2751
+ "schema": {
2752
+ "type": "object"
2753
+ }
2754
+ }
2755
+ }
2756
+ },
2757
+ "400": {
2758
+ "description": "Bad request - invalid parameters"
2759
+ },
2760
+ "401": {
2761
+ "description": "Authentication failed"
2762
+ },
2763
+ "500": {
2764
+ "description": "Internal server error"
2765
+ }
2766
+ }
2767
+ }
2768
+ },
2769
+ "/tools/wp_update_comment": {
2770
+ "post": {
2771
+ "summary": "Updates an existing comment.",
2772
+ "description": "Execute wp_update_comment MCP tool",
2773
+ "tags": [
2774
+ "comment"
2775
+ ],
2776
+ "requestBody": {
2777
+ "required": true,
2778
+ "content": {
2779
+ "application/json": {
2780
+ "schema": {
2781
+ "type": "object",
2782
+ "properties": {
2783
+ "id": {
2784
+ "type": "number",
2785
+ "description": "The ID of the comment to update."
2786
+ },
2787
+ "content": {
2788
+ "type": "string",
2789
+ "description": "The updated content for the comment."
2790
+ },
2791
+ "status": {
2792
+ "type": "string",
2793
+ "description": "The new status for the comment.",
2794
+ "enum": [
2795
+ "publish",
2796
+ "draft",
2797
+ "private",
2798
+ "pending",
2799
+ "future"
2800
+ ],
2801
+ "default": "publish"
2802
+ }
2803
+ },
2804
+ "required": [
2805
+ "id"
2806
+ ]
2807
+ }
2808
+ }
2809
+ }
2810
+ },
2811
+ "responses": {
2812
+ "200": {
2813
+ "description": "Successful response",
2814
+ "content": {
2815
+ "application/json": {
2816
+ "schema": {
2817
+ "type": "object"
2818
+ }
2819
+ }
2820
+ }
2821
+ },
2822
+ "400": {
2823
+ "description": "Bad request - invalid parameters"
2824
+ },
2825
+ "401": {
2826
+ "description": "Authentication failed"
2827
+ },
2828
+ "500": {
2829
+ "description": "Internal server error"
2830
+ }
2831
+ }
2832
+ }
2833
+ },
2834
+ "/tools/wp_update_media": {
2835
+ "post": {
2836
+ "summary": "Updates the metadata of an existing media item.",
2837
+ "description": "Execute wp_update_media MCP tool",
2838
+ "tags": [
2839
+ "media"
2840
+ ],
2841
+ "requestBody": {
2842
+ "required": true,
2843
+ "content": {
2844
+ "application/json": {
2845
+ "schema": {
2846
+ "type": "object",
2847
+ "properties": {
2848
+ "id": {
2849
+ "type": "number",
2850
+ "description": "The ID of the media item to update."
2851
+ },
2852
+ "title": {
2853
+ "type": "string",
2854
+ "description": "The new title for the media item."
2855
+ },
2856
+ "alt_text": {
2857
+ "type": "string",
2858
+ "description": "The new alternative text."
2859
+ },
2860
+ "caption": {
2861
+ "type": "string",
2862
+ "description": "The new caption."
2863
+ },
2864
+ "description": {
2865
+ "type": "string",
2866
+ "description": "The new description."
2867
+ }
2868
+ },
2869
+ "required": [
2870
+ "id"
2871
+ ]
2872
+ }
2873
+ }
2874
+ }
2875
+ },
2876
+ "responses": {
2877
+ "200": {
2878
+ "description": "Successful response",
2879
+ "content": {
2880
+ "application/json": {
2881
+ "schema": {
2882
+ "type": "object"
2883
+ }
2884
+ }
2885
+ }
2886
+ },
2887
+ "400": {
2888
+ "description": "Bad request - invalid parameters"
2889
+ },
2890
+ "401": {
2891
+ "description": "Authentication failed"
2892
+ },
2893
+ "500": {
2894
+ "description": "Internal server error"
2895
+ }
2896
+ }
2897
+ }
2898
+ },
2899
+ "/tools/wp_update_page": {
2900
+ "post": {
2901
+ "summary": "Updates an existing page.",
2902
+ "description": "Execute wp_update_page MCP tool",
2903
+ "tags": [
2904
+ "page"
2905
+ ],
2906
+ "requestBody": {
2907
+ "required": true,
2908
+ "content": {
2909
+ "application/json": {
2910
+ "schema": {
2911
+ "type": "object",
2912
+ "properties": {
2913
+ "id": {
2914
+ "type": "number",
2915
+ "description": "The ID of the page to update."
2916
+ },
2917
+ "title": {
2918
+ "type": "string",
2919
+ "description": "The new title for the page."
2920
+ },
2921
+ "content": {
2922
+ "type": "string",
2923
+ "description": "The new content for the page, in HTML format."
2924
+ },
2925
+ "status": {
2926
+ "type": "string",
2927
+ "description": "The new status for the page.",
2928
+ "enum": [
2929
+ "publish",
2930
+ "draft",
2931
+ "private",
2932
+ "pending",
2933
+ "future"
2934
+ ],
2935
+ "default": "publish"
2936
+ }
2937
+ },
2938
+ "required": [
2939
+ "id"
2940
+ ]
2941
+ }
2942
+ }
2943
+ }
2944
+ },
2945
+ "responses": {
2946
+ "200": {
2947
+ "description": "Successful response",
2948
+ "content": {
2949
+ "application/json": {
2950
+ "schema": {
2951
+ "type": "object"
2952
+ }
2953
+ }
2954
+ }
2955
+ },
2956
+ "400": {
2957
+ "description": "Bad request - invalid parameters"
2958
+ },
2959
+ "401": {
2960
+ "description": "Authentication failed"
2961
+ },
2962
+ "500": {
2963
+ "description": "Internal server error"
2964
+ }
2965
+ }
2966
+ }
2967
+ },
2968
+ "/tools/wp_update_post": {
2969
+ "post": {
2970
+ "summary": "Updates an existing post.",
2971
+ "description": "Execute wp_update_post MCP tool",
2972
+ "tags": [
2973
+ "post"
2974
+ ],
2975
+ "requestBody": {
2976
+ "required": true,
2977
+ "content": {
2978
+ "application/json": {
2979
+ "schema": {
2980
+ "type": "object",
2981
+ "properties": {
2982
+ "id": {
2983
+ "type": "number",
2984
+ "description": "The ID of the post to update."
2985
+ },
2986
+ "title": {
2987
+ "type": "string",
2988
+ "description": "The new title for the post."
2989
+ },
2990
+ "content": {
2991
+ "type": "string",
2992
+ "description": "The new content for the post, in HTML format."
2993
+ },
2994
+ "status": {
2995
+ "type": "string",
2996
+ "description": "The new status for the post.",
2997
+ "enum": [
2998
+ "publish",
2999
+ "draft",
3000
+ "private",
3001
+ "pending",
3002
+ "future"
3003
+ ],
3004
+ "default": "publish"
3005
+ }
3006
+ },
3007
+ "required": [
3008
+ "id"
3009
+ ]
3010
+ }
3011
+ }
3012
+ }
3013
+ },
3014
+ "responses": {
3015
+ "200": {
3016
+ "description": "Successful response",
3017
+ "content": {
3018
+ "application/json": {
3019
+ "schema": {
3020
+ "type": "object"
3021
+ }
3022
+ }
3023
+ }
3024
+ },
3025
+ "400": {
3026
+ "description": "Bad request - invalid parameters"
3027
+ },
3028
+ "401": {
3029
+ "description": "Authentication failed"
3030
+ },
3031
+ "500": {
3032
+ "description": "Internal server error"
3033
+ }
3034
+ }
3035
+ }
3036
+ },
3037
+ "/tools/wp_update_site_settings": {
3038
+ "post": {
3039
+ "summary": "Updates one or more general settings for a WordPress site.",
3040
+ "description": "Execute wp_update_site_settings MCP tool",
3041
+ "tags": [
3042
+ "site"
3043
+ ],
3044
+ "requestBody": {
3045
+ "required": true,
3046
+ "content": {
3047
+ "application/json": {
3048
+ "schema": {
3049
+ "type": "object",
3050
+ "properties": {
3051
+ "title": {
3052
+ "type": "string",
3053
+ "description": "The title of the site."
3054
+ },
3055
+ "description": {
3056
+ "type": "string",
3057
+ "description": "The tagline or description of the site."
3058
+ },
3059
+ "timezone": {
3060
+ "type": "string",
3061
+ "description": "A city in the same timezone, e.g., 'America/New_York'."
3062
+ }
3063
+ }
3064
+ }
3065
+ }
3066
+ }
3067
+ },
3068
+ "responses": {
3069
+ "200": {
3070
+ "description": "Successful response",
3071
+ "content": {
3072
+ "application/json": {
3073
+ "schema": {
3074
+ "type": "object"
3075
+ }
3076
+ }
3077
+ }
3078
+ },
3079
+ "400": {
3080
+ "description": "Bad request - invalid parameters"
3081
+ },
3082
+ "401": {
3083
+ "description": "Authentication failed"
3084
+ },
3085
+ "500": {
3086
+ "description": "Internal server error"
3087
+ }
3088
+ }
3089
+ }
3090
+ },
3091
+ "/tools/wp_update_tag": {
3092
+ "post": {
3093
+ "summary": "Updates an existing tag.",
3094
+ "description": "Execute wp_update_tag MCP tool",
3095
+ "tags": [
3096
+ "taxonomy"
3097
+ ],
3098
+ "requestBody": {
3099
+ "required": true,
3100
+ "content": {
3101
+ "application/json": {
3102
+ "schema": {
3103
+ "type": "object",
3104
+ "properties": {
3105
+ "id": {
3106
+ "type": "number",
3107
+ "description": "The ID of the tag to update."
3108
+ },
3109
+ "name": {
3110
+ "type": "string",
3111
+ "description": "The new name for the tag."
3112
+ }
3113
+ },
3114
+ "required": [
3115
+ "id"
3116
+ ]
3117
+ }
3118
+ }
3119
+ }
3120
+ },
3121
+ "responses": {
3122
+ "200": {
3123
+ "description": "Successful response",
3124
+ "content": {
3125
+ "application/json": {
3126
+ "schema": {
3127
+ "type": "object"
3128
+ }
3129
+ }
3130
+ }
3131
+ },
3132
+ "400": {
3133
+ "description": "Bad request - invalid parameters"
3134
+ },
3135
+ "401": {
3136
+ "description": "Authentication failed"
3137
+ },
3138
+ "500": {
3139
+ "description": "Internal server error"
3140
+ }
3141
+ }
3142
+ }
3143
+ },
3144
+ "/tools/wp_update_user": {
3145
+ "post": {
3146
+ "summary": "Updates an existing user.",
3147
+ "description": "Execute wp_update_user MCP tool",
3148
+ "tags": [
3149
+ "user"
3150
+ ],
3151
+ "requestBody": {
3152
+ "required": true,
3153
+ "content": {
3154
+ "application/json": {
3155
+ "schema": {
3156
+ "type": "object",
3157
+ "properties": {
3158
+ "id": {
3159
+ "type": "number",
3160
+ "description": "The ID of the user to update."
3161
+ },
3162
+ "email": {
3163
+ "type": "string",
3164
+ "description": "The new email address for the user."
3165
+ },
3166
+ "name": {
3167
+ "type": "string",
3168
+ "description": "The new display name for the user."
3169
+ }
3170
+ },
3171
+ "required": [
3172
+ "id"
3173
+ ]
3174
+ }
3175
+ }
3176
+ }
3177
+ },
3178
+ "responses": {
3179
+ "200": {
3180
+ "description": "Successful response",
3181
+ "content": {
3182
+ "application/json": {
3183
+ "schema": {
3184
+ "type": "object"
3185
+ }
3186
+ }
3187
+ }
3188
+ },
3189
+ "400": {
3190
+ "description": "Bad request - invalid parameters"
3191
+ },
3192
+ "401": {
3193
+ "description": "Authentication failed"
3194
+ },
3195
+ "500": {
3196
+ "description": "Internal server error"
3197
+ }
3198
+ }
3199
+ }
3200
+ },
3201
+ "/tools/wp_upload_media": {
3202
+ "post": {
3203
+ "summary": "Uploads a file to the WordPress media library.",
3204
+ "description": "Execute wp_upload_media MCP tool",
3205
+ "tags": [
3206
+ "media"
3207
+ ],
3208
+ "requestBody": {
3209
+ "required": true,
3210
+ "content": {
3211
+ "application/json": {
3212
+ "schema": {
3213
+ "type": "object",
3214
+ "properties": {
3215
+ "file_path": {
3216
+ "type": "string",
3217
+ "description": "The local, absolute path to the file to upload."
3218
+ },
3219
+ "title": {
3220
+ "type": "string",
3221
+ "description": "The title for the media item."
3222
+ },
3223
+ "alt_text": {
3224
+ "type": "string",
3225
+ "description": "Alternative text for the media item (for accessibility)."
3226
+ },
3227
+ "caption": {
3228
+ "type": "string",
3229
+ "description": "The caption for the media item."
3230
+ },
3231
+ "description": {
3232
+ "type": "string",
3233
+ "description": "The description for the media item."
3234
+ },
3235
+ "post": {
3236
+ "type": "number",
3237
+ "description": "The ID of a post to attach this media to."
3238
+ }
3239
+ },
3240
+ "required": [
3241
+ "file_path"
3242
+ ]
3243
+ }
3244
+ }
3245
+ }
3246
+ },
3247
+ "responses": {
3248
+ "200": {
3249
+ "description": "Successful response",
3250
+ "content": {
3251
+ "application/json": {
3252
+ "schema": {
3253
+ "type": "object"
3254
+ }
3255
+ }
3256
+ }
3257
+ },
3258
+ "400": {
3259
+ "description": "Bad request - invalid parameters"
3260
+ },
3261
+ "401": {
3262
+ "description": "Authentication failed"
3263
+ },
3264
+ "500": {
3265
+ "description": "Internal server error"
3266
+ }
3267
+ }
3268
+ }
3269
+ }
3270
+ },
3271
+ "components": {
3272
+ "schemas": {
3273
+ "WordPressPost": {
3274
+ "type": "object",
3275
+ "description": "WordPress blog post object",
3276
+ "properties": {
3277
+ "id": {
3278
+ "type": "number",
3279
+ "description": "Unique identifier"
3280
+ },
3281
+ "title": {
3282
+ "type": "string",
3283
+ "description": "Post title"
3284
+ },
3285
+ "content": {
3286
+ "type": "string",
3287
+ "description": "Post content"
3288
+ },
3289
+ "status": {
3290
+ "type": "string",
3291
+ "description": "Publication status"
3292
+ }
3293
+ },
3294
+ "required": [
3295
+ "id",
3296
+ "title",
3297
+ "content",
3298
+ "status"
3299
+ ]
3300
+ }
3301
+ },
3302
+ "parameters": {},
3303
+ "responses": {}
3304
+ }
3305
+ }