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