localwp-mcp 0.1.4 → 0.1.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/README.md +96 -72
- package/dist/backup-management.d.ts +186 -0
- package/dist/backup-management.js +265 -0
- package/dist/backup-management.js.map +1 -0
- package/dist/backup.d.ts +116 -0
- package/dist/backup.js +232 -11
- package/dist/backup.js.map +1 -1
- package/dist/logs.d.ts +2 -1
- package/dist/logs.js +14 -1
- package/dist/logs.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.js +5 -2
- package/dist/server.js.map +1 -1
- package/dist/tool-schemas.d.ts +1 -5
- package/dist/tool-schemas.js +2 -2
- package/dist/tool-schemas.js.map +1 -1
- package/dist/tools/cleanup-backups.d.ts +2 -0
- package/dist/tools/cleanup-backups.js +55 -0
- package/dist/tools/cleanup-backups.js.map +1 -0
- package/dist/tools/delete-backup.d.ts +2 -0
- package/dist/tools/delete-backup.js +38 -0
- package/dist/tools/delete-backup.js.map +1 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-backups.d.ts +2 -0
- package/dist/tools/list-backups.js +29 -0
- package/dist/tools/list-backups.js.map +1 -0
- package/dist/tools/preview-restore-backup.d.ts +2 -0
- package/dist/tools/preview-restore-backup.js +52 -0
- package/dist/tools/preview-restore-backup.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +21 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
package/dist/logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAClC,MAAM,gBAAgB,GACpB,yDAAyD,CAAC;AAU5D,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAwB,EACxB,UAGI,EAAE;IAEN,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
package/dist/server.js
CHANGED
|
@@ -2,12 +2,15 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
2
2
|
import { registerPrompts } from "./prompts.js";
|
|
3
3
|
import { registerResources } from "./resources.js";
|
|
4
4
|
import { registerTools } from "./tools/index.js";
|
|
5
|
+
import { resolvePackageVersion } from "./version.js";
|
|
5
6
|
const SERVER_NAME = "localwp-mcp";
|
|
6
|
-
|
|
7
|
+
export function resolveServerVersion() {
|
|
8
|
+
return resolvePackageVersion();
|
|
9
|
+
}
|
|
7
10
|
export function createServer() {
|
|
8
11
|
const server = new McpServer({
|
|
9
12
|
name: SERVER_NAME,
|
|
10
|
-
version:
|
|
13
|
+
version: resolveServerVersion(),
|
|
11
14
|
}, {
|
|
12
15
|
capabilities: {
|
|
13
16
|
prompts: {},
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,MAAM,UAAU,oBAAoB;IAClC,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,oBAAoB,EAAE;KAChC,EACD;QACE,YAAY,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/tool-schemas.d.ts
CHANGED
|
@@ -3,11 +3,7 @@ export declare const siteSelectorSchema: {
|
|
|
3
3
|
siteId: z.ZodOptional<z.ZodString>;
|
|
4
4
|
siteName: z.ZodOptional<z.ZodString>;
|
|
5
5
|
};
|
|
6
|
-
export declare const logScopeSchema: z.ZodOptional<z.
|
|
7
|
-
site: "site";
|
|
8
|
-
global: "global";
|
|
9
|
-
all: "all";
|
|
10
|
-
}>>;
|
|
6
|
+
export declare const logScopeSchema: z.ZodOptional<z.ZodString>;
|
|
11
7
|
export declare const backupScopeSchema: z.ZodOptional<z.ZodEnum<{
|
|
12
8
|
database: "database";
|
|
13
9
|
full: "full";
|
package/dist/tool-schemas.js
CHANGED
|
@@ -10,9 +10,9 @@ export const siteSelectorSchema = {
|
|
|
10
10
|
.describe("Optional Local site name, for example 'example-site'."),
|
|
11
11
|
};
|
|
12
12
|
export const logScopeSchema = z
|
|
13
|
-
.
|
|
13
|
+
.string()
|
|
14
14
|
.optional()
|
|
15
|
-
.describe("Which logs to read:
|
|
15
|
+
.describe("Which logs to read: 'site', 'global', or 'all'. Friendly aliases like 'both' and 'combined' are also accepted.");
|
|
16
16
|
export const backupScopeSchema = z
|
|
17
17
|
.enum(["database", "full"])
|
|
18
18
|
.optional()
|
package/dist/tool-schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-schemas.js","sourceRoot":"","sources":["../src/tool-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;CACrE,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,
|
|
1
|
+
{"version":3,"file":"tool-schemas.js","sourceRoot":"","sources":["../src/tool-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;CACrE,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CACP,gHAAgH,CACjH,CAAC;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;KAC1B,QAAQ,EAAE;KACV,QAAQ,CACP,6GAA6G,CAC9G,CAAC;AAEJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACP,qHAAqH,CACtH,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { cleanupManagedBackups, } from "../backup-management.js";
|
|
3
|
+
import { config } from "../config.js";
|
|
4
|
+
import { buildSiteContext } from "../local-sites.js";
|
|
5
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
6
|
+
import { siteSelectorSchema } from "../tool-schemas.js";
|
|
7
|
+
export function registerCleanupBackupsTool(server) {
|
|
8
|
+
server.registerTool("cleanup_backups", {
|
|
9
|
+
description: "Deletes managed backup artifacts for the selected LocalWP site based on age and/or retention. Requires the 'full-access' profile.",
|
|
10
|
+
inputSchema: {
|
|
11
|
+
...siteSelectorSchema,
|
|
12
|
+
rootPath: z
|
|
13
|
+
.string()
|
|
14
|
+
.optional()
|
|
15
|
+
.describe("Optional custom backup root directory to clean. If omitted, the site's managed localwp-mcp backup root is used."),
|
|
16
|
+
categories: z
|
|
17
|
+
.array(z.string())
|
|
18
|
+
.optional()
|
|
19
|
+
.describe("Optional backup categories to target. Canonical values include full_backup, database_backup, pre_restore_backup, pre_import_backup, database_export, and sql_file. Friendly aliases like full, database, pre_restore, pre_import, managed_export, standalone_sql, and export are also accepted."),
|
|
20
|
+
olderThanDays: z
|
|
21
|
+
.number()
|
|
22
|
+
.nonnegative()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("Delete only artifacts older than this many days. Use 0 to target everything older than now."),
|
|
25
|
+
keepLatest: z
|
|
26
|
+
.number()
|
|
27
|
+
.int()
|
|
28
|
+
.nonnegative()
|
|
29
|
+
.optional()
|
|
30
|
+
.describe("Keep this many newest matching artifacts and clean up older ones beyond that retention count."),
|
|
31
|
+
dryRun: z
|
|
32
|
+
.boolean()
|
|
33
|
+
.optional()
|
|
34
|
+
.describe("When true, only report which artifacts would be deleted without deleting them."),
|
|
35
|
+
},
|
|
36
|
+
}, async ({ siteId, siteName, rootPath, categories, olderThanDays, keepLatest, dryRun, }) => {
|
|
37
|
+
try {
|
|
38
|
+
if (config.profile !== "full-access") {
|
|
39
|
+
throw new Error("cleanup_backups requires LOCALWP_MCP_PROFILE=full-access.");
|
|
40
|
+
}
|
|
41
|
+
const context = await buildSiteContext({ siteId, siteName });
|
|
42
|
+
return createJsonToolResult(await cleanupManagedBackups(context, {
|
|
43
|
+
rootPath,
|
|
44
|
+
categories,
|
|
45
|
+
olderThanDays,
|
|
46
|
+
keepLatest,
|
|
47
|
+
dryRun,
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
return createErrorToolResult(error);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=cleanup-backups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup-backups.js","sourceRoot":"","sources":["../../src/tools/cleanup-backups.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,mIAAmI;QACrI,WAAW,EAAE;YACX,GAAG,kBAAkB;YACrB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,iHAAiH,CAClH;YACH,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,iSAAiS,CAClS;YACH,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,QAAQ,CACP,6FAA6F,CAC9F;YACH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;YACH,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,gFAAgF,CACjF;SACJ;KACF,EACD,KAAK,EAAE,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,aAAa,EACb,UAAU,EACV,MAAM,GACP,EAAE,EAAE;QACH,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,oBAAoB,CACzB,MAAM,qBAAqB,CAAC,OAAO,EAAE;gBACnC,QAAQ;gBACR,UAAU;gBACV,aAAa;gBACb,UAAU;gBACV,MAAM;aACP,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { deleteManagedBackup } from "../backup-management.js";
|
|
3
|
+
import { config } from "../config.js";
|
|
4
|
+
import { buildSiteContext } from "../local-sites.js";
|
|
5
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
6
|
+
import { siteSelectorSchema } from "../tool-schemas.js";
|
|
7
|
+
export function registerDeleteBackupTool(server) {
|
|
8
|
+
server.registerTool("delete_backup", {
|
|
9
|
+
description: "Deletes one managed backup artifact for the selected LocalWP site. Requires the 'full-access' profile.",
|
|
10
|
+
inputSchema: {
|
|
11
|
+
...siteSelectorSchema,
|
|
12
|
+
backupPath: z
|
|
13
|
+
.string()
|
|
14
|
+
.min(1)
|
|
15
|
+
.describe("Relative backup path from list_backups, for example 'woo-full-20260401-162738-restore-test' or 'pre-import/woo-before-import-20260401-120000.sql'."),
|
|
16
|
+
rootPath: z
|
|
17
|
+
.string()
|
|
18
|
+
.optional()
|
|
19
|
+
.describe("Optional custom backup root directory if the artifact lives outside the default managed backup root."),
|
|
20
|
+
missingOk: z
|
|
21
|
+
.boolean()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe("When true, return success even if the requested artifact is already gone."),
|
|
24
|
+
},
|
|
25
|
+
}, async ({ siteId, siteName, backupPath, rootPath, missingOk }) => {
|
|
26
|
+
try {
|
|
27
|
+
if (config.profile !== "full-access") {
|
|
28
|
+
throw new Error("delete_backup requires LOCALWP_MCP_PROFILE=full-access.");
|
|
29
|
+
}
|
|
30
|
+
const context = await buildSiteContext({ siteId, siteName });
|
|
31
|
+
return createJsonToolResult(await deleteManagedBackup(context, { backupPath, rootPath, missingOk }));
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
return createErrorToolResult(error);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=delete-backup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-backup.js","sourceRoot":"","sources":["../../src/tools/delete-backup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,wGAAwG;QAC1G,WAAW,EAAE;YACX,GAAG,kBAAkB;YACrB,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,oJAAoJ,CACrJ;YACH,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sGAAsG,CACvG;YACH,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,2EAA2E,CAC5E;SACJ;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QAC9D,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,oBAAoB,CACzB,MAAM,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CACxE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { registerBackupSiteTool } from "./backup-site.js";
|
|
2
|
+
import { registerCleanupBackupsTool } from "./cleanup-backups.js";
|
|
2
3
|
import { registerDbExportTool } from "./db-export.js";
|
|
3
4
|
import { registerDbImportTool } from "./db-import.js";
|
|
5
|
+
import { registerDeleteBackupTool } from "./delete-backup.js";
|
|
4
6
|
import { registerDeleteSiteFileTool } from "./delete-site-file.js";
|
|
5
7
|
import { registerExecuteWpCliTool } from "./execute-wp-cli.js";
|
|
8
|
+
import { registerListBackupsTool } from "./list-backups.js";
|
|
6
9
|
import { registerListSiteFilesTool } from "./list-site-files.js";
|
|
7
10
|
import { registerLocalDoctorTool } from "./local-doctor.js";
|
|
8
11
|
import { registerLocalEnvironmentCheckTool } from "./local-environment-check.js";
|
|
@@ -12,6 +15,7 @@ import { registerLocalSiteInfoTool } from "./local-site-info.js";
|
|
|
12
15
|
import { registerMysqlExecuteTool } from "./mysql-execute.js";
|
|
13
16
|
import { registerMysqlQueryTool } from "./mysql-query.js";
|
|
14
17
|
import { registerMysqlSchemaTool } from "./mysql-schema.js";
|
|
18
|
+
import { registerPreviewRestoreBackupTool } from "./preview-restore-backup.js";
|
|
15
19
|
import { registerReadSiteFileTool } from "./read-site-file.js";
|
|
16
20
|
import { registerRestartLocalSiteTool } from "./restart-local-site.js";
|
|
17
21
|
import { registerRestoreBackupTool } from "./restore-backup.js";
|
|
@@ -34,8 +38,12 @@ export function registerTools(server) {
|
|
|
34
38
|
registerWriteSiteFileTool(server);
|
|
35
39
|
registerDeleteSiteFileTool(server);
|
|
36
40
|
registerBackupSiteTool(server);
|
|
41
|
+
registerListBackupsTool(server);
|
|
42
|
+
registerDeleteBackupTool(server);
|
|
43
|
+
registerCleanupBackupsTool(server);
|
|
37
44
|
registerDbExportTool(server);
|
|
38
45
|
registerDbImportTool(server);
|
|
46
|
+
registerPreviewRestoreBackupTool(server);
|
|
39
47
|
registerRestoreBackupTool(server);
|
|
40
48
|
registerMysqlQueryTool(server);
|
|
41
49
|
registerMysqlExecuteTool(server);
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC1C,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAC1C,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { listManagedBackups } from "../backup-management.js";
|
|
3
|
+
import { buildSiteContext } from "../local-sites.js";
|
|
4
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
5
|
+
import { siteSelectorSchema } from "../tool-schemas.js";
|
|
6
|
+
export function registerListBackupsTool(server) {
|
|
7
|
+
server.registerTool("list_backups", {
|
|
8
|
+
description: "Lists backup directories and SQL export artifacts managed for the selected LocalWP site.",
|
|
9
|
+
inputSchema: {
|
|
10
|
+
...siteSelectorSchema,
|
|
11
|
+
rootPath: z
|
|
12
|
+
.string()
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("Optional custom backup root directory to inspect. If omitted, the site's managed localwp-mcp backup root is used."),
|
|
15
|
+
},
|
|
16
|
+
annotations: {
|
|
17
|
+
readOnlyHint: true,
|
|
18
|
+
},
|
|
19
|
+
}, async ({ siteId, siteName, rootPath }) => {
|
|
20
|
+
try {
|
|
21
|
+
const context = await buildSiteContext({ siteId, siteName });
|
|
22
|
+
return createJsonToolResult(await listManagedBackups(context, { rootPath }));
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
return createErrorToolResult(error);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=list-backups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-backups.js","sourceRoot":"","sources":["../../src/tools/list-backups.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EACT,0FAA0F;QAC5F,WAAW,EAAE;YACX,GAAG,kBAAkB;YACrB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,mHAAmH,CACpH;SACJ;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;SACnB;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,oBAAoB,CACzB,MAAM,kBAAkB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAChD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { previewRestoreSiteBackup } from "../backup.js";
|
|
3
|
+
import { config } from "../config.js";
|
|
4
|
+
import { buildSiteContext, summarizeSite } from "../local-sites.js";
|
|
5
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
6
|
+
import { siteSelectorSchema } from "../tool-schemas.js";
|
|
7
|
+
export function registerPreviewRestoreBackupTool(server) {
|
|
8
|
+
server.registerTool("preview_restore_backup", {
|
|
9
|
+
description: "Previews how restore_backup would behave for a .sql file or backup directory without mutating the selected LocalWP site.",
|
|
10
|
+
inputSchema: {
|
|
11
|
+
...siteSelectorSchema,
|
|
12
|
+
sourcePath: z
|
|
13
|
+
.string()
|
|
14
|
+
.min(1)
|
|
15
|
+
.describe("Path to a .sql file or a backup_site directory containing manifest.json."),
|
|
16
|
+
restoreFiles: z
|
|
17
|
+
.boolean()
|
|
18
|
+
.optional()
|
|
19
|
+
.describe("When true or omitted, preview restoring app/conf/logs if the backup directory contains them."),
|
|
20
|
+
replaceDirectories: z
|
|
21
|
+
.boolean()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe("When true or omitted, preview full directory replacement before copying backup files."),
|
|
24
|
+
backupBeforeRestore: z
|
|
25
|
+
.boolean()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("When true or omitted, preview creating a pre-restore backup automatically first."),
|
|
28
|
+
},
|
|
29
|
+
annotations: {
|
|
30
|
+
readOnlyHint: true,
|
|
31
|
+
},
|
|
32
|
+
}, async ({ siteId, siteName, sourcePath, restoreFiles, replaceDirectories, backupBeforeRestore, }) => {
|
|
33
|
+
try {
|
|
34
|
+
const context = await buildSiteContext({ siteId, siteName });
|
|
35
|
+
const result = await previewRestoreSiteBackup(context, sourcePath, {
|
|
36
|
+
restoreFiles,
|
|
37
|
+
replaceDirectories,
|
|
38
|
+
backupBeforeRestore,
|
|
39
|
+
});
|
|
40
|
+
return createJsonToolResult({
|
|
41
|
+
site: summarizeSite(context.site),
|
|
42
|
+
selectionMethod: context.selectionMethod,
|
|
43
|
+
accessProfile: config.profile,
|
|
44
|
+
...result,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return createErrorToolResult(error);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=preview-restore-backup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-restore-backup.js","sourceRoot":"","sources":["../../src/tools/preview-restore-backup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,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;AAExD,MAAM,UAAU,gCAAgC,CAAC,MAAiB;IAChE,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,0HAA0H;QAC5H,WAAW,EAAE;YACX,GAAG,kBAAkB;YACrB,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,0EAA0E,CAC3E;YACH,YAAY,EAAE,CAAC;iBACZ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,8FAA8F,CAC/F;YACH,kBAAkB,EAAE,CAAC;iBAClB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,uFAAuF,CACxF;YACH,mBAAmB,EAAE,CAAC;iBACnB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,kFAAkF,CACnF;SACJ;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;SACnB;KACF,EACD,KAAK,EAAE,EACL,MAAM,EACN,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,GACpB,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE;gBACjE,YAAY;gBACZ,kBAAkB;gBAClB,mBAAmB;aACpB,CAAC,CAAC;YAEH,OAAO,oBAAoB,CAAC;gBAC1B,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;gBACjC,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,aAAa,EAAE,MAAM,CAAC,OAAO;gBAC7B,GAAG,MAAM;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type AccessProfile = "safe" | "full-access";
|
|
2
2
|
export type LogScope = "site" | "global" | "all";
|
|
3
3
|
export type BackupScope = "database" | "full";
|
|
4
|
+
export type BackupArtifactCategory = "full_backup" | "database_backup" | "pre_restore_backup" | "database_export" | "pre_import_backup" | "sql_file";
|
|
4
5
|
export type LocalSiteStatus = "running" | "halted" | "unknown" | string;
|
|
5
6
|
export interface LocalSiteServices {
|
|
6
7
|
nginx?: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function resolvePackageVersion(): string;
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
export function resolvePackageVersion() {
|
|
5
|
+
if (process.env.npm_package_version) {
|
|
6
|
+
return process.env.npm_package_version;
|
|
7
|
+
}
|
|
8
|
+
const currentFilePath = fileURLToPath(import.meta.url);
|
|
9
|
+
const packageJsonPath = path.resolve(path.dirname(currentFilePath), "..", "package.json");
|
|
10
|
+
try {
|
|
11
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf8"));
|
|
12
|
+
if (typeof packageJson.version === "string" && packageJson.version.trim()) {
|
|
13
|
+
return packageJson.version;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Fall through to the hard-coded safety net below.
|
|
18
|
+
}
|
|
19
|
+
return "0.1.0";
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACzC,CAAC;IAED,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAClC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAC7B,IAAI,EACJ,cAAc,CACf,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CACb,CAAC;QAE3B,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1E,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "localwp-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
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",
|