mcp-wordpress 1.3.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +151 -772
  2. package/dist/cache/CacheInvalidation.d.ts.map +1 -1
  3. package/dist/client/CachedWordPressClient.d.ts.map +1 -1
  4. package/dist/client/CachedWordPressClient.js.map +1 -1
  5. package/dist/client/api.d.ts.map +1 -1
  6. package/dist/client/api.js +11 -3
  7. package/dist/client/api.js.map +1 -1
  8. package/dist/client/auth.js.map +1 -1
  9. package/dist/client/managers/AuthenticationManager.js.map +1 -1
  10. package/dist/client/managers/RequestManager.js +0 -1
  11. package/dist/client/managers/RequestManager.js.map +1 -1
  12. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  13. package/dist/config/ServerConfiguration.js +18 -0
  14. package/dist/config/ServerConfiguration.js.map +1 -1
  15. package/dist/docs/MarkdownFormatter.js.map +1 -1
  16. package/dist/dxt-entry.d.ts +6 -0
  17. package/dist/dxt-entry.d.ts.map +1 -0
  18. package/dist/dxt-entry.js +38 -0
  19. package/dist/dxt-entry.js.map +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +34 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/mcp-wordpress-1.5.0.tgz +0 -0
  24. package/dist/performance/MetricsCollector.d.ts.map +1 -1
  25. package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
  26. package/dist/performance/PerformanceAnalytics.js.map +1 -1
  27. package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
  28. package/dist/security/InputValidator.js.map +1 -1
  29. package/dist/security/SecurityConfig.d.ts.map +1 -1
  30. package/dist/server/ToolRegistry.js.map +1 -1
  31. package/dist/tools/cache.js +1 -1
  32. package/dist/tools/cache.js.map +1 -1
  33. package/dist/tools/performance.js.map +1 -1
  34. package/docs/DOCKER.md +8 -1
  35. package/docs/api/README.md +82 -75
  36. package/docs/api/categories/site.md +2 -0
  37. package/docs/api/tools/wp_approve_comment.md +0 -6
  38. package/docs/api/tools/wp_cache_clear.md +5 -14
  39. package/docs/api/tools/wp_cache_info.md +5 -14
  40. package/docs/api/tools/wp_cache_stats.md +5 -14
  41. package/docs/api/tools/wp_cache_warm.md +5 -14
  42. package/docs/api/tools/wp_create_application_password.md +3 -11
  43. package/docs/api/tools/wp_create_category.md +3 -11
  44. package/docs/api/tools/wp_create_comment.md +5 -14
  45. package/docs/api/tools/wp_create_page.md +5 -13
  46. package/docs/api/tools/wp_create_post.md +6 -12
  47. package/docs/api/tools/wp_create_tag.md +3 -11
  48. package/docs/api/tools/wp_create_user.md +5 -13
  49. package/docs/api/tools/wp_delete_application_password.md +3 -11
  50. package/docs/api/tools/wp_delete_category.md +3 -11
  51. package/docs/api/tools/wp_delete_comment.md +3 -11
  52. package/docs/api/tools/wp_delete_media.md +3 -10
  53. package/docs/api/tools/wp_delete_page.md +3 -10
  54. package/docs/api/tools/wp_delete_post.md +4 -9
  55. package/docs/api/tools/wp_delete_tag.md +3 -11
  56. package/docs/api/tools/wp_delete_user.md +3 -10
  57. package/docs/api/tools/wp_get_application_passwords.md +3 -11
  58. package/docs/api/tools/wp_get_auth_status.md +3 -11
  59. package/docs/api/tools/wp_get_category.md +3 -11
  60. package/docs/api/tools/wp_get_comment.md +3 -11
  61. package/docs/api/tools/wp_get_current_user.md +3 -11
  62. package/docs/api/tools/wp_get_media.md +3 -11
  63. package/docs/api/tools/wp_get_page.md +3 -11
  64. package/docs/api/tools/wp_get_page_revisions.md +3 -11
  65. package/docs/api/tools/wp_get_post.md +4 -10
  66. package/docs/api/tools/wp_get_post_revisions.md +3 -11
  67. package/docs/api/tools/wp_get_site_settings.md +3 -10
  68. package/docs/api/tools/wp_get_tag.md +3 -11
  69. package/docs/api/tools/wp_get_user.md +3 -11
  70. package/docs/api/tools/wp_list_categories.md +3 -11
  71. package/docs/api/tools/wp_list_comments.md +3 -11
  72. package/docs/api/tools/wp_list_media.md +5 -14
  73. package/docs/api/tools/wp_list_pages.md +5 -14
  74. package/docs/api/tools/wp_list_posts.md +6 -13
  75. package/docs/api/tools/wp_list_tags.md +3 -11
  76. package/docs/api/tools/wp_list_users.md +3 -11
  77. package/docs/api/tools/wp_performance_alerts.md +7 -17
  78. package/docs/api/tools/wp_performance_benchmark.md +7 -17
  79. package/docs/api/tools/wp_performance_export.md +7 -17
  80. package/docs/api/tools/wp_performance_history.md +7 -17
  81. package/docs/api/tools/wp_performance_optimize.md +7 -17
  82. package/docs/api/tools/wp_performance_stats.md +7 -17
  83. package/docs/api/tools/wp_search_site.md +3 -11
  84. package/docs/api/tools/wp_spam_comment.md +3 -11
  85. package/docs/api/tools/wp_switch_auth_method.md +5 -14
  86. package/docs/api/tools/wp_test_auth.md +3 -11
  87. package/docs/api/tools/wp_update_category.md +3 -11
  88. package/docs/api/tools/wp_update_comment.md +5 -14
  89. package/docs/api/tools/wp_update_media.md +5 -14
  90. package/docs/api/tools/wp_update_page.md +5 -13
  91. package/docs/api/tools/wp_update_post.md +6 -12
  92. package/docs/api/tools/wp_update_site_settings.md +5 -14
  93. package/docs/api/tools/wp_update_tag.md +3 -11
  94. package/docs/api/tools/wp_update_user.md +5 -13
  95. package/docs/api/tools/wp_upload_media.md +5 -13
  96. package/docs/api/types/WordPressPost.md +0 -2
  97. package/docs/developer/API_REFERENCE.md +668 -0
  98. package/docs/developer/ARCHITECTURE.md +374 -0
  99. package/docs/developer/BUILD_SYSTEM.md +460 -0
  100. package/docs/developer/CONTRIBUTING.md +469 -0
  101. package/docs/developer/DEVELOPMENT_SETUP.md +463 -0
  102. package/docs/developer/DXT-DEBUG-BEST-PRACTICES.md +212 -0
  103. package/docs/developer/GITHUB_ACTIONS_SETUP.md +2 -1
  104. package/docs/developer/MAINTENANCE.md +5 -5
  105. package/docs/developer/MIGRATION_GUIDE.md +7 -5
  106. package/docs/developer/NPM_AUTH_SETUP.md +4 -4
  107. package/docs/developer/README.md +242 -0
  108. package/docs/developer/REFACTORING.md +15 -10
  109. package/docs/developer/RELEASE_PROCESS.md +528 -0
  110. package/docs/developer/TESTING.md +734 -0
  111. package/docs/releases/COMMUNITY_ANNOUNCEMENT_v1.1.2.md +9 -3
  112. package/docs/releases/RELEASE_NOTES_v1.1.2.md +4 -4
  113. package/docs/user-guides/DOCKER_SETUP.md +2 -2
  114. package/docs/user-guides/DTX_SETUP.md +3 -3
  115. package/docs/user-guides/DXT_INSTALLATION.md +149 -0
  116. package/docs/user-guides/NPX_SETUP.md +2 -2
  117. package/package.json +5 -4
  118. package/src/cache/CacheInvalidation.ts +1 -1
  119. package/src/client/CachedWordPressClient.ts +15 -15
  120. package/src/client/api.ts +54 -47
  121. package/src/client/auth.ts +88 -88
  122. package/src/client/managers/AuthenticationManager.ts +112 -112
  123. package/src/client/managers/RequestManager.ts +1 -1
  124. package/src/config/ServerConfiguration.ts +39 -0
  125. package/src/docs/MarkdownFormatter.ts +4 -4
  126. package/src/dxt-entry.cjs +55 -0
  127. package/src/dxt-entry.ts +55 -0
  128. package/src/index.ts +55 -2
  129. package/src/performance/MetricsCollector.ts +3 -3
  130. package/src/performance/PerformanceAnalytics.ts +16 -16
  131. package/src/performance/PerformanceMonitor.ts +1 -1
  132. package/src/security/InputValidator.ts +4 -4
  133. package/src/security/SecurityConfig.ts +1 -1
  134. package/src/server/ToolRegistry.ts +12 -12
  135. package/src/tools/cache.ts +1 -1
  136. package/src/tools/performance.ts +17 -17
  137. package/dist/mcp-wordpress-1.3.1.tgz +0 -0
@@ -0,0 +1,469 @@
1
+ # Contributing Guidelines
2
+
3
+ Welcome to the MCP WordPress Server project! This guide will help you get started with contributing to our codebase.
4
+
5
+ ## 🤝 Getting Started
6
+
7
+ ### Prerequisites
8
+
9
+ - **Node.js 18+** - Required for development
10
+ - **TypeScript 5+** - Primary development language
11
+ - **Git** - Version control
12
+ - **Docker** - For testing environment (optional)
13
+ - **WordPress Site** - For testing (or use our Docker environment)
14
+
15
+ ### Quick Setup
16
+
17
+ ```bash
18
+ # Fork and clone the repository
19
+ git clone https://github.com/yourusername/mcp-wordpress.git
20
+ cd mcp-wordpress
21
+
22
+ # Install dependencies
23
+ npm ci
24
+
25
+ # Build the project
26
+ npm run build
27
+
28
+ # Run tests
29
+ npm test
30
+
31
+ # Start development mode
32
+ npm run dev
33
+ ```
34
+
35
+ ## 🚀 Development Workflow
36
+
37
+ ### 1. Create a Feature Branch
38
+
39
+ ```bash
40
+ # Create and switch to feature branch
41
+ git checkout -b feature/your-feature-name
42
+
43
+ # Or for bug fixes
44
+ git checkout -b fix/bug-description
45
+ ```
46
+
47
+ ### 2. Make Your Changes
48
+
49
+ Follow our coding standards and architectural patterns:
50
+
51
+ - **TypeScript**: Use strict typing and interfaces
52
+ - **Class-based Architecture**: Follow existing tool patterns
53
+ - **Error Handling**: Implement comprehensive error handling
54
+ - **Testing**: Write tests for new functionality
55
+ - **Documentation**: Update relevant documentation
56
+
57
+ ### 3. Test Your Changes
58
+
59
+ ```bash
60
+ # Run all tests
61
+ npm test
62
+
63
+ # Run specific test categories
64
+ npm run test:unit
65
+ npm run test:integration
66
+ npm run test:security
67
+
68
+ # Check code quality
69
+ npm run lint
70
+ npm run typecheck
71
+
72
+ # Test performance
73
+ npm run test:performance
74
+ ```
75
+
76
+ ### 4. Commit Your Changes
77
+
78
+ We use [Conventional Commits](https://www.conventionalcommits.org/):
79
+
80
+ ```bash
81
+ # Examples of good commit messages
82
+ git commit -m "feat: add new WordPress plugin management tool"
83
+ git commit -m "fix: resolve authentication header issue in POST requests"
84
+ git commit -m "docs: update API documentation for media tools"
85
+ git commit -m "test: add performance tests for cache system"
86
+ git commit -m "refactor: improve error handling in request manager"
87
+ ```
88
+
89
+ **Commit Types**:
90
+
91
+ - `feat`: New features
92
+ - `fix`: Bug fixes
93
+ - `docs`: Documentation updates
94
+ - `test`: Test additions or improvements
95
+ - `refactor`: Code refactoring
96
+ - `perf`: Performance improvements
97
+ - `style`: Code style/formatting
98
+ - `chore`: Maintenance tasks
99
+
100
+ ### 5. Push and Create Pull Request
101
+
102
+ ```bash
103
+ # Push your branch
104
+ git push origin feature/your-feature-name
105
+
106
+ # Create pull request through GitHub interface
107
+ ```
108
+
109
+ ## 📋 Code Standards
110
+
111
+ ### TypeScript Guidelines
112
+
113
+ ```typescript
114
+ // ✅ Good: Strict typing with interfaces
115
+ interface CreatePostParams {
116
+ title: string;
117
+ content?: string;
118
+ status?: PostStatus;
119
+ site?: string;
120
+ }
121
+
122
+ async function createPost(params: CreatePostParams): Promise<PostResult> {
123
+ const validatedParams = createPostSchema.parse(params);
124
+ return await this.client.posts.create(validatedParams);
125
+ }
126
+
127
+ // ❌ Bad: Any types and loose typing
128
+ async function createPost(params: any): Promise<any> {
129
+ return await this.client.posts.create(params);
130
+ }
131
+ ```
132
+
133
+ ### Class-based Tool Pattern
134
+
135
+ ```typescript
136
+ // ✅ Good: Follow established tool pattern
137
+ export class PostTools {
138
+ constructor(private client: WordPressClient) {}
139
+
140
+ async createPost(params: CreatePostParams): Promise<PostResult> {
141
+ return toolWrapper(this.client, "create_post", params, async () => {
142
+ const validatedParams = createPostSchema.parse(params);
143
+ return await this.client.posts.create(validatedParams);
144
+ });
145
+ }
146
+ }
147
+
148
+ // ❌ Bad: Function-based approach
149
+ export function createPost(client: WordPressClient, params: any) {
150
+ // Not following established patterns
151
+ }
152
+ ```
153
+
154
+ ### Error Handling
155
+
156
+ ```typescript
157
+ // ✅ Good: Comprehensive error handling
158
+ try {
159
+ const result = await this.client.posts.create(params);
160
+ return { success: true, data: result };
161
+ } catch (error) {
162
+ if (error instanceof WordPressAPIError) {
163
+ throw new Error(`WordPress API error: ${error.message}`);
164
+ }
165
+ throw new Error(`Failed to create post: ${error.message}`);
166
+ }
167
+
168
+ // ❌ Bad: No error handling
169
+ const result = await this.client.posts.create(params);
170
+ return result;
171
+ ```
172
+
173
+ ### Multi-Site Support
174
+
175
+ ```typescript
176
+ // ✅ Good: Multi-site parameter support
177
+ async function listPosts(params: ListPostsParams): Promise<PostListResult> {
178
+ const client = this.getClientForSite(params.site);
179
+ return await client.posts.list(params);
180
+ }
181
+
182
+ // ❌ Bad: No multi-site support
183
+ async function listPosts(params: any) {
184
+ return await this.client.posts.list(params);
185
+ }
186
+ ```
187
+
188
+ ## 🧪 Testing Guidelines
189
+
190
+ ### Write Comprehensive Tests
191
+
192
+ ```typescript
193
+ // ✅ Good: Comprehensive test coverage
194
+ describe("PostTools", () => {
195
+ describe("createPost", () => {
196
+ test("should create post with valid parameters", async () => {
197
+ const params = {
198
+ title: "Test Post",
199
+ content: "Test content",
200
+ status: "publish" as PostStatus,
201
+ };
202
+
203
+ const result = await postTools.createPost(params);
204
+
205
+ expect(result.success).toBe(true);
206
+ expect(result.data.title).toBe("Test Post");
207
+ });
208
+
209
+ test("should handle invalid parameters", async () => {
210
+ const params = { title: "" }; // Invalid empty title
211
+
212
+ await expect(postTools.createPost(params)).rejects.toThrow();
213
+ });
214
+
215
+ test("should handle API errors gracefully", async () => {
216
+ mockClient.posts.create.mockRejectedValue(new Error("API Error"));
217
+
218
+ await expect(postTools.createPost(validParams)).rejects.toThrow(
219
+ "API Error",
220
+ );
221
+ });
222
+ });
223
+ });
224
+ ```
225
+
226
+ ### Test Categories to Include
227
+
228
+ 1. **Unit Tests**: Test individual functions/methods
229
+ 2. **Integration Tests**: Test with real WordPress API
230
+ 3. **Security Tests**: Test input validation and security
231
+ 4. **Performance Tests**: Test response times and resource usage
232
+ 5. **Edge Cases**: Test boundary conditions and error scenarios
233
+
234
+ ### Test Best Practices
235
+
236
+ - Use descriptive test names
237
+ - Test both success and failure cases
238
+ - Mock external dependencies appropriately
239
+ - Include performance assertions where relevant
240
+ - Test multi-site functionality
241
+
242
+ ## 🔒 Security Guidelines
243
+
244
+ ### Input Validation
245
+
246
+ ```typescript
247
+ // ✅ Good: Comprehensive input validation
248
+ const createPostSchema = z.object({
249
+ title: z.string().min(1).max(200),
250
+ content: z.string().optional(),
251
+ status: z.enum(["draft", "publish", "private", "pending"]).optional(),
252
+ author: z.number().positive().optional(),
253
+ site: z.string().optional(),
254
+ });
255
+
256
+ // Always validate before processing
257
+ const validatedParams = createPostSchema.parse(params);
258
+ ```
259
+
260
+ ### Authentication Security
261
+
262
+ ```typescript
263
+ // ✅ Good: Secure authentication headers
264
+ getAuthHeaders(): Record<string, string> {
265
+ return {
266
+ 'Authorization': `Bearer ${this.sanitizeToken(this.token)}`,
267
+ 'Content-Type': 'application/json'
268
+ };
269
+ }
270
+
271
+ // ❌ Bad: Exposing sensitive information
272
+ getAuthHeaders(): Record<string, string> {
273
+ console.log('Using token:', this.token); // Don't log tokens!
274
+ return { 'Authorization': `Bearer ${this.token}` };
275
+ }
276
+ ```
277
+
278
+ ### Security Checklist
279
+
280
+ - [ ] All user inputs are validated with Zod schemas
281
+ - [ ] No sensitive information is logged or exposed
282
+ - [ ] Authentication tokens are handled securely
283
+ - [ ] Rate limiting is implemented where appropriate
284
+ - [ ] Error messages don't reveal sensitive information
285
+ - [ ] HTTPS is enforced for all API calls
286
+
287
+ ## 📚 Documentation Standards
288
+
289
+ ### Code Documentation
290
+
291
+ ````typescript
292
+ /**
293
+ * Creates a new WordPress post with the specified parameters.
294
+ *
295
+ * @param params - The post creation parameters
296
+ * @param params.title - The post title (required)
297
+ * @param params.content - The post content (optional)
298
+ * @param params.status - The post status (optional, defaults to 'draft')
299
+ * @param params.site - The target site ID for multi-site setups (optional)
300
+ * @returns Promise resolving to the created post information
301
+ * @throws {Error} When post creation fails or parameters are invalid
302
+ *
303
+ * @example
304
+ * ```typescript
305
+ * const post = await postTools.createPost({
306
+ * title: 'My New Post',
307
+ * content: 'This is the post content',
308
+ * status: 'publish'
309
+ * });
310
+ * ```
311
+ */
312
+ async createPost(params: CreatePostParams): Promise<PostResult> {
313
+ // Implementation
314
+ }
315
+ ````
316
+
317
+ ### Update Documentation
318
+
319
+ When adding new features or making changes:
320
+
321
+ 1. **Update CLAUDE.md** - Add new commands or architectural changes
322
+ 2. **Update API Documentation** - Document new tools and parameters
323
+ 3. **Update README.md** - Update user-facing information if needed
324
+ 4. **Add Usage Examples** - Provide practical examples
325
+
326
+ ## 🐛 Issue Guidelines
327
+
328
+ ### Bug Reports
329
+
330
+ When reporting bugs, include:
331
+
332
+ - **Environment**: OS, Node.js version, package version
333
+ - **WordPress Version**: WordPress version and setup
334
+ - **Steps to Reproduce**: Clear steps to reproduce the issue
335
+ - **Expected Behavior**: What should happen
336
+ - **Actual Behavior**: What actually happens
337
+ - **Error Messages**: Full error messages and stack traces
338
+ - **Configuration**: Relevant configuration (anonymized)
339
+
340
+ ### Feature Requests
341
+
342
+ When requesting features:
343
+
344
+ - **Use Case**: Describe the problem you're trying to solve
345
+ - **Proposed Solution**: Your suggested approach
346
+ - **Alternatives**: Other approaches you've considered
347
+ - **Additional Context**: Any other relevant information
348
+
349
+ ## 🎯 Pull Request Guidelines
350
+
351
+ ### PR Description Template
352
+
353
+ ```markdown
354
+ ## Description
355
+
356
+ Brief description of the changes made.
357
+
358
+ ## Type of Change
359
+
360
+ - [ ] Bug fix (non-breaking change which fixes an issue)
361
+ - [ ] New feature (non-breaking change which adds functionality)
362
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
363
+ - [ ] Documentation update
364
+ - [ ] Performance improvement
365
+ - [ ] Security improvement
366
+
367
+ ## Testing
368
+
369
+ - [ ] Unit tests added/updated
370
+ - [ ] Integration tests added/updated
371
+ - [ ] Security tests added/updated
372
+ - [ ] All tests pass locally
373
+ - [ ] Performance tests pass (if applicable)
374
+
375
+ ## Checklist
376
+
377
+ - [ ] Code follows the established patterns
378
+ - [ ] Self-review completed
379
+ - [ ] Code is commented where necessary
380
+ - [ ] Documentation updated
381
+ - [ ] No breaking changes or breaking changes are documented
382
+ - [ ] Security considerations addressed
383
+ ```
384
+
385
+ ### Code Review Process
386
+
387
+ 1. **Automated Checks**: All CI/CD checks must pass
388
+ 2. **Manual Review**: Code review by maintainers
389
+ 3. **Security Review**: Security implications assessed
390
+ 4. **Performance Review**: Performance impact evaluated
391
+ 5. **Documentation Review**: Documentation completeness checked
392
+
393
+ ## 🚀 Release Process
394
+
395
+ ### Semantic Versioning
396
+
397
+ We follow [Semantic Versioning](https://semver.org/):
398
+
399
+ - **Major Version** (`1.0.0 → 2.0.0`): Breaking changes
400
+ - **Minor Version** (`1.0.0 → 1.1.0`): New features (backward compatible)
401
+ - **Patch Version** (`1.0.0 → 1.0.1`): Bug fixes (backward compatible)
402
+
403
+ ### Release Workflow
404
+
405
+ 1. **Development**: Features developed in feature branches
406
+ 2. **Testing**: Comprehensive testing on staging environment
407
+ 3. **Merge**: Merge to main branch triggers automated release
408
+ 4. **Publish**: Automated publishing to NPM and Docker Hub
409
+ 5. **Verification**: Automated verification of published packages
410
+
411
+ ## 🏆 Recognition
412
+
413
+ ### Contributors
414
+
415
+ We recognize contributions through:
416
+
417
+ - **GitHub Contributors**: Listed in repository contributors
418
+ - **Release Notes**: Significant contributions mentioned in release notes
419
+ - **Documentation**: Contributors credited in documentation
420
+ - **Community**: Recognition in community discussions
421
+
422
+ ### Code of Conduct
423
+
424
+ We follow the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
425
+ Please read it to understand the expected behavior in our community.
426
+
427
+ ## 📞 Getting Help
428
+
429
+ ### Development Support
430
+
431
+ - **GitHub Issues**: For bug reports and feature requests
432
+ - **GitHub Discussions**: For questions and community support
433
+ - **Documentation**: Check existing documentation first
434
+ - **Code Examples**: Look at existing code for patterns
435
+
436
+ ### Resources
437
+
438
+ - **WordPress REST API**: [Official Documentation](https://developer.wordpress.org/rest-api/)
439
+ - **Model Context Protocol**: [MCP Specification](https://modelcontextprotocol.io/)
440
+ - **TypeScript**: [Official Handbook](https://www.typescriptlang.org/docs/)
441
+ - **Jest Testing**: [Official Documentation](https://jestjs.io/docs/getting-started)
442
+
443
+ ## 📈 Development Roadmap
444
+
445
+ ### Current Focus
446
+
447
+ - **Performance Optimization**: Enhance caching and request optimization
448
+ - **Security Enhancements**: Advanced security features and validation
449
+ - **Tool Expansion**: Additional WordPress management tools
450
+ - **Documentation**: Comprehensive user and developer documentation
451
+
452
+ ### Future Plans
453
+
454
+ - **Plugin Architecture**: Extensible plugin system
455
+ - **GUI Management**: Web-based management interface
456
+ - **Advanced Analytics**: Enhanced performance and usage analytics
457
+ - **Multi-Platform Support**: Support for additional CMS platforms
458
+
459
+ ## 📚 Further Reading
460
+
461
+ - **[Architecture Guide](ARCHITECTURE.md)** - System design and patterns
462
+ - **[API Reference](API_REFERENCE.md)** - Complete technical API documentation
463
+ - **[Testing Guide](TESTING.md)** - Test suite and best practices
464
+ - **[Development Setup](DEVELOPMENT_SETUP.md)** - Local development environment
465
+
466
+ ---
467
+
468
+ **Ready to contribute?** Thank you for your interest in improving the MCP WordPress Server! Every
469
+ contribution, no matter how small, helps make this project better for everyone. 🚀