localwp-mcp 0.1.9 → 0.1.10
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/tools/wp-runtime-call.d.ts +9 -0
- package/dist/tools/wp-runtime-call.js +27 -6
- package/dist/tools/wp-runtime-call.js.map +1 -1
- package/dist/wp-cli.d.ts +3 -0
- package/dist/wp-cli.js +21 -12
- package/dist/wp-cli.js.map +1 -1
- package/dist/wp-runtime.d.ts +5 -0
- package/dist/wp-runtime.js +22 -9
- package/dist/wp-runtime.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { SiteContext, SpawnResult } from "../types.js";
|
|
2
3
|
export declare function registerWpRuntimeCallTools(server: McpServer): void;
|
|
4
|
+
export declare function resolveWpRuntimeCallProcessResult(context: Pick<SiteContext, "site">, result: Pick<SpawnResult, "stdout" | "stderr" | "exitCode" | "timedOut">): {
|
|
5
|
+
readonly parsed: {
|
|
6
|
+
payload: import("../wp-runtime.js").WpRuntimeCallResultPayload;
|
|
7
|
+
remainingStdout: string;
|
|
8
|
+
};
|
|
9
|
+
readonly wpCliStatus: "ok" | "payload_recovered_from_nonzero_exit";
|
|
10
|
+
readonly wpCliWarning: string | null;
|
|
11
|
+
};
|
|
@@ -4,12 +4,32 @@ import { config } from "../config.js";
|
|
|
4
4
|
import { buildSiteContext, summarizeSite } from "../local-sites.js";
|
|
5
5
|
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
6
6
|
import { siteSelectorSchema } from "../tool-schemas.js";
|
|
7
|
-
import {
|
|
7
|
+
import { assertWpCliProcessSucceeded, formatWpCliProcessError, runWpCliArgsRaw, } from "../wp-cli.js";
|
|
8
8
|
import { extractWpRuntimeCallPayload, parseWpRuntimeArgsJson, prepareWpRuntimeCallFiles, } from "../wp-runtime.js";
|
|
9
9
|
export function registerWpRuntimeCallTools(server) {
|
|
10
10
|
registerWpCallFunctionTool(server);
|
|
11
11
|
registerWpCallStaticMethodTool(server);
|
|
12
12
|
}
|
|
13
|
+
export function resolveWpRuntimeCallProcessResult(context, result) {
|
|
14
|
+
let parsed = null;
|
|
15
|
+
try {
|
|
16
|
+
parsed = extractWpRuntimeCallPayload(result.stdout);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
parsed = null;
|
|
20
|
+
}
|
|
21
|
+
if (!parsed) {
|
|
22
|
+
assertWpCliProcessSucceeded(context, result);
|
|
23
|
+
parsed = extractWpRuntimeCallPayload(result.stdout);
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
parsed,
|
|
27
|
+
wpCliStatus: result.exitCode === 0 ? "ok" : "payload_recovered_from_nonzero_exit",
|
|
28
|
+
wpCliWarning: result.exitCode === 0
|
|
29
|
+
? null
|
|
30
|
+
: formatWpCliProcessError(context, result),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
13
33
|
function registerWpCallFunctionTool(server) {
|
|
14
34
|
server.registerTool("wp_call_function", {
|
|
15
35
|
description: "Runs a read-oriented function call inside the selected LocalWP site's loaded WordPress runtime using explicit JSON arguments and best-effort read-only guardrails.",
|
|
@@ -79,11 +99,8 @@ async function executeReadOnlyRuntimeCall(selection, options) {
|
|
|
79
99
|
const context = await buildSiteContext(selection);
|
|
80
100
|
const files = await prepareWpRuntimeCallFiles(options);
|
|
81
101
|
try {
|
|
82
|
-
const result = await
|
|
83
|
-
|
|
84
|
-
skipPermissionCheck: true,
|
|
85
|
-
});
|
|
86
|
-
const parsed = extractWpRuntimeCallPayload(result.stdout);
|
|
102
|
+
const result = await runWpCliArgsRaw(context, [`--require=${files.guardPath}`, "eval-file", files.scriptPath]);
|
|
103
|
+
const { parsed, wpCliStatus, wpCliWarning } = resolveWpRuntimeCallProcessResult(context, result);
|
|
87
104
|
return createJsonToolResult({
|
|
88
105
|
site: summarizeSite(context.site),
|
|
89
106
|
selectionMethod: context.selectionMethod,
|
|
@@ -95,8 +112,12 @@ async function executeReadOnlyRuntimeCall(selection, options) {
|
|
|
95
112
|
args: parsed.payload.args,
|
|
96
113
|
resultType: parsed.payload.resultType,
|
|
97
114
|
result: parsed.payload.result,
|
|
115
|
+
readOnlyState: parsed.payload.readOnlyState || null,
|
|
98
116
|
stdout: parsed.remainingStdout || null,
|
|
99
117
|
stderr: result.stderr || null,
|
|
118
|
+
wpCliExitCode: result.exitCode,
|
|
119
|
+
wpCliStatus,
|
|
120
|
+
wpCliWarning,
|
|
100
121
|
caveats: [
|
|
101
122
|
"This tool is designed for inspection and adds best-effort read-only guardrails.",
|
|
102
123
|
"It blocks common SQL writes on the main WordPress database connection plus outgoing HTTP and email.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wp-runtime-call.js","sourceRoot":"","sources":["../../src/tools/wp-runtime-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"wp-runtime-call.js","sourceRoot":"","sources":["../../src/tools/wp-runtime-call.ts"],"names":[],"mappings":"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"}
|
package/dist/wp-cli.d.ts
CHANGED
|
@@ -13,6 +13,9 @@ export declare function runWpCliArgs(context: SiteContext, rawArgs: string[], op
|
|
|
13
13
|
stdout: string;
|
|
14
14
|
stderr: string;
|
|
15
15
|
}>;
|
|
16
|
+
export declare function runWpCliArgsRaw(context: SiteContext, rawArgs: string[]): Promise<import("./types.js").SpawnResult>;
|
|
17
|
+
export declare function assertWpCliProcessSucceeded(context: SiteContext, result: Awaited<ReturnType<typeof runWpCliArgsRaw>>): void;
|
|
18
|
+
export declare function formatWpCliProcessError(context: SiteContext, result: Awaited<ReturnType<typeof runWpCliArgsRaw>>): string;
|
|
16
19
|
export declare function resolveWpCliExecution(context: SiteContext): Promise<{
|
|
17
20
|
tooling: import("./types.js").ResolvedLocalTooling;
|
|
18
21
|
command: string;
|
package/dist/wp-cli.js
CHANGED
|
@@ -20,27 +20,36 @@ export async function runWpCliArgs(context, rawArgs, options = {}) {
|
|
|
20
20
|
if (!options.skipPermissionCheck) {
|
|
21
21
|
assertWpCliPermissions(args);
|
|
22
22
|
}
|
|
23
|
+
const result = await runWpCliArgsRaw(context, args);
|
|
24
|
+
assertWpCliProcessSucceeded(context, result);
|
|
25
|
+
return {
|
|
26
|
+
stdout: result.stdout || "Command executed successfully with no output.",
|
|
27
|
+
stderr: result.stderr,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export async function runWpCliArgsRaw(context, rawArgs) {
|
|
23
31
|
const execution = await resolveWpCliExecution(context);
|
|
24
|
-
|
|
32
|
+
return spawnCommand(execution.command, [...execution.argsPrefix, ...rawArgs], {
|
|
25
33
|
cwd: execution.cwd,
|
|
26
34
|
env: execution.env,
|
|
27
35
|
});
|
|
36
|
+
}
|
|
37
|
+
export function assertWpCliProcessSucceeded(context, result) {
|
|
28
38
|
if (result.timedOut) {
|
|
29
39
|
throw new Error(`WP-CLI timed out after ${config.defaultTimeoutMs / 1000}s for site '${context.site.name}'.`);
|
|
30
40
|
}
|
|
31
41
|
if (result.exitCode !== 0) {
|
|
32
|
-
throw new Error(
|
|
33
|
-
`WP-CLI exited with code ${result.exitCode} for site '${context.site.name}'.`,
|
|
34
|
-
result.stdout,
|
|
35
|
-
result.stderr,
|
|
36
|
-
]
|
|
37
|
-
.filter(Boolean)
|
|
38
|
-
.join("\n\n"));
|
|
42
|
+
throw new Error(formatWpCliProcessError(context, result));
|
|
39
43
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
}
|
|
45
|
+
export function formatWpCliProcessError(context, result) {
|
|
46
|
+
return [
|
|
47
|
+
`WP-CLI exited with code ${result.exitCode} for site '${context.site.name}'.`,
|
|
48
|
+
result.stdout,
|
|
49
|
+
result.stderr,
|
|
50
|
+
]
|
|
51
|
+
.filter(Boolean)
|
|
52
|
+
.join("\n\n");
|
|
44
53
|
}
|
|
45
54
|
export async function resolveWpCliExecution(context) {
|
|
46
55
|
const tooling = await resolveLocalTooling();
|
package/dist/wp-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wp-cli.js","sourceRoot":"","sources":["../src/wp-cli.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAoB,EACpB,OAAe,EACf,UAGI,EAAE;IAEN,OAAO,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAoB,EACpB,OAAiB,EACjB,UAGI,EAAE;IAEN,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAE1B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAChC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACjC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,
|
|
1
|
+
{"version":3,"file":"wp-cli.js","sourceRoot":"","sources":["../src/wp-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/wp-runtime.d.ts
CHANGED
|
@@ -16,6 +16,11 @@ export interface WpRuntimeCallResultPayload {
|
|
|
16
16
|
args: unknown[];
|
|
17
17
|
resultType: string;
|
|
18
18
|
result: unknown;
|
|
19
|
+
readOnlyState?: {
|
|
20
|
+
blockedSqlVerbs: string[];
|
|
21
|
+
blockedSqlCount: number;
|
|
22
|
+
transactionStarted: boolean;
|
|
23
|
+
};
|
|
19
24
|
}
|
|
20
25
|
export declare function prepareWpPhpSource(options: {
|
|
21
26
|
siteRoot: string;
|
package/dist/wp-runtime.js
CHANGED
|
@@ -174,6 +174,12 @@ if (!defined('AUTOMATIC_UPDATER_DISABLED')) {
|
|
|
174
174
|
define('AUTOMATIC_UPDATER_DISABLED', true);
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
+
$GLOBALS['localwp_mcp_read_only_state'] = [
|
|
178
|
+
'blockedSqlVerbs' => [],
|
|
179
|
+
'blockedSqlCount' => 0,
|
|
180
|
+
'transactionStarted' => false,
|
|
181
|
+
];
|
|
182
|
+
|
|
177
183
|
if (class_exists('WP_CLI')) {
|
|
178
184
|
WP_CLI::add_hook('after_wp_load', function () {
|
|
179
185
|
if (function_exists('add_filter')) {
|
|
@@ -197,12 +203,9 @@ if (class_exists('WP_CLI')) {
|
|
|
197
203
|
$allowed_verbs = ['SELECT', 'SHOW', 'DESCRIBE', 'DESC', 'EXPLAIN', 'SET', 'START', 'ROLLBACK', 'COMMIT'];
|
|
198
204
|
|
|
199
205
|
if ($verb !== '' && !in_array($verb, $allowed_verbs, true)) {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
$verb
|
|
204
|
-
)
|
|
205
|
-
);
|
|
206
|
+
$GLOBALS['localwp_mcp_read_only_state']['blockedSqlVerbs'][] = $verb;
|
|
207
|
+
$GLOBALS['localwp_mcp_read_only_state']['blockedSqlCount']++;
|
|
208
|
+
return 'SELECT 0 AS localwp_mcp_blocked_write';
|
|
206
209
|
}
|
|
207
210
|
|
|
208
211
|
return $query;
|
|
@@ -212,11 +215,16 @@ if (class_exists('WP_CLI')) {
|
|
|
212
215
|
global $wpdb;
|
|
213
216
|
|
|
214
217
|
if (isset($wpdb) && $wpdb instanceof wpdb) {
|
|
215
|
-
$wpdb->query('SET SESSION TRANSACTION READ ONLY')
|
|
216
|
-
|
|
218
|
+
if (false !== $wpdb->query('SET SESSION TRANSACTION READ ONLY')) {
|
|
219
|
+
if (false !== $wpdb->query('START TRANSACTION READ ONLY')) {
|
|
220
|
+
$GLOBALS['localwp_mcp_read_only_state']['transactionStarted'] = true;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
217
223
|
|
|
218
224
|
register_shutdown_function(function () use ($wpdb) {
|
|
219
|
-
$
|
|
225
|
+
if (!empty($GLOBALS['localwp_mcp_read_only_state']['transactionStarted'])) {
|
|
226
|
+
@$wpdb->query('ROLLBACK');
|
|
227
|
+
}
|
|
220
228
|
});
|
|
221
229
|
}
|
|
222
230
|
});
|
|
@@ -333,6 +341,11 @@ try {
|
|
|
333
341
|
'args' => localwp_mcp_normalize_value($args),
|
|
334
342
|
'resultType' => get_debug_type($result),
|
|
335
343
|
'result' => localwp_mcp_normalize_value($result),
|
|
344
|
+
'readOnlyState' => [
|
|
345
|
+
'blockedSqlVerbs' => array_values(array_unique($GLOBALS['localwp_mcp_read_only_state']['blockedSqlVerbs'] ?? [])),
|
|
346
|
+
'blockedSqlCount' => (int) ($GLOBALS['localwp_mcp_read_only_state']['blockedSqlCount'] ?? 0),
|
|
347
|
+
'transactionStarted' => !empty($GLOBALS['localwp_mcp_read_only_state']['transactionStarted']),
|
|
348
|
+
],
|
|
336
349
|
];
|
|
337
350
|
|
|
338
351
|
echo "\\nLOCALWP_MCP_JSON_START\\n";
|
package/dist/wp-runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wp-runtime.js","sourceRoot":"","sources":["../src/wp-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"wp-runtime.js","sourceRoot":"","sources":["../src/wp-runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "localwp-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "A LocalWP-aware MCP server for WordPress developers with simple safe and full-access profiles, logs, doctor diagnostics, SQL access, backups, restore flows, MCP resources/prompts, and site-aware WP-CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@10.32.1",
|