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.
- package/README.md +388 -66
- package/dist/cache/CacheInvalidation.d.ts +118 -0
- package/dist/cache/CacheInvalidation.d.ts.map +1 -0
- package/dist/cache/CacheInvalidation.js +349 -0
- package/dist/cache/CacheInvalidation.js.map +1 -0
- package/dist/cache/CacheManager.d.ts +143 -0
- package/dist/cache/CacheManager.d.ts.map +1 -0
- package/dist/cache/CacheManager.js +308 -0
- package/dist/cache/CacheManager.js.map +1 -0
- package/dist/cache/HttpCacheWrapper.d.ts +121 -0
- package/dist/cache/HttpCacheWrapper.d.ts.map +1 -0
- package/dist/cache/HttpCacheWrapper.js +280 -0
- package/dist/cache/HttpCacheWrapper.js.map +1 -0
- package/dist/cache/__tests__/CacheInvalidation.test.d.ts +5 -0
- package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +1 -0
- package/dist/cache/__tests__/CacheInvalidation.test.js +236 -0
- package/dist/cache/__tests__/CacheInvalidation.test.js.map +1 -0
- package/dist/cache/__tests__/CacheManager.test.d.ts +5 -0
- package/dist/cache/__tests__/CacheManager.test.d.ts.map +1 -0
- package/dist/cache/__tests__/CacheManager.test.js +233 -0
- package/dist/cache/__tests__/CacheManager.test.js.map +1 -0
- package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +5 -0
- package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +1 -0
- package/dist/cache/__tests__/CachedWordPressClient.test.js +228 -0
- package/dist/cache/__tests__/CachedWordPressClient.test.js.map +1 -0
- package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +5 -0
- package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +1 -0
- package/dist/cache/__tests__/HttpCacheWrapper.test.js +296 -0
- package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -0
- package/dist/cache/index.d.ts +12 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +9 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/client/CachedWordPressClient.d.ts +160 -0
- package/dist/client/CachedWordPressClient.d.ts.map +1 -0
- package/dist/client/CachedWordPressClient.js +338 -0
- package/dist/client/CachedWordPressClient.js.map +1 -0
- package/dist/client/WordPressClient.d.ts +81 -0
- package/dist/client/WordPressClient.d.ts.map +1 -0
- package/dist/client/WordPressClient.js +354 -0
- package/dist/client/WordPressClient.js.map +1 -0
- package/dist/config/ConfigurationSchema.d.ts +281 -0
- package/dist/config/ConfigurationSchema.d.ts.map +1 -0
- package/dist/config/ConfigurationSchema.js +205 -0
- package/dist/config/ConfigurationSchema.js.map +1 -0
- package/dist/config/ServerConfiguration.d.ts +38 -0
- package/dist/config/ServerConfiguration.d.ts.map +1 -0
- package/dist/config/ServerConfiguration.js +158 -0
- package/dist/config/ServerConfiguration.js.map +1 -0
- package/dist/docs/DocumentationGenerator.d.ts +184 -0
- package/dist/docs/DocumentationGenerator.d.ts.map +1 -0
- package/dist/docs/DocumentationGenerator.js +735 -0
- package/dist/docs/DocumentationGenerator.js.map +1 -0
- package/dist/docs/MarkdownFormatter.d.ts +84 -0
- package/dist/docs/MarkdownFormatter.d.ts.map +1 -0
- package/dist/docs/MarkdownFormatter.js +448 -0
- package/dist/docs/MarkdownFormatter.js.map +1 -0
- package/dist/docs/index.d.ts +8 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +7 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -212
- package/dist/index.js.map +1 -1
- package/dist/performance/AnomalyDetector.d.ts +63 -0
- package/dist/performance/AnomalyDetector.d.ts.map +1 -0
- package/dist/performance/AnomalyDetector.js +222 -0
- package/dist/performance/AnomalyDetector.js.map +1 -0
- package/dist/performance/BenchmarkAnalyzer.d.ts +67 -0
- package/dist/performance/BenchmarkAnalyzer.d.ts.map +1 -0
- package/dist/performance/BenchmarkAnalyzer.js +301 -0
- package/dist/performance/BenchmarkAnalyzer.js.map +1 -0
- package/dist/performance/MetricsCollector.d.ts +139 -0
- package/dist/performance/MetricsCollector.d.ts.map +1 -0
- package/dist/performance/MetricsCollector.js +320 -0
- package/dist/performance/MetricsCollector.js.map +1 -0
- package/dist/performance/PerformanceAnalytics.d.ts +162 -0
- package/dist/performance/PerformanceAnalytics.d.ts.map +1 -0
- package/dist/performance/PerformanceAnalytics.js +554 -0
- package/dist/performance/PerformanceAnalytics.js.map +1 -0
- package/dist/performance/PerformanceMonitor.d.ts +202 -0
- package/dist/performance/PerformanceMonitor.d.ts.map +1 -0
- package/dist/performance/PerformanceMonitor.js +478 -0
- package/dist/performance/PerformanceMonitor.js.map +1 -0
- package/dist/performance/TrendAnalyzer.d.ts +69 -0
- package/dist/performance/TrendAnalyzer.d.ts.map +1 -0
- package/dist/performance/TrendAnalyzer.js +203 -0
- package/dist/performance/TrendAnalyzer.js.map +1 -0
- package/dist/performance/index.d.ts +11 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/index.js +8 -0
- package/dist/performance/index.js.map +1 -0
- package/dist/security/InputValidator.d.ts +215 -0
- package/dist/security/InputValidator.d.ts.map +1 -0
- package/dist/security/InputValidator.js +278 -0
- package/dist/security/InputValidator.js.map +1 -0
- package/dist/security/SecurityConfig.d.ts +129 -0
- package/dist/security/SecurityConfig.d.ts.map +1 -0
- package/dist/security/SecurityConfig.js +262 -0
- package/dist/security/SecurityConfig.js.map +1 -0
- package/dist/server/ConnectionTester.d.ts +24 -0
- package/dist/server/ConnectionTester.d.ts.map +1 -0
- package/dist/server/ConnectionTester.js +61 -0
- package/dist/server/ConnectionTester.js.map +1 -0
- package/dist/server/ToolRegistry.d.ts +46 -0
- package/dist/server/ToolRegistry.d.ts.map +1 -0
- package/dist/server/ToolRegistry.js +148 -0
- package/dist/server/ToolRegistry.js.map +1 -0
- package/dist/tools/BaseToolClass.d.ts +76 -0
- package/dist/tools/BaseToolClass.d.ts.map +1 -0
- package/dist/tools/BaseToolClass.js +104 -0
- package/dist/tools/BaseToolClass.js.map +1 -0
- package/dist/tools/BaseToolManager.d.ts +26 -0
- package/dist/tools/BaseToolManager.d.ts.map +1 -0
- package/dist/tools/BaseToolManager.js +56 -0
- package/dist/tools/BaseToolManager.js.map +1 -0
- package/dist/tools/base.d.ts +37 -0
- package/dist/tools/base.d.ts.map +1 -0
- package/dist/tools/base.js +60 -0
- package/dist/tools/base.js.map +1 -0
- package/dist/tools/cache.d.ts +260 -0
- package/dist/tools/cache.d.ts.map +1 -0
- package/dist/tools/cache.js +237 -0
- package/dist/tools/cache.js.map +1 -0
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/performance.d.ts +63 -0
- package/dist/tools/performance.d.ts.map +1 -0
- package/dist/tools/performance.js +865 -0
- package/dist/tools/performance.js.map +1 -0
- package/dist/types/client.d.ts +1 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.js.map +1 -1
- package/dist/utils/toolWrapper.d.ts +4 -0
- package/dist/utils/toolWrapper.d.ts.map +1 -1
- package/dist/utils/toolWrapper.js +11 -0
- package/dist/utils/toolWrapper.js.map +1 -1
- package/dist/utils/validation.d.ts +68 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +185 -0
- package/dist/utils/validation.js.map +1 -0
- package/docs/CACHING.md +340 -0
- package/docs/DOCKER.md +451 -0
- package/docs/PERFORMANCE_MONITORING.md +471 -0
- package/docs/SECURITY_TESTING.md +393 -0
- package/docs/api/README.md +200 -0
- package/docs/api/categories/auth.md +40 -0
- package/docs/api/categories/cache.md +41 -0
- package/docs/api/categories/comment.md +44 -0
- package/docs/api/categories/media.md +43 -0
- package/docs/api/categories/page.md +43 -0
- package/docs/api/categories/performance.md +44 -0
- package/docs/api/categories/post.md +43 -0
- package/docs/api/categories/site.md +43 -0
- package/docs/api/categories/taxonomy.md +47 -0
- package/docs/api/categories/user.md +43 -0
- package/docs/api/openapi.json +3305 -0
- package/docs/api/summary.json +12 -0
- package/docs/api/tools/wp_approve_comment.md +98 -0
- package/docs/api/tools/wp_cache_clear.md +120 -0
- package/docs/api/tools/wp_cache_info.md +119 -0
- package/docs/api/tools/wp_cache_stats.md +119 -0
- package/docs/api/tools/wp_cache_warm.md +119 -0
- package/docs/api/tools/wp_create_application_password.md +102 -0
- package/docs/api/tools/wp_create_category.md +102 -0
- package/docs/api/tools/wp_create_comment.md +128 -0
- package/docs/api/tools/wp_create_page.md +135 -0
- package/docs/api/tools/wp_create_post.md +147 -0
- package/docs/api/tools/wp_create_tag.md +101 -0
- package/docs/api/tools/wp_create_user.md +135 -0
- package/docs/api/tools/wp_delete_application_password.md +101 -0
- package/docs/api/tools/wp_delete_category.md +100 -0
- package/docs/api/tools/wp_delete_comment.md +101 -0
- package/docs/api/tools/wp_delete_media.md +108 -0
- package/docs/api/tools/wp_delete_page.md +108 -0
- package/docs/api/tools/wp_delete_post.md +117 -0
- package/docs/api/tools/wp_delete_tag.md +100 -0
- package/docs/api/tools/wp_delete_user.md +108 -0
- package/docs/api/tools/wp_get_application_passwords.md +103 -0
- package/docs/api/tools/wp_get_auth_status.md +101 -0
- package/docs/api/tools/wp_get_category.md +103 -0
- package/docs/api/tools/wp_get_comment.md +103 -0
- package/docs/api/tools/wp_get_current_user.md +101 -0
- package/docs/api/tools/wp_get_media.md +103 -0
- package/docs/api/tools/wp_get_page.md +103 -0
- package/docs/api/tools/wp_get_page_revisions.md +103 -0
- package/docs/api/tools/wp_get_post.md +112 -0
- package/docs/api/tools/wp_get_post_revisions.md +103 -0
- package/docs/api/tools/wp_get_site_settings.md +108 -0
- package/docs/api/tools/wp_get_tag.md +103 -0
- package/docs/api/tools/wp_get_user.md +103 -0
- package/docs/api/tools/wp_list_categories.md +111 -0
- package/docs/api/tools/wp_list_comments.md +111 -0
- package/docs/api/tools/wp_list_media.md +145 -0
- package/docs/api/tools/wp_list_pages.md +145 -0
- package/docs/api/tools/wp_list_posts.md +156 -0
- package/docs/api/tools/wp_list_tags.md +110 -0
- package/docs/api/tools/wp_list_users.md +111 -0
- package/docs/api/tools/wp_performance_alerts.md +162 -0
- package/docs/api/tools/wp_performance_benchmark.md +160 -0
- package/docs/api/tools/wp_performance_export.md +162 -0
- package/docs/api/tools/wp_performance_history.md +161 -0
- package/docs/api/tools/wp_performance_optimize.md +162 -0
- package/docs/api/tools/wp_performance_stats.md +160 -0
- package/docs/api/tools/wp_search_site.md +99 -0
- package/docs/api/tools/wp_spam_comment.md +98 -0
- package/docs/api/tools/wp_switch_auth_method.md +122 -0
- package/docs/api/tools/wp_test_auth.md +96 -0
- package/docs/api/tools/wp_update_category.md +102 -0
- package/docs/api/tools/wp_update_comment.md +127 -0
- package/docs/api/tools/wp_update_media.md +129 -0
- package/docs/api/tools/wp_update_page.md +135 -0
- package/docs/api/tools/wp_update_post.md +144 -0
- package/docs/api/tools/wp_update_site_settings.md +127 -0
- package/docs/api/tools/wp_update_tag.md +102 -0
- package/docs/api/tools/wp_update_user.md +134 -0
- package/docs/api/tools/wp_upload_media.md +131 -0
- package/docs/api/types/WordPressPost.md +39 -0
- package/docs/contract-testing.md +183 -0
- package/docs/developer/NPM_AUTH_SETUP.md +3 -3
- package/docs/wordpress-rest-api-authentication-troubleshooting.md +218 -0
- package/package.json +84 -64
- package/src/cache/CacheInvalidation.ts +421 -0
- package/src/cache/CacheManager.ts +391 -0
- package/src/cache/HttpCacheWrapper.ts +372 -0
- package/src/cache/__tests__/CacheInvalidation.test.ts +299 -0
- package/src/cache/__tests__/CacheManager.test.ts +300 -0
- package/src/cache/__tests__/CachedWordPressClient.test.ts +304 -0
- package/src/cache/__tests__/HttpCacheWrapper.test.ts +359 -0
- package/src/cache/index.ts +26 -0
- package/src/client/CachedWordPressClient.ts +442 -0
- package/src/config/ConfigurationSchema.ts +246 -0
- package/src/config/ServerConfiguration.ts +215 -0
- package/src/docs/DocumentationGenerator.ts +952 -0
- package/src/docs/MarkdownFormatter.ts +494 -0
- package/src/docs/index.ts +21 -0
- package/src/index.ts +14 -274
- package/src/performance/MetricsCollector.ts +447 -0
- package/src/performance/PerformanceAnalytics.ts +762 -0
- package/src/performance/PerformanceMonitor.ts +649 -0
- package/src/performance/index.ts +28 -0
- package/src/security/InputValidator.ts +319 -0
- package/src/security/SecurityConfig.ts +301 -0
- package/src/server/ConnectionTester.ts +74 -0
- package/src/server/ToolRegistry.ts +194 -0
- package/src/tools/BaseToolManager.ts +66 -0
- package/src/tools/cache.ts +259 -0
- package/src/tools/index.ts +2 -0
- package/src/tools/performance.ts +948 -0
- package/src/types/client.ts +1 -0
- package/src/utils/toolWrapper.ts +11 -0
- package/src/utils/validation.ts +259 -0
package/README.md
CHANGED
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
# MCP WordPress Server
|
|
2
2
|
|
|
3
|
+
<div align="center">
|
|
4
|
+
<img src="images/wordpress-mcp-logo.png" width="50%" alt="WordPress MCP Logo">
|
|
5
|
+
</div>
|
|
6
|
+
|
|
3
7
|
A comprehensive Model Context Protocol (MCP) server for WordPress management through the WordPress REST API v2. Completely written in TypeScript with modular architecture and 95%+ test coverage.
|
|
4
8
|
|
|
5
9
|
[](https://www.npmjs.com/package/mcp-wordpress)
|
|
6
|
-
[](https://github.com/
|
|
7
|
-
[](https://github.com/
|
|
8
|
-
[](https://github.com/
|
|
10
|
+
[](https://github.com/thomasdyhr/mcp-wordpress)
|
|
11
|
+
[](https://github.com/thomasdyhr/mcp-wordpress)
|
|
12
|
+
[](https://github.com/thomasdyhr/mcp-wordpress/blob/main/REFACTORING.md)
|
|
9
13
|
|
|
10
14
|
## ๐ Features
|
|
11
15
|
|
|
12
|
-
- **
|
|
13
|
-
-
|
|
16
|
+
- **59 WordPress Management Tools** across 10 categories
|
|
17
|
+
- **โก Intelligent Caching System** - Multi-layer response caching with 50-70% performance improvement
|
|
18
|
+
- **๐ Real-Time Performance Monitoring** - Comprehensive metrics, analytics, and optimization insights
|
|
19
|
+
- **๐ Auto-Generated API Documentation** - Complete tool documentation with OpenAPI specification
|
|
20
|
+
- **๐ณ Docker Support** - Containerized deployment for production environments
|
|
21
|
+
- **๐ Modular Architecture** - Manager-based composition pattern (94% code reduction)
|
|
14
22
|
- **Multi-Site Support** - Manage multiple WordPress sites from one configuration
|
|
15
23
|
- **100% TypeScript** - Complete type safety and IntelliSense
|
|
16
24
|
- **๐ฏ 95%+ Test Coverage** - All critical functionality verified and tested
|
|
17
25
|
- **โก Performance Optimized** - Intelligent rate limiting and memory management
|
|
18
|
-
-
|
|
26
|
+
- **๐ Flexible Authentication** - Supports App Passwords, JWT, Basic Auth, API Key
|
|
19
27
|
- **๐ Comprehensive Monitoring** - Structured logging and error tracking
|
|
20
|
-
-
|
|
28
|
+
- **๐ Production Ready** - Security-reviewed and battle-tested
|
|
21
29
|
- **๐ 100% Backward Compatible** - Zero breaking changes during refactoring
|
|
22
30
|
|
|
23
31
|
## โก Quick Start
|
|
@@ -38,7 +46,7 @@ mcp-wordpress
|
|
|
38
46
|
### Option 2: Local Development
|
|
39
47
|
|
|
40
48
|
```bash
|
|
41
|
-
git clone https://github.com/
|
|
49
|
+
git clone https://github.com/thomasdyhr/mcp-wordpress.git
|
|
42
50
|
cd mcp-wordpress
|
|
43
51
|
npm install
|
|
44
52
|
npm run setup
|
|
@@ -55,35 +63,85 @@ npx mcp-wordpress setup
|
|
|
55
63
|
npm run setup
|
|
56
64
|
```
|
|
57
65
|
|
|
58
|
-
## ๐ Latest Achievement: v1.1
|
|
66
|
+
## ๐ Latest Achievement: v1.2.1 - Test Infrastructure & Multi-Site Enhancement
|
|
67
|
+
|
|
68
|
+
Building on v1.2.0's performance monitoring and documentation features, v1.2.1 delivers **100% test reliability**, **enhanced multi-site support**, and **production-ready repository organization**:
|
|
69
|
+
|
|
70
|
+
### โ
Test Infrastructure Overhaul (v1.2.1)
|
|
71
|
+
|
|
72
|
+
- **๐ง 100% Test Success Rate**: Fixed all failing integration and tool tests
|
|
73
|
+
- **๐ Multi-Site Testing**: Comprehensive test suite for multi-site WordPress configurations
|
|
74
|
+
- **๐ก๏ธ Enhanced Security**: Improved .gitignore and credential protection
|
|
75
|
+
- **๐ Test Organization**: Streamlined test scripts and better error reporting
|
|
76
|
+
- **โก Quick Validation**: New `npm run test:multisite` command for rapid configuration testing
|
|
77
|
+
|
|
78
|
+
### ๐ Multi-Site Configuration Enhancements (v1.2.1)
|
|
79
|
+
|
|
80
|
+
- **๐ Complete Documentation**: Comprehensive Claude Desktop setup guide for multi-site usage
|
|
81
|
+
- **๐ง Fixed Configuration**: Resolved JWT authentication validation issues
|
|
82
|
+
- **โ
Site Validation**: Enhanced uniqueness checks for site URLs and IDs
|
|
83
|
+
- **๐ Quick Testing**: Instant validation of all configured WordPress sites
|
|
84
|
+
- **๐ Status Reporting**: Clear success/failure reporting for each site configuration
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## ๐ Previous Achievement: v1.2.0 - Performance & Documentation Revolution
|
|
89
|
+
|
|
90
|
+
We've implemented a **comprehensive performance monitoring system**, **intelligent caching**, **auto-generated documentation**, and **Docker containerization** - all while maintaining complete backward compatibility:
|
|
91
|
+
|
|
92
|
+
### โก Performance Monitoring System
|
|
93
|
+
|
|
94
|
+
- **๐ Real-Time Metrics**: Response times, cache hit rates, error tracking, system resources
|
|
95
|
+
- **๐ Historical Analytics**: Trend analysis, anomaly detection, predictive insights
|
|
96
|
+
- **๐ฏ Industry Benchmarks**: Compare against performance standards with optimization recommendations
|
|
97
|
+
- **๐จ Smart Alerts**: Automated performance alerts and threshold monitoring
|
|
98
|
+
- **๐ Comprehensive Reports**: Export detailed performance data in multiple formats
|
|
99
|
+
- **โ๏ธ Optimization Engine**: AI-powered recommendations for performance improvements
|
|
100
|
+
|
|
101
|
+
### ๐๏ธ Intelligent Caching System
|
|
102
|
+
|
|
103
|
+
- **๐ 50-70% Performance Improvement**: Reduced API calls for taxonomy and authentication operations
|
|
104
|
+
- **๐ Multi-Layer Architecture**: HTTP response caching + in-memory application cache + intelligent invalidation
|
|
105
|
+
- **๐ฏ Site-Specific Isolation**: Complete cache separation for multi-site WordPress installations
|
|
106
|
+
- **๐ง Cache Management Tools**: 4 new MCP tools for monitoring and managing cache performance
|
|
107
|
+
- **โฑ๏ธ Sub-Millisecond Operations**: Cache hits deliver responses in under 1ms
|
|
59
108
|
|
|
60
|
-
|
|
109
|
+
### ๐ Auto-Generated Documentation
|
|
61
110
|
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
- **๐ 85% Less Duplication**: Standardized error handling across all components
|
|
111
|
+
- **๐ Complete API Documentation**: All 59 tools with examples, parameters, and usage guides
|
|
112
|
+
- **๐ง OpenAPI Specification**: Machine-readable API spec for integration
|
|
113
|
+
- **๐ Automated CI/CD Pipeline**: Documentation updates automatically on code changes
|
|
114
|
+
- **โ
Quality Validation**: Comprehensive documentation quality checks
|
|
115
|
+
- **๐ Multi-Format Output**: Markdown, JSON, and OpenAPI formats
|
|
68
116
|
|
|
69
|
-
###
|
|
70
|
-
- **BaseManager**: Common functionality and error handling
|
|
71
|
-
- **AuthenticationManager**: Centralized auth handling and token management
|
|
72
|
-
- **RequestManager**: HTTP operations with retry logic and rate limiting
|
|
73
|
-
- **Backward Compatible**: Original api.ts now re-exports modular components
|
|
117
|
+
### ๐ณ Docker Containerization
|
|
74
118
|
|
|
75
|
-
|
|
119
|
+
- **๐ฆ Production-Ready Images**: Optimized Docker containers for deployment
|
|
120
|
+
- **๐ง Development Environment**: Docker Compose for local development
|
|
121
|
+
- **โ๏ธ Environment Configuration**: Flexible configuration via environment variables
|
|
122
|
+
- **๐ Easy Deployment**: One-command deployment to any Docker environment
|
|
76
123
|
|
|
77
|
-
|
|
124
|
+
**๐ Complete Documentation**:
|
|
125
|
+
|
|
126
|
+
- [Performance Monitoring Guide](./docs/PERFORMANCE.md)
|
|
127
|
+
- [Caching System Guide](./docs/CACHING.md)
|
|
128
|
+
- [API Documentation](./docs/api/README.md)
|
|
129
|
+
- [Docker Deployment Guide](./docs/DOCKER.md)
|
|
130
|
+
|
|
131
|
+
## ๐ Authentication & Testing Status (v1.2.1)
|
|
78
132
|
|
|
79
133
|
โ
**Application Passwords** - Tested and working perfectly
|
|
80
134
|
โ
**JWT Authentication** - Supported with plugin
|
|
81
135
|
โ
**Basic Authentication** - Development ready
|
|
82
136
|
โ
**API Key Authentication** - Plugin-based support
|
|
83
|
-
โ
**
|
|
137
|
+
โ
**Integration Tests** - 100% success rate (9/9 tests passing)
|
|
138
|
+
โ
**Multi-Site Tests** - 100% success rate (3/3 sites verified)
|
|
139
|
+
โ
**Security Tests** - 100% success rate (40/40 tests passing)
|
|
140
|
+
โ
**Performance Tests** - 100% success rate (8/8 tests passing)
|
|
84
141
|
โ
**Tool Tests** - 100% success rate (14/14 tools working)
|
|
85
142
|
|
|
86
143
|
The setup wizard guides you through:
|
|
144
|
+
|
|
87
145
|
- WordPress site configuration
|
|
88
146
|
- Authentication method selection
|
|
89
147
|
- Connection testing
|
|
@@ -95,7 +153,7 @@ The setup wizard guides you through:
|
|
|
95
153
|
|
|
96
154
|
If you want the absolute easiest setup, just paste this prompt into Claude Desktop:
|
|
97
155
|
|
|
98
|
-
```
|
|
156
|
+
```text
|
|
99
157
|
Set up the MCP WordPress server using NPX for my Claude Desktop.
|
|
100
158
|
|
|
101
159
|
My WordPress details:
|
|
@@ -115,8 +173,8 @@ I want to use the NPX version (mcp-wordpress) so I don't need to install anythin
|
|
|
115
173
|
|
|
116
174
|
For local development and customization:
|
|
117
175
|
|
|
118
|
-
```
|
|
119
|
-
Build and configure the MCP WordPress server project from https://github.com/
|
|
176
|
+
```text
|
|
177
|
+
Build and configure the MCP WordPress server project from https://github.com/thomasdyhr/mcp-wordpress locally on my computer.
|
|
120
178
|
|
|
121
179
|
Please:
|
|
122
180
|
1. Clone the repository to an appropriate directory
|
|
@@ -151,6 +209,7 @@ DEBUG=false
|
|
|
151
209
|
Configure MCP WordPress Server in your Claude Desktop `mcp.json` configuration file:
|
|
152
210
|
|
|
153
211
|
#### Option 1: NPX (Recommended)
|
|
212
|
+
|
|
154
213
|
```json
|
|
155
214
|
{
|
|
156
215
|
"mcpServers": {
|
|
@@ -169,6 +228,7 @@ Configure MCP WordPress Server in your Claude Desktop `mcp.json` configuration f
|
|
|
169
228
|
```
|
|
170
229
|
|
|
171
230
|
#### Option 2: Global Installation
|
|
231
|
+
|
|
172
232
|
```json
|
|
173
233
|
{
|
|
174
234
|
"mcpServers": {
|
|
@@ -186,6 +246,7 @@ Configure MCP WordPress Server in your Claude Desktop `mcp.json` configuration f
|
|
|
186
246
|
```
|
|
187
247
|
|
|
188
248
|
#### Option 3: Local Development
|
|
249
|
+
|
|
189
250
|
```json
|
|
190
251
|
{
|
|
191
252
|
"mcpServers": {
|
|
@@ -204,6 +265,7 @@ Configure MCP WordPress Server in your Claude Desktop `mcp.json` configuration f
|
|
|
204
265
|
```
|
|
205
266
|
|
|
206
267
|
#### Using .env File (Any Option)
|
|
268
|
+
|
|
207
269
|
If you prefer to use a `.env` file instead of environment variables in the config:
|
|
208
270
|
|
|
209
271
|
```json
|
|
@@ -254,6 +316,139 @@ Here's a complete `claude_desktop_config.json` file with MCP WordPress:
|
|
|
254
316
|
}
|
|
255
317
|
```
|
|
256
318
|
|
|
319
|
+
## ๐ Multi-Site Configuration
|
|
320
|
+
|
|
321
|
+
MCP WordPress Server supports managing multiple WordPress sites from a single configuration. This is perfect for agencies, developers managing multiple client sites, or anyone with multiple WordPress installations.
|
|
322
|
+
|
|
323
|
+
### Setting Up Multi-Site Configuration
|
|
324
|
+
|
|
325
|
+
1. **Create a `mcp-wordpress.config.json` file** in your project root:
|
|
326
|
+
|
|
327
|
+
```json
|
|
328
|
+
{
|
|
329
|
+
"sites": [
|
|
330
|
+
{
|
|
331
|
+
"id": "site1",
|
|
332
|
+
"name": "My Main Site",
|
|
333
|
+
"config": {
|
|
334
|
+
"WORDPRESS_SITE_URL": "https://site1.com",
|
|
335
|
+
"WORDPRESS_USERNAME": "admin",
|
|
336
|
+
"WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"id": "site2",
|
|
341
|
+
"name": "My Blog",
|
|
342
|
+
"config": {
|
|
343
|
+
"WORDPRESS_SITE_URL": "https://blog.site2.com",
|
|
344
|
+
"WORDPRESS_USERNAME": "editor",
|
|
345
|
+
"WORDPRESS_APP_PASSWORD": "yyyy yyyy yyyy yyyy yyyy yyyy",
|
|
346
|
+
"WORDPRESS_AUTH_METHOD": "app-password"
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"id": "dev",
|
|
351
|
+
"name": "Development Site",
|
|
352
|
+
"config": {
|
|
353
|
+
"WORDPRESS_SITE_URL": "http://localhost:8080",
|
|
354
|
+
"WORDPRESS_USERNAME": "dev_user",
|
|
355
|
+
"WORDPRESS_APP_PASSWORD": "zzzz zzzz zzzz zzzz zzzz zzzz"
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
]
|
|
359
|
+
}
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
1. **Configure Claude Desktop for Multi-Site**:
|
|
363
|
+
|
|
364
|
+
```json
|
|
365
|
+
{
|
|
366
|
+
"mcpServers": {
|
|
367
|
+
"mcp-wordpress": {
|
|
368
|
+
"command": "npx",
|
|
369
|
+
"args": ["mcp-wordpress"]
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
Note: When using multi-site configuration, you don't need to specify environment variables in Claude Desktop. The server will read from your `mcp-wordpress.config.json` file.
|
|
376
|
+
|
|
377
|
+
### Using Multi-Site Tools
|
|
378
|
+
|
|
379
|
+
When you have multiple sites configured, all tools require a `site` parameter:
|
|
380
|
+
|
|
381
|
+
```text
|
|
382
|
+
# List posts from site1
|
|
383
|
+
wp_list_posts --site="site1"
|
|
384
|
+
|
|
385
|
+
# Create a post on the blog site
|
|
386
|
+
wp_create_post --site="site2" --title="New Blog Post" --content="Content here"
|
|
387
|
+
|
|
388
|
+
# Get user info from development site
|
|
389
|
+
wp_get_current_user --site="dev"
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### Important Multi-Site Notes
|
|
393
|
+
|
|
394
|
+
- **Site IDs must be unique** - Each site needs a unique identifier
|
|
395
|
+
- **Security**: The `mcp-wordpress.config.json` file contains sensitive credentials and should NEVER be committed to version control
|
|
396
|
+
- **Default Site**: If only one site is configured, it will be used by default without needing the `--site` parameter
|
|
397
|
+
- **Authentication**: Each site can use different authentication methods (app-password, jwt, basic, api-key)
|
|
398
|
+
|
|
399
|
+
### Example: Managing Multiple Client Sites
|
|
400
|
+
|
|
401
|
+
```json
|
|
402
|
+
{
|
|
403
|
+
"sites": [
|
|
404
|
+
{
|
|
405
|
+
"id": "client-acme",
|
|
406
|
+
"name": "ACME Corporation",
|
|
407
|
+
"config": {
|
|
408
|
+
"WORDPRESS_SITE_URL": "https://acme-corp.com",
|
|
409
|
+
"WORDPRESS_USERNAME": "mcp_admin",
|
|
410
|
+
"WORDPRESS_APP_PASSWORD": "aaaa bbbb cccc dddd eeee ffff"
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"id": "client-tech",
|
|
415
|
+
"name": "TechStartup Blog",
|
|
416
|
+
"config": {
|
|
417
|
+
"WORDPRESS_SITE_URL": "https://blog.techstartup.io",
|
|
418
|
+
"WORDPRESS_USERNAME": "content_manager",
|
|
419
|
+
"WORDPRESS_APP_PASSWORD": "gggg hhhh iiii jjjj kkkk llll"
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"id": "client-shop",
|
|
424
|
+
"name": "Online Shop",
|
|
425
|
+
"config": {
|
|
426
|
+
"WORDPRESS_SITE_URL": "https://shop.example.com",
|
|
427
|
+
"WORDPRESS_USERNAME": "shop_admin",
|
|
428
|
+
"WORDPRESS_APP_PASSWORD": "mmmm nnnn oooo pppp qqqq rrrr",
|
|
429
|
+
"WORDPRESS_AUTH_METHOD": "jwt",
|
|
430
|
+
"WORDPRESS_JWT_SECRET": "your-jwt-secret-here"
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
]
|
|
434
|
+
}
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
Then in Claude Desktop, you can manage all sites:
|
|
438
|
+
|
|
439
|
+
```text
|
|
440
|
+
# Check posts across all client sites
|
|
441
|
+
wp_list_posts --site="client-acme" --per_page=5
|
|
442
|
+
wp_list_posts --site="client-tech" --per_page=5
|
|
443
|
+
wp_list_posts --site="client-shop" --per_page=5
|
|
444
|
+
|
|
445
|
+
# Update content on specific sites
|
|
446
|
+
wp_update_post --site="client-acme" --id=123 --title="Updated Title"
|
|
447
|
+
|
|
448
|
+
# Manage media across sites
|
|
449
|
+
wp_list_media --site="client-shop" --media_type="image"
|
|
450
|
+
```
|
|
451
|
+
|
|
257
452
|
## ๐ Build System
|
|
258
453
|
|
|
259
454
|
### TypeScript Build
|
|
@@ -308,9 +503,10 @@ WORDPRESS_AUTH_METHOD=api-key
|
|
|
308
503
|
WORDPRESS_API_KEY=your-api-key
|
|
309
504
|
```
|
|
310
505
|
|
|
311
|
-
## ๐ Available Tools (
|
|
506
|
+
## ๐ Available Tools (59 Tools)
|
|
312
507
|
|
|
313
508
|
### ๐ Posts (6 Tools)
|
|
509
|
+
|
|
314
510
|
- `wp_list_posts` - List and filter blog posts
|
|
315
511
|
- `wp_get_post` - Get specific post
|
|
316
512
|
- `wp_create_post` - Create new posts
|
|
@@ -319,6 +515,7 @@ WORDPRESS_API_KEY=your-api-key
|
|
|
319
515
|
- `wp_get_post_revisions` - Get post revisions
|
|
320
516
|
|
|
321
517
|
### ๐ Pages (6 Tools)
|
|
518
|
+
|
|
322
519
|
- `wp_list_pages` - List pages
|
|
323
520
|
- `wp_get_page` - Get specific page
|
|
324
521
|
- `wp_create_page` - Create new pages
|
|
@@ -327,6 +524,7 @@ WORDPRESS_API_KEY=your-api-key
|
|
|
327
524
|
- `wp_get_page_revisions` - Get page revisions
|
|
328
525
|
|
|
329
526
|
### ๐ผ๏ธ Media (6 Tools)
|
|
527
|
+
|
|
330
528
|
- `wp_list_media` - Browse media library
|
|
331
529
|
- `wp_get_media` - Get media details
|
|
332
530
|
- `wp_upload_media` - Upload files
|
|
@@ -335,6 +533,7 @@ WORDPRESS_API_KEY=your-api-key
|
|
|
335
533
|
- `wp_get_media_sizes` - Get available image sizes
|
|
336
534
|
|
|
337
535
|
### ๐ฅ Users (6 Tools)
|
|
536
|
+
|
|
338
537
|
- `wp_list_users` - List users
|
|
339
538
|
- `wp_get_user` - Get user details
|
|
340
539
|
- `wp_create_user` - Create new users
|
|
@@ -343,6 +542,7 @@ WORDPRESS_API_KEY=your-api-key
|
|
|
343
542
|
- `wp_get_current_user` - Get current user
|
|
344
543
|
|
|
345
544
|
### ๐ฌ Comments (7 Tools)
|
|
545
|
+
|
|
346
546
|
- `wp_list_comments` - List comments
|
|
347
547
|
- `wp_get_comment` - Get comment details
|
|
348
548
|
- `wp_create_comment` - Create new comments
|
|
@@ -352,6 +552,7 @@ WORDPRESS_API_KEY=your-api-key
|
|
|
352
552
|
- `wp_spam_comment` - Mark comments as spam
|
|
353
553
|
|
|
354
554
|
### ๐ท๏ธ Taxonomies (10 Tools)
|
|
555
|
+
|
|
355
556
|
- `wp_list_categories` - List categories
|
|
356
557
|
- `wp_get_category` - Get category details
|
|
357
558
|
- `wp_create_category` - Create new categories
|
|
@@ -364,6 +565,7 @@ WORDPRESS_API_KEY=your-api-key
|
|
|
364
565
|
- `wp_delete_tag` - Delete tags
|
|
365
566
|
|
|
366
567
|
### โ๏ธ Site Management (7 Tools)
|
|
568
|
+
|
|
367
569
|
- `wp_get_site_settings` - Get site settings
|
|
368
570
|
- `wp_update_site_settings` - Update site settings
|
|
369
571
|
- `wp_get_site_stats` - Get site statistics
|
|
@@ -373,6 +575,7 @@ WORDPRESS_API_KEY=your-api-key
|
|
|
373
575
|
- `wp_delete_application_password` - Delete app passwords
|
|
374
576
|
|
|
375
577
|
### ๐ Authentication (6 Tools)
|
|
578
|
+
|
|
376
579
|
- `wp_test_auth` - Test authentication
|
|
377
580
|
- `wp_get_auth_status` - Get authentication status
|
|
378
581
|
- `wp_start_oauth_flow` - Start OAuth flow
|
|
@@ -380,35 +583,62 @@ WORDPRESS_API_KEY=your-api-key
|
|
|
380
583
|
- `wp_refresh_oauth_token` - Refresh OAuth token
|
|
381
584
|
- `wp_switch_auth_method` - Switch authentication method
|
|
382
585
|
|
|
586
|
+
### โก Cache Management (4 Tools)
|
|
587
|
+
|
|
588
|
+
- `wp_cache_stats` - Get real-time cache performance statistics
|
|
589
|
+
- `wp_cache_clear` - Clear cache entries with optional pattern matching
|
|
590
|
+
- `wp_cache_warm` - Pre-populate cache with essential data
|
|
591
|
+
- `wp_cache_info` - Get detailed cache configuration and status
|
|
592
|
+
|
|
593
|
+
### ๐ Performance Monitoring (6 Tools)
|
|
594
|
+
|
|
595
|
+
- `wp_performance_stats` - Get real-time performance statistics and metrics
|
|
596
|
+
- `wp_performance_history` - Get historical performance data and trends
|
|
597
|
+
- `wp_performance_benchmark` - Compare current performance against industry benchmarks
|
|
598
|
+
- `wp_performance_alerts` - Get performance alerts and anomaly detection results
|
|
599
|
+
- `wp_performance_optimize` - Get optimization recommendations and insights
|
|
600
|
+
- `wp_performance_export` - Export comprehensive performance report
|
|
601
|
+
|
|
383
602
|
## ๐งช Testing
|
|
384
603
|
|
|
385
604
|
### Current Test Status โ
|
|
605
|
+
|
|
386
606
|
- **TypeScript Build Tests**: 19/19 passed (100%)
|
|
387
607
|
- **Environment Loading Tests**: 7/7 passed (100%)
|
|
388
608
|
- **Tool Functionality Tests**: 14/15 passed (93%)
|
|
389
609
|
- **Upload Timeout Tests**: 11/12 passed (92%)
|
|
610
|
+
- **Contract Tests**: 5/8 passed (62.5%) - See [Contract Testing](#contract-testing) section
|
|
390
611
|
- **Overall Success Rate**: 93-98%
|
|
391
612
|
|
|
392
613
|
### Test Commands
|
|
393
614
|
|
|
394
615
|
```bash
|
|
395
|
-
# Run all tests
|
|
616
|
+
# Run all tests (improved)
|
|
396
617
|
npm test
|
|
397
618
|
|
|
398
|
-
#
|
|
619
|
+
# Run tests with Docker test environment (recommended)
|
|
620
|
+
npm run test:with-env
|
|
621
|
+
|
|
622
|
+
# Tests with coverage (70% threshold)
|
|
399
623
|
npm run test:coverage
|
|
400
624
|
|
|
401
625
|
# Quick tests
|
|
402
626
|
npm run test:fast
|
|
403
627
|
|
|
404
|
-
#
|
|
405
|
-
npm run test:
|
|
628
|
+
# Individual test suites
|
|
629
|
+
npm run test:security # Security tests
|
|
630
|
+
npm run test:config # Configuration tests
|
|
631
|
+
npm run test:property # Property-based tests
|
|
632
|
+
npm run test:contracts # Contract tests
|
|
633
|
+
npm run test:performance # Performance regression tests
|
|
406
634
|
|
|
407
|
-
#
|
|
408
|
-
npm run test:
|
|
635
|
+
# Integration tests
|
|
636
|
+
npm run test:mcp # MCP protocol tests
|
|
637
|
+
npm run test:tools # Tool functionality tests
|
|
638
|
+
npm run test:auth # Authentication tests
|
|
409
639
|
|
|
410
|
-
#
|
|
411
|
-
npm run test:
|
|
640
|
+
# Live contract tests with automated setup
|
|
641
|
+
npm run test:contracts:live
|
|
412
642
|
|
|
413
643
|
# Tests in watch mode
|
|
414
644
|
npm run test:watch
|
|
@@ -417,6 +647,28 @@ npm run test:watch
|
|
|
417
647
|
./scripts/wp-auth-check.sh
|
|
418
648
|
```
|
|
419
649
|
|
|
650
|
+
### Docker Test Environment
|
|
651
|
+
|
|
652
|
+
The project now includes a complete Docker test environment for reliable testing:
|
|
653
|
+
|
|
654
|
+
```bash
|
|
655
|
+
# Start test environment
|
|
656
|
+
./scripts/start-test-env.sh
|
|
657
|
+
|
|
658
|
+
# Run tests with test environment
|
|
659
|
+
npm run test:with-env
|
|
660
|
+
|
|
661
|
+
# Stop test environment
|
|
662
|
+
docker-compose -f docker-compose.test.yml down
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
The test environment includes:
|
|
666
|
+
|
|
667
|
+
- WordPress with pre-configured test user and application password
|
|
668
|
+
- MySQL database
|
|
669
|
+
- Pact broker for contract testing
|
|
670
|
+
- Automated WordPress configuration for API testing
|
|
671
|
+
|
|
420
672
|
## ๐ Status & Monitoring
|
|
421
673
|
|
|
422
674
|
```bash
|
|
@@ -435,7 +687,7 @@ npm run lint:fix
|
|
|
435
687
|
|
|
436
688
|
## ๐ Project Structure
|
|
437
689
|
|
|
438
|
-
```
|
|
690
|
+
```diagram
|
|
439
691
|
mcp-wordpress/
|
|
440
692
|
โโโ src/ # TypeScript source code
|
|
441
693
|
โ โโโ index.ts # Main MCP server
|
|
@@ -527,42 +779,112 @@ DEBUG=true npm run dev
|
|
|
527
779
|
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
528
780
|
- [TypeScript Handbook](https://www.typescriptlang.org/docs/)
|
|
529
781
|
|
|
530
|
-
##
|
|
782
|
+
## ๐ณ Docker Support
|
|
531
783
|
|
|
532
|
-
###
|
|
533
|
-
- โ
**Fixed TypeScript Compilation Issues**
|
|
534
|
-
- Resolved FormData, fs, path, and http import statements
|
|
535
|
-
- All modules now compile successfully
|
|
536
|
-
- Complete type safety maintained
|
|
784
|
+
### Quick Docker Start
|
|
537
785
|
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
-
|
|
786
|
+
```bash
|
|
787
|
+
# Using Docker Hub image
|
|
788
|
+
docker run -d \
|
|
789
|
+
--name mcp-wordpress \
|
|
790
|
+
-e WORDPRESS_SITE_URL=https://your-site.com \
|
|
791
|
+
-e WORDPRESS_USERNAME=your-username \
|
|
792
|
+
-e WORDPRESS_APP_PASSWORD=your-app-password \
|
|
793
|
+
aiondadotcom/mcp-wordpress:latest
|
|
794
|
+
|
|
795
|
+
# Using Docker Compose
|
|
796
|
+
curl -O https://raw.githubusercontent.com/thomasdyhr/mcp-wordpress/main/docker-compose.yml
|
|
797
|
+
docker-compose up -d
|
|
798
|
+
```
|
|
542
799
|
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
800
|
+
### Production Deployment
|
|
801
|
+
|
|
802
|
+
```yaml
|
|
803
|
+
version: '3.8'
|
|
804
|
+
services:
|
|
805
|
+
mcp-wordpress:
|
|
806
|
+
image: aiondadotcom/mcp-wordpress:latest
|
|
807
|
+
restart: unless-stopped
|
|
808
|
+
environment:
|
|
809
|
+
- WORDPRESS_SITE_URL=https://your-site.com
|
|
810
|
+
- WORDPRESS_USERNAME=your-username
|
|
811
|
+
- WORDPRESS_APP_PASSWORD=your-app-password
|
|
812
|
+
- NODE_ENV=production
|
|
813
|
+
volumes:
|
|
814
|
+
- ./logs:/app/logs
|
|
815
|
+
- ./cache:/app/cache
|
|
816
|
+
ports:
|
|
817
|
+
- "3000:3000"
|
|
818
|
+
```
|
|
548
819
|
|
|
549
|
-
|
|
550
|
-
- Better error messages and debugging output
|
|
551
|
-
- Enhanced status checking and monitoring
|
|
552
|
-
- Comprehensive testing suite with clear reporting
|
|
820
|
+
**๐ Full Docker Documentation**: [docs/DOCKER.md](./docs/DOCKER.md)
|
|
553
821
|
|
|
554
|
-
##
|
|
822
|
+
## ๐งช Contract Testing with Live WordPress
|
|
555
823
|
|
|
556
|
-
|
|
557
|
-
2. Create feature branch: `git checkout -b feature/new-feature`
|
|
558
|
-
3. Commit changes: `git commit -m 'Add new feature'`
|
|
559
|
-
4. Push branch: `git push origin feature/new-feature`
|
|
560
|
-
5. Create pull request
|
|
824
|
+
Test the MCP server against a real WordPress instance using our automated testing setup:
|
|
561
825
|
|
|
562
|
-
|
|
826
|
+
```bash copy
|
|
827
|
+
# Automated live contract testing (recommended)
|
|
828
|
+
npm run test:contracts:live
|
|
829
|
+
```
|
|
563
830
|
|
|
564
|
-
|
|
831
|
+
This command will:
|
|
565
832
|
|
|
566
|
-
|
|
833
|
+
- ๐ณ Start isolated WordPress + MySQL containers (port 8081)
|
|
834
|
+
- โ๏ธ Auto-configure WordPress with test data and authentication
|
|
835
|
+
- ๐งช Run contract tests against the live WordPress API
|
|
836
|
+
- ๐งน Clean up automatically when done
|
|
837
|
+
|
|
838
|
+
**Features:**
|
|
839
|
+
|
|
840
|
+
- **Zero Conflicts**: Uses isolated containers with separate ports
|
|
841
|
+
- **Fully Automated**: WordPress installation, user creation, and app password generation
|
|
842
|
+
- **Real API Testing**: Validates actual WordPress REST API behavior
|
|
843
|
+
- **CI/CD Ready**: Works in continuous integration environments
|
|
844
|
+
|
|
845
|
+
**Manual Setup Alternative:**
|
|
846
|
+
|
|
847
|
+
```bash
|
|
848
|
+
# Test setup phase only
|
|
849
|
+
bash scripts/test-setup-only.sh
|
|
850
|
+
|
|
851
|
+
# Use existing WordPress instance
|
|
852
|
+
export WORDPRESS_TEST_URL="https://your-wordpress-site.com"
|
|
853
|
+
export WORDPRESS_USERNAME="your-username"
|
|
854
|
+
export WORDPRESS_APP_PASSWORD="your-app-password"
|
|
855
|
+
export PACT_LIVE_TESTING="true"
|
|
856
|
+
npm run test:contracts
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
**๐ Full Contract Testing Guide**: [docs/contract-testing.md](./docs/contract-testing.md)
|
|
860
|
+
|
|
861
|
+
## ๐ Recent Updates
|
|
567
862
|
|
|
568
|
-
|
|
863
|
+
### v1.2.0 - Performance & Documentation Revolution
|
|
864
|
+
|
|
865
|
+
- โ
**Real-Time Performance Monitoring**
|
|
866
|
+
- Comprehensive metrics collection (response times, cache hit rates, system resources)
|
|
867
|
+
- Historical performance analysis with trend detection
|
|
868
|
+
- Industry benchmark comparisons with optimization recommendations
|
|
869
|
+
- Smart alerts and anomaly detection
|
|
870
|
+
- Comprehensive performance reports with export options
|
|
871
|
+
- AI-powered optimization engine for performance improvements
|
|
872
|
+
- โก **Intelligent Caching System**
|
|
873
|
+
- 50-70% performance improvement with reduced API calls
|
|
874
|
+
- Multi-layer caching architecture with intelligent invalidation
|
|
875
|
+
- Site-specific cache isolation for multi-site installations
|
|
876
|
+
- New MCP tools for cache performance monitoring and management
|
|
877
|
+
- Sub-millisecond response times for cache hits
|
|
878
|
+
- ๐ **Auto-Generated Documentation**
|
|
879
|
+
- Complete API documentation for all 59 tools with examples and usage guides
|
|
880
|
+
- Machine-readable OpenAPI specification for integration
|
|
881
|
+
- Automated CI/CD pipeline for documentation updates
|
|
882
|
+
- Comprehensive documentation quality validation
|
|
883
|
+
- Multi-format output including Markdown, JSON, and OpenAPI
|
|
884
|
+
- ๐ณ **Docker Containerization**
|
|
885
|
+
- Production-ready Docker images for easy deployment
|
|
886
|
+
- Docker Compose setup for local development
|
|
887
|
+
- Flexible environment configuration via variables
|
|
888
|
+
- One-command deployment to any Docker environment
|
|
889
|
+
|
|
890
|
+
**๐ Read the full release notes for all details!**
|