mcp-wordpress 2.5.0 → 2.5.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 +19 -15
- package/bin/status.js +1 -1
- package/dist/config/ServerConfiguration.d.ts.map +1 -1
- package/dist/config/ServerConfiguration.js +23 -2
- package/dist/config/ServerConfiguration.js.map +1 -1
- package/docs/INSTALLATION.md +4 -2
- package/docs/TROUBLESHOOTING.md +2 -1
- package/docs/developer/TESTING.md +24 -19
- package/docs/integrations/claude-desktop.md +9 -4
- package/docs/user-guides/DXT_INSTALLATION.md +2 -1
- package/package.json +28 -29
- package/src/config/ServerConfiguration.ts +22 -2
- package/dist/ajv-patch.js +0 -34
- package/dist/cache/__tests__/CacheInvalidation.test.d.ts +0 -5
- package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +0 -1
- package/dist/cache/__tests__/CacheInvalidation.test.js +0 -238
- package/dist/cache/__tests__/CacheInvalidation.test.js.map +0 -1
- package/dist/cache/__tests__/CacheManager.test.d.ts +0 -5
- package/dist/cache/__tests__/CacheManager.test.d.ts.map +0 -1
- package/dist/cache/__tests__/CacheManager.test.js +0 -233
- package/dist/cache/__tests__/CacheManager.test.js.map +0 -1
- package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +0 -5
- package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +0 -1
- package/dist/cache/__tests__/CachedWordPressClient.test.js +0 -231
- package/dist/cache/__tests__/CachedWordPressClient.test.js.map +0 -1
- package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +0 -5
- package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +0 -1
- package/dist/cache/__tests__/HttpCacheWrapper.test.js +0 -300
- package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +0 -1
- package/dist/dxt-entry.cjs +0 -81
package/README.md
CHANGED
|
@@ -16,16 +16,16 @@ Manage WordPress sites with natural language through AI tools like Claude Deskto
|
|
|
16
16
|
[](https://www.npmjs.com/package/mcp-wordpress)
|
|
17
17
|
[](https://www.npmjs.com/package/mcp-wordpress)
|
|
18
18
|
[](https://hub.docker.com/r/docdyhr/mcp-wordpress)
|
|
19
|
-
[](https://github.com/docdyhr/mcp-wordpress)
|
|
20
|
+
[](https://github.com/docdyhr/mcp-wordpress)
|
|
21
|
+
[](https://github.com/docdyhr/mcp-wordpress)
|
|
22
|
+
[](https://github.com/docdyhr/mcp-wordpress)
|
|
23
23
|
[](https://github.com/docdyhr/mcp-wordpress/actions/workflows/mcp-evaluations.yml)
|
|
24
24
|
|
|
25
25
|
[](https://github.com/docdyhr/mcp-wordpress)
|
|
26
|
-
[](https://github.com/docdyhr/mcp-wordpress/tree/main/tests/security)
|
|
27
27
|
[](https://github.com/docdyhr/mcp-wordpress/security/advisories)
|
|
28
|
-
[](https://github.com/docdyhr/mcp-wordpress/blob/main/tests/security/penetration-tests.test.js)
|
|
29
29
|
[](https://hub.docker.com/r/docdyhr/mcp-wordpress)
|
|
30
30
|
[](https://github.com/docdyhr/mcp-wordpress/blob/main/LICENSE)
|
|
31
31
|
[](https://smithery.ai/server/@docdyhr/mcp-wordpress)
|
|
@@ -45,7 +45,7 @@ Manage WordPress sites with natural language through AI tools like Claude Deskto
|
|
|
45
45
|
|
|
46
46
|
- 🏆 **Most Complete**: 59 tools vs 20-30 in alternatives
|
|
47
47
|
- ⚡ **Fastest Setup**: 2-click Claude Desktop installation via DXT
|
|
48
|
-
- 🔒 **Production Ready**:
|
|
48
|
+
- 🔒 **Production Ready**: 512 tests (100% pass rate), security audited, battle-tested
|
|
49
49
|
- 🎯 **TypeScript Native**: 100% type safety, best-in-class developer experience
|
|
50
50
|
- 🌐 **Multi-Site**: Manage unlimited WordPress sites from one place
|
|
51
51
|
|
|
@@ -73,7 +73,7 @@ WordPress Admin → Users → Profile → Application Passwords → Add New
|
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
75
|
# Download and install in Claude Desktop
|
|
76
|
-
curl -L https://github.com/docdyhr/mcp-wordpress/
|
|
76
|
+
curl -L https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt -o mcp-wordpress.dxt
|
|
77
77
|
# Then: Claude Desktop → Extensions → Install → Select DXT file
|
|
78
78
|
```
|
|
79
79
|
|
|
@@ -99,7 +99,8 @@ Response: "✅ Authentication successful! Connected to: Your Site Name"
|
|
|
99
99
|
|
|
100
100
|
**Easiest installation - just 2 clicks!**
|
|
101
101
|
|
|
102
|
-
1. **Download**: [`mcp-wordpress.dxt`](https://github.com/docdyhr/mcp-wordpress/
|
|
102
|
+
1. **Download**: [`mcp-wordpress.dxt`](https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt)
|
|
103
|
+
(3.4MB)
|
|
103
104
|
2. **Install**: Claude Desktop → Extensions → Install → Select DXT file
|
|
104
105
|
3. **Configure**: Enter your WordPress site URL and credentials
|
|
105
106
|
|
|
@@ -362,7 +363,7 @@ define('JWT_AUTH_CORS_ENABLE', true);
|
|
|
362
363
|
|
|
363
364
|
- **⚡ Intelligent Caching** - 50-70% performance improvement
|
|
364
365
|
- **📊 Real-Time Monitoring** - Performance metrics and optimization insights
|
|
365
|
-
- **🔒 Production Ready** - Security-reviewed,
|
|
366
|
+
- **🔒 Production Ready** - Security-reviewed, 96.17% line coverage with Vitest testing framework
|
|
366
367
|
- **🔄 Zero Downtime** - Graceful error handling and automatic recovery
|
|
367
368
|
|
|
368
369
|
#### Developer Experience
|
|
@@ -926,10 +927,10 @@ os-info >> debug-report.txt
|
|
|
926
927
|
|
|
927
928
|
### Current Test Status ✅
|
|
928
929
|
|
|
929
|
-
- **Main Test Suite**:
|
|
930
|
+
- **Main Test Suite**: 512/512 passed (100%) with Vitest
|
|
930
931
|
- **Security Tests**: 40/40 passed (100%)
|
|
931
932
|
- **Performance Tests**: 8/8 passed (100%)
|
|
932
|
-
- **CI/CD Pipeline**: Fully functional
|
|
933
|
+
- **CI/CD Pipeline**: Fully functional with Vitest integration
|
|
933
934
|
|
|
934
935
|
### Test Your Installation
|
|
935
936
|
|
|
@@ -937,9 +938,12 @@ os-info >> debug-report.txt
|
|
|
937
938
|
# Check connection status
|
|
938
939
|
npm run status
|
|
939
940
|
|
|
940
|
-
# Run full test suite
|
|
941
|
+
# Run full test suite (Vitest)
|
|
941
942
|
npm test
|
|
942
943
|
|
|
944
|
+
# Run tests with coverage
|
|
945
|
+
npm run test:coverage
|
|
946
|
+
|
|
943
947
|
# Quick validation
|
|
944
948
|
npm run test:fast
|
|
945
949
|
```
|
|
@@ -1056,7 +1060,6 @@ npm run setup
|
|
|
1056
1060
|
- **[Contributing](CONTRIBUTING.md)** - Development guidelines
|
|
1057
1061
|
- **[Plugin Development](docs/developer/plugins.md)** - Extend functionality
|
|
1058
1062
|
|
|
1059
|
-
|
|
1060
1063
|
### Deployment & Operations
|
|
1061
1064
|
|
|
1062
1065
|
- **[Docker Deployment](docs/deployment/docker.md)** - Container deployment
|
|
@@ -1114,7 +1117,8 @@ docker pull docdyhr/mcp-wordpress:1.3.1
|
|
|
1114
1117
|
|
|
1115
1118
|
**Ready to transform your WordPress management?**
|
|
1116
1119
|
|
|
1117
|
-
1. **🏆 [Download DXT Extension](https://github.com/docdyhr/mcp-wordpress/
|
|
1120
|
+
1. **🏆 [Download DXT Extension](https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt)** -
|
|
1121
|
+
Easiest setup
|
|
1118
1122
|
(2 minutes)
|
|
1119
1123
|
2. **⚡ [Try NPX Method](docs/user-guides/NPX_SETUP.md)** - Power user setup (5 minutes)
|
|
1120
1124
|
3. **📚 [Explore All Tools](docs/api/README.md)** - See what's possible
|
package/bin/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerConfiguration.d.ts","sourceRoot":"","sources":["../../src/config/ServerConfiguration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOnD,OAAO,EAEL,KAAK,QAAQ,IAAI,UAAU,EAC3B,KAAK,mBAAmB,IAAI,eAAe,EAC3C,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAE3D;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;;
|
|
1
|
+
{"version":3,"file":"ServerConfiguration.d.ts","sourceRoot":"","sources":["../../src/config/ServerConfiguration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOnD,OAAO,EAEL,KAAK,QAAQ,IAAI,UAAU,EAC3B,KAAK,mBAAmB,IAAI,eAAe,EAC3C,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAE3D;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;;IAyCxB;;OAEG;WACW,WAAW,IAAI,mBAAmB;IAOhD;;;OAGG;IACI,wBAAwB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG;QAC1D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACtC,OAAO,EAAE,UAAU,EAAE,CAAC;KACvB;IAkBD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkD3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4F7B;;OAEG;IACI,UAAU,IAAI,MAAM;CAG5B"}
|
|
@@ -23,8 +23,29 @@ export class ServerConfiguration {
|
|
|
23
23
|
const __dirname = path.dirname(__filename);
|
|
24
24
|
this.rootDir = path.resolve(__dirname, "../..");
|
|
25
25
|
this.envPath = path.resolve(this.rootDir, ".env");
|
|
26
|
-
// Load environment variables
|
|
27
|
-
dotenv
|
|
26
|
+
// Load environment variables (completely silent for MCP compatibility)
|
|
27
|
+
// Suppress dotenv output that could interfere with JSON-RPC communication
|
|
28
|
+
// eslint-disable-next-line no-console
|
|
29
|
+
const originalConsoleLog = console.log;
|
|
30
|
+
// eslint-disable-next-line no-console
|
|
31
|
+
const originalConsoleError = console.error;
|
|
32
|
+
try {
|
|
33
|
+
// eslint-disable-next-line no-console
|
|
34
|
+
console.log = () => { };
|
|
35
|
+
// eslint-disable-next-line no-console
|
|
36
|
+
console.error = () => { };
|
|
37
|
+
dotenv.config({
|
|
38
|
+
path: this.envPath,
|
|
39
|
+
debug: false,
|
|
40
|
+
override: false
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
// eslint-disable-next-line no-console
|
|
45
|
+
console.log = originalConsoleLog;
|
|
46
|
+
// eslint-disable-next-line no-console
|
|
47
|
+
console.error = originalConsoleError;
|
|
48
|
+
}
|
|
28
49
|
// Debug output for DXT troubleshooting (reduced in DXT mode)
|
|
29
50
|
if (ConfigHelpers.shouldDebug()) {
|
|
30
51
|
this.logger.debug("ServerConfiguration initialized", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerConfiguration.js","sourceRoot":"","sources":["../../src/config/ServerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,sBAAsB,GAIvB,MAAM,0BAA0B,CAAC;AAKlC;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAC,QAAQ,CAAsB;IAC5B,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;IACzC,OAAO,CAAS;IAChB,OAAO,CAAS;IAExB;QACE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAElD,
|
|
1
|
+
{"version":3,"file":"ServerConfiguration.js","sourceRoot":"","sources":["../../src/config/ServerConfiguration.ts"],"names":[],"mappings":"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"}
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -27,7 +27,8 @@ The easiest way to get started with WordPress MCP in Claude Desktop.
|
|
|
27
27
|
1. **Download DXT Package**
|
|
28
28
|
```bash
|
|
29
29
|
# Download the latest DXT package
|
|
30
|
-
curl -L -o mcp-wordpress.dxt
|
|
30
|
+
curl -L -o mcp-wordpress.dxt \
|
|
31
|
+
https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
2. **Install in Claude Desktop**
|
|
@@ -419,5 +420,6 @@ After successful installation:
|
|
|
419
420
|
|
|
420
421
|
---
|
|
421
422
|
|
|
422
|
-
**Found an issue with this guide?**
|
|
423
|
+
**Found an issue with this guide?**
|
|
424
|
+
[Edit on GitHub](https://github.com/docdyhr/mcp-wordpress/edit/main/docs/INSTALLATION.md) or
|
|
423
425
|
[open an issue](https://github.com/docdyhr/mcp-wordpress/issues/new).
|
package/docs/TROUBLESHOOTING.md
CHANGED
|
@@ -412,7 +412,8 @@ npm run cache:stats
|
|
|
412
412
|
# Recent fix for DXT: JSON parsing errors
|
|
413
413
|
# Update to latest version
|
|
414
414
|
curl -L -o mcp-wordpress.dxt \
|
|
415
|
-
https://github.com/docdyhr/mcp-wordpress/
|
|
415
|
+
https://github.com/docdyhr/mcp-wordpress/releases/latest/download/\
|
|
416
|
+
mcp-wordpress.dxt
|
|
416
417
|
|
|
417
418
|
# Reinstall DXT extension
|
|
418
419
|
```
|
|
@@ -6,11 +6,11 @@ Comprehensive guide to the test suite, testing strategies, and best practices fo
|
|
|
6
6
|
|
|
7
7
|
### Current Test Status ✅
|
|
8
8
|
|
|
9
|
-
- **Main Test Suite**:
|
|
9
|
+
- **Main Test Suite**: 512/512 passed (100%) with Vitest
|
|
10
10
|
- **Security Tests**: 40/40 passed (100%)
|
|
11
11
|
- **Performance Tests**: 8/8 passed (100%)
|
|
12
|
-
- **CI/CD Pipeline**: Fully functional
|
|
13
|
-
- **Code Coverage**:
|
|
12
|
+
- **CI/CD Pipeline**: Fully functional with Vitest integration
|
|
13
|
+
- **Code Coverage**: 96.17% line coverage maintained
|
|
14
14
|
|
|
15
15
|
### Test Architecture
|
|
16
16
|
|
|
@@ -101,14 +101,19 @@ npm run test:with-env # Tests with Docker WordPress
|
|
|
101
101
|
|
|
102
102
|
## 🔧 Test Configuration
|
|
103
103
|
|
|
104
|
-
###
|
|
104
|
+
### Vitest Configuration
|
|
105
105
|
|
|
106
|
-
```
|
|
107
|
-
//
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
```typescript
|
|
107
|
+
// vitest.config.ts
|
|
108
|
+
import { defineConfig } from 'vitest/config';
|
|
109
|
+
|
|
110
|
+
export default defineConfig({
|
|
111
|
+
test: {
|
|
112
|
+
environment: 'node',
|
|
113
|
+
include: ['tests/**/*.test.js'],
|
|
114
|
+
coverage: {
|
|
115
|
+
include: ['src/**/*.ts'],
|
|
116
|
+
exclude: ['src/**/*.d.ts', 'src/**/*.test.ts'],
|
|
112
117
|
coverageThreshold: {
|
|
113
118
|
global: {
|
|
114
119
|
branches: 50,
|
|
@@ -646,15 +651,15 @@ describe("Component Name", () => {
|
|
|
646
651
|
// tests/utils/mocks.js
|
|
647
652
|
export const mockWordPressClient = {
|
|
648
653
|
posts: {
|
|
649
|
-
create:
|
|
650
|
-
update:
|
|
651
|
-
delete:
|
|
652
|
-
get:
|
|
653
|
-
list:
|
|
654
|
+
create: vi.fn(),
|
|
655
|
+
update: vi.fn(),
|
|
656
|
+
delete: vi.fn(),
|
|
657
|
+
get: vi.fn(),
|
|
658
|
+
list: vi.fn(),
|
|
654
659
|
},
|
|
655
660
|
auth: {
|
|
656
|
-
authenticate:
|
|
657
|
-
getAuthHeaders:
|
|
661
|
+
authenticate: vi.fn(),
|
|
662
|
+
getAuthHeaders: vi.fn(),
|
|
658
663
|
},
|
|
659
664
|
};
|
|
660
665
|
|
|
@@ -699,8 +704,8 @@ DEBUG=true npm test
|
|
|
699
704
|
# Debug specific test file
|
|
700
705
|
DEBUG=true npm test -- tests/integration/wordpress-api.test.js
|
|
701
706
|
|
|
702
|
-
# Debug with Node.js inspector
|
|
703
|
-
node --inspect-brk ./node_modules/.bin/
|
|
707
|
+
# Debug with Node.js inspector (Vitest)
|
|
708
|
+
node --inspect-brk ./node_modules/.bin/vitest run --no-coverage
|
|
704
709
|
```
|
|
705
710
|
|
|
706
711
|
### Test Debugging Tools
|
|
@@ -23,12 +23,15 @@ command line, no configuration files - just click and configure.
|
|
|
23
23
|
|
|
24
24
|
**Option A: Direct Download**
|
|
25
25
|
|
|
26
|
-
- Click here:
|
|
26
|
+
- Click here:
|
|
27
|
+
[`mcp-wordpress.dxt`](https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt)
|
|
28
|
+
(3.4MB)
|
|
27
29
|
|
|
28
30
|
**Option B: Command Line**
|
|
29
31
|
|
|
30
32
|
```bash
|
|
31
|
-
curl -L -o mcp-wordpress.dxt
|
|
33
|
+
curl -L -o mcp-wordpress.dxt \
|
|
34
|
+
https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt
|
|
32
35
|
```
|
|
33
36
|
|
|
34
37
|
### Step 2: Install in Claude Desktop
|
|
@@ -201,7 +204,8 @@ For advanced users, the DXT extension supports:
|
|
|
201
204
|
ls -la mcp-wordpress.dxt
|
|
202
205
|
|
|
203
206
|
# Re-download if file size seems wrong
|
|
204
|
-
curl -L -o mcp-wordpress.dxt
|
|
207
|
+
curl -L -o mcp-wordpress.dxt \
|
|
208
|
+
https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt
|
|
205
209
|
|
|
206
210
|
# Reinstall extension
|
|
207
211
|
# Remove from Claude Desktop and reinstall
|
|
@@ -422,5 +426,6 @@ When reporting DXT-related issues, include:
|
|
|
422
426
|
---
|
|
423
427
|
|
|
424
428
|
**Ready to get started?**
|
|
425
|
-
[Download the DXT extension](https://github.com/docdyhr/mcp-wordpress/
|
|
429
|
+
[Download the DXT extension](https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt)
|
|
430
|
+
and transform your
|
|
426
431
|
WordPress management experience!
|
|
@@ -14,7 +14,8 @@ This guide walks you through installing the WordPress MCP Server as a Claude Des
|
|
|
14
14
|
|
|
15
15
|
**Option A: Download Pre-built Package**
|
|
16
16
|
|
|
17
|
-
- Download `mcp-wordpress.dxt`
|
|
17
|
+
- Download [`mcp-wordpress.dxt`](https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt)
|
|
18
|
+
from the releases page
|
|
18
19
|
- Skip to step 2
|
|
19
20
|
|
|
20
21
|
**Option B: Build from Source**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-wordpress",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.2",
|
|
4
4
|
"description": "Comprehensive Model Context Protocol server for WordPress management with 59 tools, performance monitoring, intelligent caching, auto-generated documentation, Docker support, TypeScript, and production-ready authentication - CI/CD test",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -104,30 +104,32 @@
|
|
|
104
104
|
"setup": "node bin/setup.js",
|
|
105
105
|
"start": "npm run build && node dist/index.js",
|
|
106
106
|
"status": "node bin/status.js",
|
|
107
|
-
"test": "npm run
|
|
107
|
+
"test": "npm run build && vitest run",
|
|
108
108
|
"test:auth": "node scripts/test-auth.js",
|
|
109
|
-
"test:cache": "npm run build &&
|
|
110
|
-
"test:ci": "npm run build && CI=true
|
|
109
|
+
"test:cache": "npm run build && vitest run tests/cache/",
|
|
110
|
+
"test:ci": "npm run build && CI=true vitest run",
|
|
111
111
|
"test:compatibility": "echo '✅ Live compatibility tests bypassed - focusing on coverage collection and badge generation'",
|
|
112
|
-
"test:config": "npm run build &&
|
|
112
|
+
"test:config": "npm run build && vitest run tests/config/",
|
|
113
113
|
"test:contracts": "npm run test:compatibility",
|
|
114
|
-
"test:coverage": "
|
|
115
|
-
"test:coverage:baseline": "
|
|
116
|
-
"test:coverage:ci": "npm run build &&
|
|
114
|
+
"test:coverage": "npm run build && vitest run --coverage",
|
|
115
|
+
"test:coverage:baseline": "npm run build && vitest run --coverage",
|
|
116
|
+
"test:coverage:ci": "npm run build && vitest run --coverage --silent",
|
|
117
117
|
"test:coverage:report": "npm run test:coverage && node scripts/coverage-guardrail.js",
|
|
118
118
|
"test:fast": "npm run test:typescript",
|
|
119
119
|
"test:integration": "node scripts/test-integration.js",
|
|
120
|
-
"test:legacy": "npm run build &&
|
|
120
|
+
"test:legacy": "npm run build && vitest run",
|
|
121
121
|
"test:mcp": "node scripts/test-mcp.js",
|
|
122
122
|
"test:multisite": "node scripts/test-multisite-quick.js",
|
|
123
|
-
"test:performance": "npm run build &&
|
|
124
|
-
"test:
|
|
125
|
-
"test:
|
|
126
|
-
"test:security
|
|
127
|
-
"test:security:
|
|
123
|
+
"test:performance": "npm run build && vitest run tests/performance/",
|
|
124
|
+
"test:performance:ci": "npm run build && vitest run tests/performance/ --exclude=\"**/regression-detection.test.js\"",
|
|
125
|
+
"test:property": "npm run build && vitest run tests/property/",
|
|
126
|
+
"test:security": "npm run build && vitest run tests/security/",
|
|
127
|
+
"test:security:penetration": "npm run build && vitest run tests/security/penetration-tests.test.js",
|
|
128
|
+
"test:security:validation": "npm run build && vitest run tests/security/security-validation.test.js",
|
|
128
129
|
"test:tools": "node scripts/test-all-tools-fixed.js",
|
|
129
|
-
"test:typescript": "npm run build &&
|
|
130
|
-
"test:
|
|
130
|
+
"test:typescript": "npm run build && vitest run",
|
|
131
|
+
"test:ui": "npm run build && vitest --ui",
|
|
132
|
+
"test:watch": "vitest",
|
|
131
133
|
"test:weekly": "npm run test:compatibility",
|
|
132
134
|
"test:with-env": "bash scripts/start-test-env.sh && npm run test:typescript",
|
|
133
135
|
"typecheck": "tsc --noEmit",
|
|
@@ -153,34 +155,31 @@
|
|
|
153
155
|
}
|
|
154
156
|
},
|
|
155
157
|
"dependencies": {
|
|
156
|
-
"@modelcontextprotocol/sdk": "^1.17.
|
|
158
|
+
"@modelcontextprotocol/sdk": "^1.17.4",
|
|
157
159
|
"dotenv": "^17.2.1",
|
|
158
160
|
"form-data": "^4.0.4",
|
|
159
161
|
"zod": "^3.25.76"
|
|
160
162
|
},
|
|
161
163
|
"devDependencies": {
|
|
162
|
-
"@eslint/js": "^9.
|
|
163
|
-
"@jest/globals": "^30.0.5",
|
|
164
|
+
"@eslint/js": "^9.34.0",
|
|
164
165
|
"@pact-foundation/pact": "^15.0.1",
|
|
165
166
|
"@pact-foundation/pact-node": "^10.18.0",
|
|
166
167
|
"@semantic-release/changelog": "^6.0.3",
|
|
167
168
|
"@semantic-release/git": "^10.0.1",
|
|
168
|
-
"@types/
|
|
169
|
-
"@
|
|
170
|
-
"@typescript-eslint/
|
|
171
|
-
"@
|
|
169
|
+
"@types/node": "^20.19.11",
|
|
170
|
+
"@typescript-eslint/eslint-plugin": "^8.40.0",
|
|
171
|
+
"@typescript-eslint/parser": "^8.40.0",
|
|
172
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
173
|
+
"@vitest/ui": "^3.2.4",
|
|
172
174
|
"archiver": "^7.0.1",
|
|
173
|
-
"babel-jest": "^30.0.5",
|
|
174
175
|
"c8": "^10.1.3",
|
|
175
176
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
176
|
-
"eslint": "^9.
|
|
177
|
+
"eslint": "^9.34.0",
|
|
177
178
|
"eslint-config-prettier": "^10.1.8",
|
|
178
|
-
"eslint-plugin-jest": "^29.0.1",
|
|
179
179
|
"eslint-plugin-node": "^11.1.0",
|
|
180
180
|
"fast-check": "^4.2.0",
|
|
181
181
|
"fs-extra": "^11.3.0",
|
|
182
182
|
"husky": "^9.1.7",
|
|
183
|
-
"jest": "^30.0.5",
|
|
184
183
|
"lint-staged": "^16.1.4",
|
|
185
184
|
"markdownlint-cli": "^0.45.0",
|
|
186
185
|
"mcp-evals": "^2.0.1",
|
|
@@ -190,8 +189,8 @@
|
|
|
190
189
|
"prettier": "^3.6.2",
|
|
191
190
|
"semantic-release": "^24.2.7",
|
|
192
191
|
"sort-package-json": "^3.4.0",
|
|
193
|
-
"
|
|
194
|
-
"
|
|
192
|
+
"typescript": "^5.9.2",
|
|
193
|
+
"vitest": "^3.2.4"
|
|
195
194
|
},
|
|
196
195
|
"engines": {
|
|
197
196
|
"node": ">=20.8.1"
|
|
@@ -35,8 +35,28 @@ export class ServerConfiguration {
|
|
|
35
35
|
this.rootDir = path.resolve(__dirname, "../..");
|
|
36
36
|
this.envPath = path.resolve(this.rootDir, ".env");
|
|
37
37
|
|
|
38
|
-
// Load environment variables
|
|
39
|
-
dotenv
|
|
38
|
+
// Load environment variables (completely silent for MCP compatibility)
|
|
39
|
+
// Suppress dotenv output that could interfere with JSON-RPC communication
|
|
40
|
+
// eslint-disable-next-line no-console
|
|
41
|
+
const originalConsoleLog = console.log;
|
|
42
|
+
// eslint-disable-next-line no-console
|
|
43
|
+
const originalConsoleError = console.error;
|
|
44
|
+
try {
|
|
45
|
+
// eslint-disable-next-line no-console
|
|
46
|
+
console.log = () => {};
|
|
47
|
+
// eslint-disable-next-line no-console
|
|
48
|
+
console.error = () => {};
|
|
49
|
+
dotenv.config({
|
|
50
|
+
path: this.envPath,
|
|
51
|
+
debug: false,
|
|
52
|
+
override: false
|
|
53
|
+
});
|
|
54
|
+
} finally {
|
|
55
|
+
// eslint-disable-next-line no-console
|
|
56
|
+
console.log = originalConsoleLog;
|
|
57
|
+
// eslint-disable-next-line no-console
|
|
58
|
+
console.error = originalConsoleError;
|
|
59
|
+
}
|
|
40
60
|
|
|
41
61
|
// Debug output for DXT troubleshooting (reduced in DXT mode)
|
|
42
62
|
if (ConfigHelpers.shouldDebug()) {
|
package/dist/ajv-patch.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AJV patch to handle missing refs directory in DXT package
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
const fs = require('fs');
|
|
6
|
-
const path = require('path');
|
|
7
|
-
|
|
8
|
-
// Patch the AJV module to use our embedded schema files
|
|
9
|
-
const originalRequire = require;
|
|
10
|
-
const Module = require('module');
|
|
11
|
-
|
|
12
|
-
const originalResolveFilename = Module._resolveFilename;
|
|
13
|
-
Module._resolveFilename = function(request, parent, isMain) {
|
|
14
|
-
// Intercept requests for AJV refs
|
|
15
|
-
if (request.includes('refs/json-schema-draft-07.json')) {
|
|
16
|
-
return path.join(__dirname, 'ajv-refs', 'json-schema-draft-07.json');
|
|
17
|
-
}
|
|
18
|
-
if (request.includes('refs/json-schema-draft-04.json')) {
|
|
19
|
-
return path.join(__dirname, 'ajv-refs', 'json-schema-draft-04.json');
|
|
20
|
-
}
|
|
21
|
-
if (request.includes('refs/json-schema-draft-06.json')) {
|
|
22
|
-
return path.join(__dirname, 'ajv-refs', 'json-schema-draft-06.json');
|
|
23
|
-
}
|
|
24
|
-
if (request.includes('refs/json-schema-secure.json')) {
|
|
25
|
-
return path.join(__dirname, 'ajv-refs', 'json-schema-secure.json');
|
|
26
|
-
}
|
|
27
|
-
if (request.includes('refs/data.json')) {
|
|
28
|
-
return path.join(__dirname, 'ajv-refs', 'data.json');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return originalResolveFilename.call(this, request, parent, isMain);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
module.exports = {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CacheInvalidation.test.d.ts","sourceRoot":"","sources":["../../../src/cache/__tests__/CacheInvalidation.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|