mcp-wordpress 2.11.4 → 2.11.6
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/dist/cache/HttpCacheWrapper.d.ts +1 -2
- package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
- package/dist/cache/HttpCacheWrapper.js +2 -7
- package/dist/cache/HttpCacheWrapper.js.map +1 -1
- package/dist/client/CachedWordPressClient.d.ts +2 -0
- package/dist/client/CachedWordPressClient.d.ts.map +1 -1
- package/dist/client/CachedWordPressClient.js +68 -13
- package/dist/client/CachedWordPressClient.js.map +1 -1
- package/dist/client/api.d.ts +7 -0
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +204 -159
- package/dist/client/api.js.map +1 -1
- package/dist/client/managers/AuthenticationManager.d.ts +1 -7
- package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
- package/dist/client/managers/AuthenticationManager.js +55 -17
- package/dist/client/managers/AuthenticationManager.js.map +1 -1
- package/dist/config/ConfigurationSchema.d.ts +75 -198
- package/dist/config/ConfigurationSchema.d.ts.map +1 -1
- package/dist/security/InputValidator.d.ts +48 -124
- package/dist/security/InputValidator.d.ts.map +1 -1
- package/dist/types/seo.d.ts +76 -240
- package/dist/types/seo.d.ts.map +1 -1
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +9 -10
- package/dist/utils/version.js.map +1 -1
- package/package.json +7 -7
- package/src/cache/HttpCacheWrapper.ts +3 -16
- package/src/client/CachedWordPressClient.ts +83 -13
- package/src/client/api.ts +268 -178
- package/src/client/managers/AuthenticationManager.ts +63 -21
- package/src/utils/version.ts +10 -10
package/dist/utils/version.js
CHANGED
|
@@ -68,11 +68,7 @@ export class VersionManager {
|
|
|
68
68
|
getPackageInfo() {
|
|
69
69
|
if (!this.packageJson) {
|
|
70
70
|
// Return fallback package info if not loaded
|
|
71
|
-
this.packageJson =
|
|
72
|
-
name: "mcp-wordpress",
|
|
73
|
-
version: "2.7.0", // Fallback version
|
|
74
|
-
description: "MCP WordPress Server",
|
|
75
|
-
};
|
|
71
|
+
this.packageJson = this.getFallbackPackageInfo();
|
|
76
72
|
}
|
|
77
73
|
return this.packageJson;
|
|
78
74
|
}
|
|
@@ -116,11 +112,7 @@ export class VersionManager {
|
|
|
116
112
|
catch (_error) {
|
|
117
113
|
// Fallback for runtime environments where package.json might not be available
|
|
118
114
|
// Note: Using fallback version - should match package.json
|
|
119
|
-
return
|
|
120
|
-
name: "mcp-wordpress",
|
|
121
|
-
version: "2.7.0", // Fallback version - should match package.json
|
|
122
|
-
description: "MCP WordPress Server",
|
|
123
|
-
};
|
|
115
|
+
return this.getFallbackPackageInfo();
|
|
124
116
|
}
|
|
125
117
|
}
|
|
126
118
|
/**
|
|
@@ -277,6 +269,13 @@ export class VersionManager {
|
|
|
277
269
|
const color = info.prerelease ? "orange" : "blue";
|
|
278
270
|
return `https://img.shields.io/badge/version-${info.version}-${color}`;
|
|
279
271
|
}
|
|
272
|
+
getFallbackPackageInfo() {
|
|
273
|
+
return {
|
|
274
|
+
name: "mcp-wordpress",
|
|
275
|
+
version: process.env.npm_package_version || "2.11.3",
|
|
276
|
+
description: "MCP WordPress Server",
|
|
277
|
+
};
|
|
278
|
+
}
|
|
280
279
|
}
|
|
281
280
|
/**
|
|
282
281
|
* Singleton instance export for convenience
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AA+B/B;;;GAGG;AACH,MAAM,OAAO,cAAc;IACjB,MAAM,CAAC,QAAQ,CAAiB;IAChC,WAAW,GAAuB,IAAI,CAAC;IACvC,WAAW,GAAuB,IAAI,CAAC;IACvC,aAAa,GAAY,KAAK,CAAC;IAEvC,gBAAuB,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,2CAA2C;YAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,yBAAyB;YAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,uDAAuD;YACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,6CAA6C;YAC7C,IAAI,CAAC,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-wordpress",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.6",
|
|
4
4
|
"description": "Comprehensive Model Context Protocol server for WordPress management with composition-based architecture, 59 tools, SEO toolkit, performance monitoring, intelligent caching, and production-ready authentication",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -96,9 +96,9 @@
|
|
|
96
96
|
"test:memory-config": "npm run build && NODE_OPTIONS=\"--max-old-space-size=6144\" vitest run --config vitest.memory-safe.config.ts",
|
|
97
97
|
"test:memory-safe": "npm run build && NODE_OPTIONS=\"--max-old-space-size=6144 --max-semi-space-size=256\" vitest run --no-coverage --reporter=default",
|
|
98
98
|
"test:performance": "npm run build && vitest run tests/performance/",
|
|
99
|
+
"test:performance:ci": "npm run build && mkdir -p tests/results && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/performance/ --reporter=json --outputFile=tests/results/performance-results.json",
|
|
99
100
|
"test:pre-push": "bash scripts/test-pre-push.sh",
|
|
100
101
|
"test:production-security": "npm audit --omit=dev",
|
|
101
|
-
"test:performance:ci": "npm run build && mkdir -p tests/results && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/performance/ --reporter=json --outputFile=tests/results/performance-results.json",
|
|
102
102
|
"test:safe": "node scripts/run-tests-safe.cjs",
|
|
103
103
|
"test:security": "npm run build && vitest run tests/security/",
|
|
104
104
|
"test:security:validation": "npm run build && vitest run tests/security/penetration-tests.test.js",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"@modelcontextprotocol/sdk": "^1.17.4",
|
|
134
134
|
"dotenv": "^17.2.1",
|
|
135
135
|
"form-data": "^4.0.4",
|
|
136
|
-
"zod": "^
|
|
136
|
+
"zod": "^4.1.12"
|
|
137
137
|
},
|
|
138
138
|
"devDependencies": {
|
|
139
139
|
"@eslint/js": "^9.34.0",
|
|
@@ -144,8 +144,8 @@
|
|
|
144
144
|
"@types/node": "^24.3.0",
|
|
145
145
|
"@typescript-eslint/eslint-plugin": "^8.40.0",
|
|
146
146
|
"@typescript-eslint/parser": "^8.40.0",
|
|
147
|
-
"@vitest/coverage-v8": "^
|
|
148
|
-
"@vitest/ui": "^
|
|
147
|
+
"@vitest/coverage-v8": "^4.0.8",
|
|
148
|
+
"@vitest/ui": "^4.0.8",
|
|
149
149
|
"archiver": "^7.0.1",
|
|
150
150
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
151
151
|
"eslint": "^9.34.0",
|
|
@@ -161,12 +161,12 @@
|
|
|
161
161
|
"node-fetch": "^3.3.2",
|
|
162
162
|
"open": "^10.2.0",
|
|
163
163
|
"prettier": "^3.6.2",
|
|
164
|
-
"semantic-release": "^
|
|
164
|
+
"semantic-release": "^25.0.2",
|
|
165
165
|
"sort-package-json": "^3.4.0",
|
|
166
166
|
"tsc-alias": "^1.8.16",
|
|
167
167
|
"typescript": "^5.9.2",
|
|
168
168
|
"vite-tsconfig-paths": "^5.1.4",
|
|
169
|
-
"vitest": "^
|
|
169
|
+
"vitest": "^4.0.8"
|
|
170
170
|
},
|
|
171
171
|
"engines": {
|
|
172
172
|
"node": ">=20.8.1"
|
|
@@ -47,7 +47,7 @@ export class HttpCacheWrapper {
|
|
|
47
47
|
* Execute request with intelligent caching
|
|
48
48
|
*/
|
|
49
49
|
async request<T = unknown>(
|
|
50
|
-
requestFn: () => Promise<{
|
|
50
|
+
requestFn: (extraHeaders?: Record<string, string>) => Promise<{
|
|
51
51
|
data: T;
|
|
52
52
|
status: number;
|
|
53
53
|
headers: Record<string, string>;
|
|
@@ -73,7 +73,7 @@ export class HttpCacheWrapper {
|
|
|
73
73
|
const conditionalHeaders = this.cacheManager.getConditionalHeaders(cacheKey);
|
|
74
74
|
|
|
75
75
|
// Add conditional headers to request
|
|
76
|
-
const
|
|
76
|
+
const _requestWithHeaders = {
|
|
77
77
|
...options,
|
|
78
78
|
headers: {
|
|
79
79
|
...options.headers,
|
|
@@ -82,7 +82,7 @@ export class HttpCacheWrapper {
|
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
try {
|
|
85
|
-
const response = await
|
|
85
|
+
const response = await requestFn(conditionalHeaders);
|
|
86
86
|
|
|
87
87
|
// 304 Not Modified - return cached data
|
|
88
88
|
if (response.status === 304) {
|
|
@@ -216,19 +216,6 @@ export class HttpCacheWrapper {
|
|
|
216
216
|
/**
|
|
217
217
|
* Execute request with modified headers
|
|
218
218
|
*/
|
|
219
|
-
private async executeRequestWithHeaders(
|
|
220
|
-
requestFn: () => Promise<{
|
|
221
|
-
data: unknown;
|
|
222
|
-
status: number;
|
|
223
|
-
headers: Record<string, string>;
|
|
224
|
-
}>,
|
|
225
|
-
options: RequestOptions,
|
|
226
|
-
) {
|
|
227
|
-
// This is a simplified approach - in practice, you'd need to modify the actual request
|
|
228
|
-
// The actual implementation would depend on your HTTP client (axios, fetch, etc.)
|
|
229
|
-
return await requestFn();
|
|
230
|
-
}
|
|
231
|
-
|
|
232
219
|
/**
|
|
233
220
|
* Cache response and return with cache metadata
|
|
234
221
|
*/
|
|
@@ -55,41 +55,54 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
55
55
|
data: unknown = null,
|
|
56
56
|
options: RequestOptions = {},
|
|
57
57
|
): Promise<T> {
|
|
58
|
+
const upperMethod = method.toUpperCase();
|
|
59
|
+
|
|
58
60
|
// Only cache GET requests
|
|
59
|
-
if (
|
|
61
|
+
if (upperMethod !== "GET" || !SecurityConfig.cache.enabled) {
|
|
60
62
|
const response = await super.request<T>(method, endpoint, data, options);
|
|
61
63
|
|
|
62
64
|
// Trigger cache invalidation for write operations
|
|
63
|
-
if (["POST", "PUT", "PATCH", "DELETE"].includes(
|
|
65
|
+
if (["POST", "PUT", "PATCH", "DELETE"].includes(upperMethod)) {
|
|
64
66
|
await this.handleCacheInvalidation(method, endpoint, data);
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
return response;
|
|
68
70
|
}
|
|
69
71
|
|
|
70
|
-
//
|
|
71
|
-
const
|
|
72
|
+
// Normalize endpoint/query params so both the HTTP request and cache key stay in sync
|
|
73
|
+
const { normalizedEndpoint, normalizedParams } = this.normalizeEndpoint(endpoint, options.params);
|
|
74
|
+
|
|
75
|
+
// Ensure we don't leak params to the super call (the parent client expects query strings)
|
|
76
|
+
const baseOptions: RequestOptions = { ...options };
|
|
77
|
+
delete baseOptions.params;
|
|
72
78
|
|
|
73
|
-
const
|
|
79
|
+
const cacheRequestOptions = {
|
|
74
80
|
method,
|
|
75
|
-
url:
|
|
76
|
-
headers: {},
|
|
77
|
-
params:
|
|
81
|
+
url: this.buildRequestUrl(normalizedEndpoint),
|
|
82
|
+
headers: { ...(baseOptions.headers || {}) },
|
|
83
|
+
params: normalizedParams,
|
|
78
84
|
data,
|
|
79
85
|
};
|
|
80
86
|
|
|
81
|
-
const cacheOptions = this.getCacheOptions(
|
|
87
|
+
const cacheOptions = this.getCacheOptions(normalizedEndpoint);
|
|
82
88
|
|
|
83
89
|
const response = await this.httpCache.request(
|
|
84
|
-
async () => {
|
|
85
|
-
const
|
|
90
|
+
async (extraHeaders) => {
|
|
91
|
+
const mergedOptions: RequestOptions = {
|
|
92
|
+
...baseOptions,
|
|
93
|
+
headers: {
|
|
94
|
+
...(baseOptions.headers || {}),
|
|
95
|
+
...(extraHeaders || {}),
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
const result = await super.request<T>(method, normalizedEndpoint, data, mergedOptions);
|
|
86
99
|
return {
|
|
87
100
|
data: result,
|
|
88
101
|
status: 200,
|
|
89
|
-
headers: {},
|
|
102
|
+
headers: mergedOptions.headers || {},
|
|
90
103
|
};
|
|
91
104
|
},
|
|
92
|
-
|
|
105
|
+
cacheRequestOptions,
|
|
93
106
|
cacheOptions,
|
|
94
107
|
);
|
|
95
108
|
|
|
@@ -230,6 +243,63 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
230
243
|
};
|
|
231
244
|
}
|
|
232
245
|
|
|
246
|
+
private normalizeEndpoint(
|
|
247
|
+
endpoint: string,
|
|
248
|
+
params: Record<string, unknown> | undefined,
|
|
249
|
+
): { normalizedEndpoint: string; normalizedParams: Record<string, unknown> } {
|
|
250
|
+
const [pathPart, queryPart] = endpoint.split("?");
|
|
251
|
+
const collectedParams: Record<string, string[]> = {};
|
|
252
|
+
|
|
253
|
+
if (queryPart) {
|
|
254
|
+
const searchParams = new URLSearchParams(queryPart);
|
|
255
|
+
for (const [key, value] of searchParams.entries()) {
|
|
256
|
+
if (!collectedParams[key]) {
|
|
257
|
+
collectedParams[key] = [];
|
|
258
|
+
}
|
|
259
|
+
collectedParams[key].push(value);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
if (params) {
|
|
264
|
+
for (const [key, value] of Object.entries(params)) {
|
|
265
|
+
if (value === undefined || value === null) continue;
|
|
266
|
+
const values = Array.isArray(value) ? value : [value];
|
|
267
|
+
collectedParams[key] = values.map((item) => String(item));
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
const searchParams = new URLSearchParams();
|
|
272
|
+
Object.keys(collectedParams)
|
|
273
|
+
.sort()
|
|
274
|
+
.forEach((key) => {
|
|
275
|
+
collectedParams[key].forEach((value) => searchParams.append(key, value));
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
const normalizedParams: Record<string, unknown> = {};
|
|
279
|
+
for (const [key, value] of Object.entries(collectedParams)) {
|
|
280
|
+
normalizedParams[key] = value.length === 1 ? value[0] : [...value];
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
const normalizedEndpoint = searchParams.toString() ? `${pathPart}?${searchParams.toString()}` : pathPart;
|
|
284
|
+
|
|
285
|
+
return { normalizedEndpoint, normalizedParams };
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
private buildRequestUrl(endpoint: string): string {
|
|
289
|
+
if (endpoint.startsWith("http")) {
|
|
290
|
+
return endpoint;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
const cleanEndpoint = endpoint.replace(/^\/+/, "");
|
|
294
|
+
const siteUrl = this.getSiteUrl().replace(/\/$/, "");
|
|
295
|
+
|
|
296
|
+
if (cleanEndpoint.startsWith("wp-json/")) {
|
|
297
|
+
return `${siteUrl}/${cleanEndpoint}`;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
return `${siteUrl}/wp-json/wp/v2/${cleanEndpoint}`;
|
|
301
|
+
}
|
|
302
|
+
|
|
233
303
|
/**
|
|
234
304
|
* Handle cache invalidation for write operations
|
|
235
305
|
*/
|