localwp-mcp 0.1.2 → 0.1.4
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/LICENSE +15 -15
- package/README.md +254 -221
- package/dist/config.d.ts +1 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/local-graphql.d.ts +8 -0
- package/dist/local-graphql.js +78 -0
- package/dist/local-graphql.js.map +1 -0
- package/dist/local-sites.js +17 -11
- package/dist/local-sites.js.map +1 -1
- package/dist/platform-paths.d.ts +1 -0
- package/dist/platform-paths.js +8 -0
- package/dist/platform-paths.js.map +1 -1
- package/dist/site-files.d.ts +196 -0
- package/dist/site-files.js +417 -0
- package/dist/site-files.js.map +1 -0
- package/dist/site-lifecycle.d.ts +33 -0
- package/dist/site-lifecycle.js +66 -0
- package/dist/site-lifecycle.js.map +1 -0
- package/dist/tool-schemas.d.ts +1 -0
- package/dist/tool-schemas.js +4 -0
- package/dist/tool-schemas.js.map +1 -1
- package/dist/tools/delete-site-file.d.ts +2 -0
- package/dist/tools/delete-site-file.js +29 -0
- package/dist/tools/delete-site-file.js.map +1 -0
- package/dist/tools/index.js +16 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-site-files.d.ts +2 -0
- package/dist/tools/list-site-files.js +46 -0
- package/dist/tools/list-site-files.js.map +1 -0
- package/dist/tools/read-site-file.d.ts +2 -0
- package/dist/tools/read-site-file.js +30 -0
- package/dist/tools/read-site-file.js.map +1 -0
- package/dist/tools/restart-local-site.d.ts +2 -0
- package/dist/tools/restart-local-site.js +19 -0
- package/dist/tools/restart-local-site.js.map +1 -0
- package/dist/tools/search-site-files.d.ts +2 -0
- package/dist/tools/search-site-files.js +57 -0
- package/dist/tools/search-site-files.js.map +1 -0
- package/dist/tools/start-local-site.d.ts +2 -0
- package/dist/tools/start-local-site.js +19 -0
- package/dist/tools/start-local-site.js.map +1 -0
- package/dist/tools/stop-local-site.d.ts +2 -0
- package/dist/tools/stop-local-site.js +19 -0
- package/dist/tools/stop-local-site.js.map +1 -0
- package/dist/tools/write-site-file.d.ts +2 -0
- package/dist/tools/write-site-file.js +30 -0
- package/dist/tools/write-site-file.js.map +1 -0
- package/dist/types.d.ts +11 -0
- package/dist/wp-cli.js +20 -0
- package/dist/wp-cli.js.map +1 -1
- package/package.json +61 -61
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
3
|
+
import { listSiteFiles } from "../site-files.js";
|
|
4
|
+
import { siteRelativePathSchema, siteSelectorSchema } from "../tool-schemas.js";
|
|
5
|
+
export function registerListSiteFilesTool(server) {
|
|
6
|
+
server.registerTool("list_site_files", {
|
|
7
|
+
description: "Lists files and directories inside the selected LocalWP site. Paths are scoped to that site's root directory.",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
...siteSelectorSchema,
|
|
10
|
+
directoryPath: siteRelativePathSchema
|
|
11
|
+
.optional()
|
|
12
|
+
.describe("Optional directory path relative to the selected site's root. Defaults to the site root."),
|
|
13
|
+
recursive: z
|
|
14
|
+
.boolean()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("When true, walk child directories recursively."),
|
|
17
|
+
maxDepth: z
|
|
18
|
+
.number()
|
|
19
|
+
.int()
|
|
20
|
+
.nonnegative()
|
|
21
|
+
.optional()
|
|
22
|
+
.describe("Maximum recursion depth when recursive=true."),
|
|
23
|
+
maxEntries: z
|
|
24
|
+
.number()
|
|
25
|
+
.int()
|
|
26
|
+
.positive()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Maximum number of entries to return."),
|
|
29
|
+
includeHidden: z
|
|
30
|
+
.boolean()
|
|
31
|
+
.optional()
|
|
32
|
+
.describe("When true, include dotfiles and hidden directories."),
|
|
33
|
+
},
|
|
34
|
+
annotations: {
|
|
35
|
+
readOnlyHint: true,
|
|
36
|
+
},
|
|
37
|
+
}, async ({ siteId, siteName, directoryPath, recursive, maxDepth, maxEntries, includeHidden, }) => {
|
|
38
|
+
try {
|
|
39
|
+
return createJsonToolResult(await listSiteFiles({ siteId, siteName }, { directoryPath, recursive, maxDepth, maxEntries, includeHidden }));
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
return createErrorToolResult(error);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=list-site-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-site-files.js","sourceRoot":"","sources":["../../src/tools/list-site-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,+GAA+G;QACjH,WAAW,EAAE;YACX,GAAG,kBAAkB;YACrB,aAAa,EAAE,sBAAsB;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CACP,0FAA0F,CAC3F;YACH,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,sCAAsC,CAAC;YACnD,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qDAAqD,CAAC;SACnE;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;SACnB;KACF,EACD,KAAK,EAAE,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,SAAS,EACT,QAAQ,EACR,UAAU,EACV,aAAa,GACd,EAAE,EAAE;QACH,IAAI,CAAC;YACH,OAAO,oBAAoB,CACzB,MAAM,aAAa,CACjB,EAAE,MAAM,EAAE,QAAQ,EAAE,EACpB,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,CAClE,CACF,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,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
3
|
+
import { readSiteFile } from "../site-files.js";
|
|
4
|
+
import { siteRelativePathSchema, siteSelectorSchema } from "../tool-schemas.js";
|
|
5
|
+
export function registerReadSiteFileTool(server) {
|
|
6
|
+
server.registerTool("read_site_file", {
|
|
7
|
+
description: "Reads a text file inside the selected LocalWP site. The path must stay inside that site's root directory.",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
...siteSelectorSchema,
|
|
10
|
+
filePath: siteRelativePathSchema.describe("File path relative to the selected site's root directory."),
|
|
11
|
+
maxBytes: z
|
|
12
|
+
.number()
|
|
13
|
+
.int()
|
|
14
|
+
.positive()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Maximum number of bytes to return from the file."),
|
|
17
|
+
},
|
|
18
|
+
annotations: {
|
|
19
|
+
readOnlyHint: true,
|
|
20
|
+
},
|
|
21
|
+
}, async ({ siteId, siteName, filePath, maxBytes }) => {
|
|
22
|
+
try {
|
|
23
|
+
return createJsonToolResult(await readSiteFile({ siteId, siteName }, { filePath, maxBytes }));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return createErrorToolResult(error);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=read-site-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-site-file.js","sourceRoot":"","sources":["../../src/tools/read-site-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,2GAA2G;QAC7G,WAAW,EAAE;YACX,GAAG,kBAAkB;YACrB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CACvC,2DAA2D,CAC5D;YACD,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,kDAAkD,CAAC;SAChE;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;SACnB;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,OAAO,oBAAoB,CACzB,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CACjE,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,19 @@
|
|
|
1
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
2
|
+
import { runSiteLifecycleAction } from "../site-lifecycle.js";
|
|
3
|
+
import { siteSelectorSchema } from "../tool-schemas.js";
|
|
4
|
+
export function registerRestartLocalSiteTool(server) {
|
|
5
|
+
server.registerTool("restart_local_site", {
|
|
6
|
+
description: "Restarts the selected LocalWP site. If the site is halted, this starts it.",
|
|
7
|
+
inputSchema: {
|
|
8
|
+
...siteSelectorSchema,
|
|
9
|
+
},
|
|
10
|
+
}, async ({ siteId, siteName }) => {
|
|
11
|
+
try {
|
|
12
|
+
return createJsonToolResult(await runSiteLifecycleAction("restart", { siteId, siteName }));
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
return createErrorToolResult(error);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=restart-local-site.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart-local-site.js","sourceRoot":"","sources":["../../src/tools/restart-local-site.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EACT,4EAA4E;QAC9E,WAAW,EAAE;YACX,GAAG,kBAAkB;SACtB;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,OAAO,oBAAoB,CACzB,MAAM,sBAAsB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAC9D,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,57 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
3
|
+
import { searchSiteFiles } from "../site-files.js";
|
|
4
|
+
import { siteRelativePathSchema, siteSelectorSchema } from "../tool-schemas.js";
|
|
5
|
+
export function registerSearchSiteFilesTool(server) {
|
|
6
|
+
server.registerTool("search_site_files", {
|
|
7
|
+
description: "Searches text files inside the selected LocalWP site for a literal string match.",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
...siteSelectorSchema,
|
|
10
|
+
query: z
|
|
11
|
+
.string()
|
|
12
|
+
.min(1)
|
|
13
|
+
.describe("Literal text to search for inside site files."),
|
|
14
|
+
directoryPath: siteRelativePathSchema
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Optional directory path relative to the selected site's root. Defaults to the site root."),
|
|
17
|
+
caseSensitive: z
|
|
18
|
+
.boolean()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("When true, search with exact case."),
|
|
21
|
+
includeHidden: z
|
|
22
|
+
.boolean()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("When true, include dotfiles and hidden directories."),
|
|
25
|
+
maxDepth: z
|
|
26
|
+
.number()
|
|
27
|
+
.int()
|
|
28
|
+
.nonnegative()
|
|
29
|
+
.optional()
|
|
30
|
+
.describe("Maximum directory depth to search."),
|
|
31
|
+
maxMatches: z
|
|
32
|
+
.number()
|
|
33
|
+
.int()
|
|
34
|
+
.positive()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe("Maximum number of matches to return."),
|
|
37
|
+
},
|
|
38
|
+
annotations: {
|
|
39
|
+
readOnlyHint: true,
|
|
40
|
+
},
|
|
41
|
+
}, async ({ siteId, siteName, query, directoryPath, caseSensitive, includeHidden, maxDepth, maxMatches, }) => {
|
|
42
|
+
try {
|
|
43
|
+
return createJsonToolResult(await searchSiteFiles({ siteId, siteName }, {
|
|
44
|
+
query,
|
|
45
|
+
directoryPath,
|
|
46
|
+
caseSensitive,
|
|
47
|
+
includeHidden,
|
|
48
|
+
maxDepth,
|
|
49
|
+
maxMatches,
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
return createErrorToolResult(error);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=search-site-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-site-files.js","sourceRoot":"","sources":["../../src/tools/search-site-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IAC3D,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,kFAAkF;QACpF,WAAW,EAAE;YACX,GAAG,kBAAkB;YACrB,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,aAAa,EAAE,sBAAsB;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CACP,0FAA0F,CAC3F;YACH,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oCAAoC,CAAC;YACjD,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qDAAqD,CAAC;YAClE,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,QAAQ,CAAC,oCAAoC,CAAC;YACjD,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,sCAAsC,CAAC;SACpD;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;SACnB;KACF,EACD,KAAK,EAAE,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,GACX,EAAE,EAAE;QACH,IAAI,CAAC;YACH,OAAO,oBAAoB,CACzB,MAAM,eAAe,CACnB,EAAE,MAAM,EAAE,QAAQ,EAAE,EACpB;gBACE,KAAK;gBACL,aAAa;gBACb,aAAa;gBACb,aAAa;gBACb,QAAQ;gBACR,UAAU;aACX,CACF,CACF,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,19 @@
|
|
|
1
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
2
|
+
import { runSiteLifecycleAction } from "../site-lifecycle.js";
|
|
3
|
+
import { siteSelectorSchema } from "../tool-schemas.js";
|
|
4
|
+
export function registerStartLocalSiteTool(server) {
|
|
5
|
+
server.registerTool("start_local_site", {
|
|
6
|
+
description: "Starts the selected LocalWP site and all of its services.",
|
|
7
|
+
inputSchema: {
|
|
8
|
+
...siteSelectorSchema,
|
|
9
|
+
},
|
|
10
|
+
}, async ({ siteId, siteName }) => {
|
|
11
|
+
try {
|
|
12
|
+
return createJsonToolResult(await runSiteLifecycleAction("start", { siteId, siteName }));
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
return createErrorToolResult(error);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=start-local-site.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-local-site.js","sourceRoot":"","sources":["../../src/tools/start-local-site.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,2DAA2D;QAC7D,WAAW,EAAE;YACX,GAAG,kBAAkB;SACtB;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,OAAO,oBAAoB,CACzB,MAAM,sBAAsB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAC5D,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,19 @@
|
|
|
1
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
2
|
+
import { runSiteLifecycleAction } from "../site-lifecycle.js";
|
|
3
|
+
import { siteSelectorSchema } from "../tool-schemas.js";
|
|
4
|
+
export function registerStopLocalSiteTool(server) {
|
|
5
|
+
server.registerTool("stop_local_site", {
|
|
6
|
+
description: "Stops the selected LocalWP site and all of its services.",
|
|
7
|
+
inputSchema: {
|
|
8
|
+
...siteSelectorSchema,
|
|
9
|
+
},
|
|
10
|
+
}, async ({ siteId, siteName }) => {
|
|
11
|
+
try {
|
|
12
|
+
return createJsonToolResult(await runSiteLifecycleAction("stop", { siteId, siteName }));
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
return createErrorToolResult(error);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=stop-local-site.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-local-site.js","sourceRoot":"","sources":["../../src/tools/stop-local-site.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,0DAA0D;QAC5D,WAAW,EAAE;YACX,GAAG,kBAAkB;SACtB;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,OAAO,oBAAoB,CACzB,MAAM,sBAAsB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAC3D,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,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { createErrorToolResult, createJsonToolResult } from "../results.js";
|
|
3
|
+
import { writeSiteFile } from "../site-files.js";
|
|
4
|
+
import { siteRelativePathSchema, siteSelectorSchema } from "../tool-schemas.js";
|
|
5
|
+
export function registerWriteSiteFileTool(server) {
|
|
6
|
+
server.registerTool("write_site_file", {
|
|
7
|
+
description: "Writes a text file inside the selected LocalWP site. Requires the 'full-access' profile.",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
...siteSelectorSchema,
|
|
10
|
+
filePath: siteRelativePathSchema.describe("File path relative to the selected site's root directory."),
|
|
11
|
+
content: z.string().describe("Text content to write to the file."),
|
|
12
|
+
createDirectories: z
|
|
13
|
+
.boolean()
|
|
14
|
+
.optional()
|
|
15
|
+
.describe("When true or omitted, create parent directories automatically."),
|
|
16
|
+
overwrite: z
|
|
17
|
+
.boolean()
|
|
18
|
+
.optional()
|
|
19
|
+
.describe("When true or omitted, replace an existing file at the same path."),
|
|
20
|
+
},
|
|
21
|
+
}, async ({ siteId, siteName, filePath, content, createDirectories, overwrite, }) => {
|
|
22
|
+
try {
|
|
23
|
+
return createJsonToolResult(await writeSiteFile({ siteId, siteName }, { filePath, content, createDirectories, overwrite }));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return createErrorToolResult(error);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=write-site-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-site-file.js","sourceRoot":"","sources":["../../src/tools/write-site-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,0FAA0F;QAC5F,WAAW,EAAE;YACX,GAAG,kBAAkB;YACrB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CACvC,2DAA2D,CAC5D;YACD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAClE,iBAAiB,EAAE,CAAC;iBACjB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,gEAAgE,CACjE;YACH,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,kEAAkE,CACnE;SACJ;KACF,EACD,KAAK,EAAE,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,SAAS,GACV,EAAE,EAAE;QACH,IAAI,CAAC;YACH,OAAO,oBAAoB,CACzB,MAAM,aAAa,CACjB,EAAE,MAAM,EAAE,QAAQ,EAAE,EACpB,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CACpD,CACF,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/types.d.ts
CHANGED
|
@@ -74,6 +74,17 @@ export interface SpawnResult {
|
|
|
74
74
|
exitCode: number;
|
|
75
75
|
timedOut: boolean;
|
|
76
76
|
}
|
|
77
|
+
export interface LocalGraphqlConnectionInfo {
|
|
78
|
+
port: number;
|
|
79
|
+
authToken: string;
|
|
80
|
+
url: string;
|
|
81
|
+
subscriptionUrl?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface LocalSiteLifecycleMutationResult {
|
|
84
|
+
id: string;
|
|
85
|
+
name: string;
|
|
86
|
+
status: LocalSiteStatus;
|
|
87
|
+
}
|
|
77
88
|
export interface MysqlQueryResult {
|
|
78
89
|
columns: string[];
|
|
79
90
|
rows: Record<string, unknown>[];
|
package/dist/wp-cli.js
CHANGED
|
@@ -43,11 +43,25 @@ export async function runWpCliArgs(context, rawArgs, options = {}) {
|
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
function buildWpCliEnv(context, tooling) {
|
|
46
|
+
const phpRuntimeDir = context.php.platformDirName
|
|
47
|
+
? path.join(context.php.packageDir, "bin", context.php.platformDirName)
|
|
48
|
+
: path.dirname(context.php.binaryPath);
|
|
49
|
+
const imageMagickDir = config.platform === "win32" && context.php.platformDirName
|
|
50
|
+
? path.join(phpRuntimeDir, "ImageMagick")
|
|
51
|
+
: null;
|
|
52
|
+
const ghostscriptBinDir = config.platform === "win32" && context.php.platformDirName
|
|
53
|
+
? path.join(phpRuntimeDir, "ghostscript", "bin")
|
|
54
|
+
: null;
|
|
55
|
+
const ghostscriptLibDir = config.platform === "win32" && context.php.platformDirName
|
|
56
|
+
? path.join(phpRuntimeDir, "ghostscript", "Resource", "Init")
|
|
57
|
+
: null;
|
|
46
58
|
const env = {
|
|
47
59
|
...process.env,
|
|
48
60
|
PHPRC: context.phpConfigDir,
|
|
49
61
|
WP_CLI_DISABLE_AUTO_CHECK_UPDATE: "1",
|
|
50
62
|
PATH: [
|
|
63
|
+
imageMagickDir,
|
|
64
|
+
ghostscriptBinDir,
|
|
51
65
|
path.dirname(context.mysql.binaryPath),
|
|
52
66
|
path.dirname(context.php.binaryPath),
|
|
53
67
|
path.dirname(tooling.wpCliPhar),
|
|
@@ -63,6 +77,12 @@ function buildWpCliEnv(context, tooling) {
|
|
|
63
77
|
if (context.magickCoderModulePath) {
|
|
64
78
|
env.MAGICK_CODER_MODULE_PATH = context.magickCoderModulePath;
|
|
65
79
|
}
|
|
80
|
+
if (imageMagickDir) {
|
|
81
|
+
env.MAGICK_CONFIGURE_PATH = imageMagickDir;
|
|
82
|
+
}
|
|
83
|
+
if (ghostscriptLibDir) {
|
|
84
|
+
env.GS_LIB = ghostscriptLibDir;
|
|
85
|
+
}
|
|
66
86
|
return env;
|
|
67
87
|
}
|
|
68
88
|
export function tokenizeCommand(command) {
|
package/dist/wp-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wp-cli.js","sourceRoot":"","sources":["../src/wp-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wp-cli.js","sourceRoot":"","sources":["../src/wp-cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "localwp-mcp",
|
|
3
|
-
"version": "0.1.
|
|
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
|
-
"type": "module",
|
|
6
|
-
"packageManager": "pnpm@10.32.1",
|
|
7
|
-
"main": "./dist/server.js",
|
|
8
|
-
"types": "./dist/server.d.ts",
|
|
9
|
-
"exports": {
|
|
10
|
-
".": {
|
|
11
|
-
"types": "./dist/server.d.ts",
|
|
12
|
-
"import": "./dist/server.js"
|
|
13
|
-
},
|
|
14
|
-
"./package.json": "./package.json"
|
|
15
|
-
},
|
|
16
|
-
"bin": {
|
|
17
|
-
"localwp-mcp": "dist/index.js"
|
|
18
|
-
},
|
|
19
|
-
"files": [
|
|
20
|
-
"dist",
|
|
21
|
-
"LICENSE",
|
|
22
|
-
"README.md"
|
|
23
|
-
],
|
|
24
|
-
"publishConfig": {
|
|
25
|
-
"access": "public"
|
|
26
|
-
},
|
|
27
|
-
"scripts": {
|
|
28
|
-
"build": "tsc -p tsconfig.json",
|
|
29
|
-
"check": "tsc --noEmit -p tsconfig.json",
|
|
30
|
-
"clean": "rm -rf dist",
|
|
31
|
-
"dev": "tsx src/index.ts",
|
|
32
|
-
"prepublishOnly": "pnpm clean && pnpm check && pnpm test && pnpm build",
|
|
33
|
-
"start": "node ./dist/index.js",
|
|
34
|
-
"test": "tsx --test tests/**/*.test.ts"
|
|
35
|
-
},
|
|
36
|
-
"keywords": [
|
|
37
|
-
"mcp",
|
|
38
|
-
"model-context-protocol",
|
|
39
|
-
"wordpress",
|
|
40
|
-
"localwp",
|
|
41
|
-
"wp-cli",
|
|
42
|
-
"mysql",
|
|
43
|
-
"backup",
|
|
44
|
-
"restore",
|
|
45
|
-
"logs",
|
|
46
|
-
"developer-tools"
|
|
47
|
-
],
|
|
48
|
-
"license": "ISC",
|
|
49
|
-
"engines": {
|
|
50
|
-
"node": ">=20"
|
|
51
|
-
},
|
|
52
|
-
"dependencies": {
|
|
53
|
-
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
54
|
-
"zod": "^4.3.6"
|
|
55
|
-
},
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"@types/node": "^24.6.0",
|
|
58
|
-
"tsx": "^4.20.5",
|
|
59
|
-
"typescript": "^5.9.3"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "localwp-mcp",
|
|
3
|
+
"version": "0.1.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
|
+
"type": "module",
|
|
6
|
+
"packageManager": "pnpm@10.32.1",
|
|
7
|
+
"main": "./dist/server.js",
|
|
8
|
+
"types": "./dist/server.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/server.d.ts",
|
|
12
|
+
"import": "./dist/server.js"
|
|
13
|
+
},
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"bin": {
|
|
17
|
+
"localwp-mcp": "dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"LICENSE",
|
|
22
|
+
"README.md"
|
|
23
|
+
],
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc -p tsconfig.json",
|
|
29
|
+
"check": "tsc --noEmit -p tsconfig.json",
|
|
30
|
+
"clean": "rm -rf dist",
|
|
31
|
+
"dev": "tsx src/index.ts",
|
|
32
|
+
"prepublishOnly": "pnpm clean && pnpm check && pnpm test && pnpm build",
|
|
33
|
+
"start": "node ./dist/index.js",
|
|
34
|
+
"test": "tsx --test tests/**/*.test.ts"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"mcp",
|
|
38
|
+
"model-context-protocol",
|
|
39
|
+
"wordpress",
|
|
40
|
+
"localwp",
|
|
41
|
+
"wp-cli",
|
|
42
|
+
"mysql",
|
|
43
|
+
"backup",
|
|
44
|
+
"restore",
|
|
45
|
+
"logs",
|
|
46
|
+
"developer-tools"
|
|
47
|
+
],
|
|
48
|
+
"license": "ISC",
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=20"
|
|
51
|
+
},
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
54
|
+
"zod": "^4.3.6"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/node": "^24.6.0",
|
|
58
|
+
"tsx": "^4.20.5",
|
|
59
|
+
"typescript": "^5.9.3"
|
|
60
|
+
}
|
|
61
|
+
}
|