localwp-mcp 0.1.5 → 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 CHANGED
@@ -17,52 +17,43 @@ It automatically finds your Local sites, uses the correct Local PHP and MySQL ru
17
17
 
18
18
  ## Install
19
19
 
20
- Use `npx` in your MCP client:
21
-
22
- ```json
23
- {
24
- "mcpServers": {
25
- "localwp": {
26
- "command": "npx",
27
- "args": ["localwp-mcp"],
28
- "env": {
29
- "LOCALWP_MCP_PROFILE": "safe"
30
- }
31
- }
32
- }
33
- }
34
- ```
35
-
36
- You can also install it globally:
37
-
38
- ```bash
39
- npm install -g localwp-mcp
40
- ```
41
-
42
- Then use:
43
-
44
- ```json
45
- {
46
- "mcpServers": {
47
- "localwp": {
48
- "command": "localwp-mcp",
49
- "env": {
50
- "LOCALWP_MCP_PROFILE": "safe"
51
- }
52
- }
53
- }
54
- }
55
- ```
56
-
57
- If you want the MCP to focus on one site by default, set:
20
+ Use `npx` in your MCP client:
21
+
22
+ ```json
23
+ {
24
+ "mcpServers": {
25
+ "localwp": {
26
+ "command": "npx",
27
+ "args": ["-y", "localwp-mcp"],
28
+ "env": {
29
+ "LOCALWP_MCP_PROFILE": "safe"
30
+ }
31
+ }
32
+ }
33
+ }
34
+ ```
35
+
36
+ `localwp-mcp` currently supports `STDIO` clients. Streamable HTTP is not supported yet.
37
+
38
+ If you want the MCP to focus on one site by default, set:
58
39
 
59
40
  ```json
60
- {
61
- "LOCAL_SITE_NAME": "example-site"
62
- }
63
- ```
64
-
65
- ## Access Modes
41
+ {
42
+ "LOCAL_SITE_NAME": "example-site"
43
+ }
44
+ ```
45
+
46
+ ## Client Setup
47
+
48
+ Step-by-step setup guides:
49
+
50
+ - [Codex Desktop](./docs/clients/codex.md)
51
+ - [Cursor](./docs/clients/cursor.md)
52
+ - [Claude Code](./docs/clients/claude-code.md)
53
+ - [OpenCode](./docs/clients/opencode.md)
54
+ - [Generic STDIO MCP Clients](./docs/clients/generic-stdio.md)
55
+
56
+ ## Access Modes
66
57
 
67
58
  `localwp-mcp` has 2 access modes:
68
59
 
@@ -100,11 +91,18 @@ Those will tell you:
100
91
 
101
92
  ### Inspect a Site
102
93
 
103
- Use:
104
-
105
- - `local_site_info`
106
- - `local_doctor`
107
- - `local_logs`
94
+ Use:
95
+
96
+ - `local_site_info`
97
+ - `local_doctor`
98
+ - `local_logs`
99
+
100
+ `local_logs` accepts:
101
+
102
+ - `site`
103
+ - `global`
104
+ - `all`
105
+ - aliases: `both`, `combined`
108
106
 
109
107
  ### Work With Site Files
110
108
 
@@ -163,6 +161,7 @@ Use:
163
161
  - `cleanup_backups`
164
162
  - `db_export`
165
163
  - `db_import`
164
+ - `preview_restore_backup`
166
165
  - `restore_backup`
167
166
 
168
167
  `backup_site` supports:
@@ -180,6 +179,8 @@ If you want to manage backup storage over time:
180
179
  Removes one managed backup artifact in `full-access`.
181
180
  - `cleanup_backups`
182
181
  Cleans up older backups by age and/or retention count in `full-access`.
182
+
183
+ Use `preview_restore_backup` when you want to inspect the restore plan, effective restore mode, compatibility warnings, and current site state before making changes.
183
184
 
184
185
  ## Built-In Capabilities
185
186
 
@@ -208,6 +209,7 @@ If you want to manage backup storage over time:
208
209
  - `list_backups`
209
210
  - `delete_backup`
210
211
  - `cleanup_backups`
212
+ - `preview_restore_backup`
211
213
  - `restore_backup`
212
214
 
213
215
  ### MCP Resources
@@ -1,5 +1,16 @@
1
1
  import type { BackupArtifactCategory, BackupScope, SiteContext } from "./types.js";
2
2
  export declare const backupArtifactCategories: readonly ["full_backup", "database_backup", "pre_restore_backup", "database_export", "pre_import_backup", "sql_file"];
3
+ export declare const backupArtifactCategoryAliases: {
4
+ readonly full: readonly ["full_backup"];
5
+ readonly database: readonly ["database_backup"];
6
+ readonly pre_restore: readonly ["pre_restore_backup"];
7
+ readonly pre_import: readonly ["pre_import_backup"];
8
+ readonly managed_export: readonly ["database_export"];
9
+ readonly standalone_sql: readonly ["sql_file"];
10
+ readonly export: readonly ["database_export", "sql_file"];
11
+ readonly exports: readonly ["database_export", "sql_file"];
12
+ };
13
+ export declare const acceptedBackupArtifactCategoryInputs: readonly ["full_backup", "database_backup", "pre_restore_backup", "database_export", "pre_import_backup", "sql_file", ...string[]];
3
14
  interface BackupArtifact {
4
15
  path: string;
5
16
  absolutePath: string;
@@ -31,6 +42,19 @@ export declare function listManagedBackups(context: SiteContext, options?: {
31
42
  selectionMethod: string | undefined;
32
43
  accessProfile: import("./types.js").AccessProfile;
33
44
  backupRoot: string;
45
+ categorySupport: {
46
+ canonical: ("full_backup" | "database_backup" | "pre_restore_backup" | "database_export" | "pre_import_backup" | "sql_file")[];
47
+ aliases: {
48
+ readonly full: readonly ["full_backup"];
49
+ readonly database: readonly ["database_backup"];
50
+ readonly pre_restore: readonly ["pre_restore_backup"];
51
+ readonly pre_import: readonly ["pre_import_backup"];
52
+ readonly managed_export: readonly ["database_export"];
53
+ readonly standalone_sql: readonly ["sql_file"];
54
+ readonly export: readonly ["database_export", "sql_file"];
55
+ readonly exports: readonly ["database_export", "sql_file"];
56
+ };
57
+ };
34
58
  artifacts: BackupArtifact[];
35
59
  }>;
36
60
  export declare function deleteManagedBackup(context: SiteContext, options: {
@@ -58,6 +82,19 @@ export declare function deleteManagedBackup(context: SiteContext, options: {
58
82
  selectionMethod: string | undefined;
59
83
  accessProfile: import("./types.js").AccessProfile;
60
84
  backupRoot: string;
85
+ categorySupport: {
86
+ canonical: ("full_backup" | "database_backup" | "pre_restore_backup" | "database_export" | "pre_import_backup" | "sql_file")[];
87
+ aliases: {
88
+ readonly full: readonly ["full_backup"];
89
+ readonly database: readonly ["database_backup"];
90
+ readonly pre_restore: readonly ["pre_restore_backup"];
91
+ readonly pre_import: readonly ["pre_import_backup"];
92
+ readonly managed_export: readonly ["database_export"];
93
+ readonly standalone_sql: readonly ["sql_file"];
94
+ readonly export: readonly ["database_export", "sql_file"];
95
+ readonly exports: readonly ["database_export", "sql_file"];
96
+ };
97
+ };
61
98
  artifacts: BackupArtifact[];
62
99
  } | {
63
100
  targetPath: string;
@@ -81,16 +118,30 @@ export declare function deleteManagedBackup(context: SiteContext, options: {
81
118
  selectionMethod: string | undefined;
82
119
  accessProfile: import("./types.js").AccessProfile;
83
120
  backupRoot: string;
121
+ categorySupport: {
122
+ canonical: ("full_backup" | "database_backup" | "pre_restore_backup" | "database_export" | "pre_import_backup" | "sql_file")[];
123
+ aliases: {
124
+ readonly full: readonly ["full_backup"];
125
+ readonly database: readonly ["database_backup"];
126
+ readonly pre_restore: readonly ["pre_restore_backup"];
127
+ readonly pre_import: readonly ["pre_import_backup"];
128
+ readonly managed_export: readonly ["database_export"];
129
+ readonly standalone_sql: readonly ["sql_file"];
130
+ readonly export: readonly ["database_export", "sql_file"];
131
+ readonly exports: readonly ["database_export", "sql_file"];
132
+ };
133
+ };
84
134
  artifacts: BackupArtifact[];
85
135
  }>;
86
136
  export declare function cleanupManagedBackups(context: SiteContext, options?: {
87
137
  rootPath?: string;
88
- categories?: BackupArtifactCategory[];
138
+ categories?: string[];
89
139
  olderThanDays?: number;
90
140
  keepLatest?: number;
91
141
  dryRun?: boolean;
92
142
  }): Promise<{
93
143
  categories: BackupArtifactCategory[];
144
+ requestedCategories: string[] | null;
94
145
  olderThanDays: number | null;
95
146
  keepLatest: number | null;
96
147
  dryRun: boolean;
@@ -115,7 +166,21 @@ export declare function cleanupManagedBackups(context: SiteContext, options?: {
115
166
  selectionMethod: string | undefined;
116
167
  accessProfile: import("./types.js").AccessProfile;
117
168
  backupRoot: string;
169
+ categorySupport: {
170
+ canonical: ("full_backup" | "database_backup" | "pre_restore_backup" | "database_export" | "pre_import_backup" | "sql_file")[];
171
+ aliases: {
172
+ readonly full: readonly ["full_backup"];
173
+ readonly database: readonly ["database_backup"];
174
+ readonly pre_restore: readonly ["pre_restore_backup"];
175
+ readonly pre_import: readonly ["pre_import_backup"];
176
+ readonly managed_export: readonly ["database_export"];
177
+ readonly standalone_sql: readonly ["sql_file"];
178
+ readonly export: readonly ["database_export", "sql_file"];
179
+ readonly exports: readonly ["database_export", "sql_file"];
180
+ };
181
+ };
118
182
  artifacts: BackupArtifact[];
119
183
  }>;
184
+ export declare function normalizeBackupArtifactCategoryInputs(categories: string[] | undefined): BackupArtifactCategory[];
120
185
  export declare function resolveManagedBackupRoot(context: SiteContext, rootPath?: string): string;
121
186
  export {};
@@ -11,6 +11,20 @@ export const backupArtifactCategories = [
11
11
  "pre_import_backup",
12
12
  "sql_file",
13
13
  ];
14
+ export const backupArtifactCategoryAliases = {
15
+ full: ["full_backup"],
16
+ database: ["database_backup"],
17
+ pre_restore: ["pre_restore_backup"],
18
+ pre_import: ["pre_import_backup"],
19
+ managed_export: ["database_export"],
20
+ standalone_sql: ["sql_file"],
21
+ export: ["database_export", "sql_file"],
22
+ exports: ["database_export", "sql_file"],
23
+ };
24
+ export const acceptedBackupArtifactCategoryInputs = [
25
+ ...backupArtifactCategories,
26
+ ...Object.keys(backupArtifactCategoryAliases),
27
+ ];
14
28
  export async function listManagedBackups(context, options = {}) {
15
29
  const backupRoot = resolveManagedBackupRoot(context, options.rootPath);
16
30
  if (!(await isReadablePath(backupRoot))) {
@@ -19,6 +33,7 @@ export async function listManagedBackups(context, options = {}) {
19
33
  selectionMethod: context.selectionMethod,
20
34
  accessProfile: config.profile,
21
35
  backupRoot,
36
+ categorySupport: buildBackupCategorySupport(),
22
37
  artifacts: [],
23
38
  };
24
39
  }
@@ -28,6 +43,7 @@ export async function listManagedBackups(context, options = {}) {
28
43
  selectionMethod: context.selectionMethod,
29
44
  accessProfile: config.profile,
30
45
  backupRoot,
46
+ categorySupport: buildBackupCategorySupport(),
31
47
  artifacts,
32
48
  };
33
49
  }
@@ -66,7 +82,7 @@ export async function cleanupManagedBackups(context, options = {}) {
66
82
  const inventory = await listManagedBackups(context, {
67
83
  rootPath: options.rootPath,
68
84
  });
69
- const categories = new Set(options.categories || backupArtifactCategories);
85
+ const categories = new Set(normalizeBackupArtifactCategoryInputs(options.categories));
70
86
  const eligibleArtifacts = inventory.artifacts.filter((artifact) => categories.has(artifact.category));
71
87
  const keepLatest = options.keepLatest ? Math.max(options.keepLatest, 0) : 0;
72
88
  const thresholdMs = options.olderThanDays !== undefined
@@ -90,6 +106,7 @@ export async function cleanupManagedBackups(context, options = {}) {
90
106
  return {
91
107
  ...inventory,
92
108
  categories: Array.from(categories),
109
+ requestedCategories: options.categories || null,
93
110
  olderThanDays: options.olderThanDays ?? null,
94
111
  keepLatest: options.keepLatest ?? null,
95
112
  dryRun: options.dryRun ?? false,
@@ -100,6 +117,34 @@ export async function cleanupManagedBackups(context, options = {}) {
100
117
  retainedArtifacts: eligibleArtifacts.filter((artifact) => retainedPaths.has(artifact.path)),
101
118
  };
102
119
  }
120
+ export function normalizeBackupArtifactCategoryInputs(categories) {
121
+ if (!categories || categories.length === 0) {
122
+ return [...backupArtifactCategories];
123
+ }
124
+ const normalized = new Set();
125
+ for (const rawCategory of categories) {
126
+ const category = rawCategory.trim().toLowerCase();
127
+ if (!category) {
128
+ continue;
129
+ }
130
+ if (isBackupArtifactCategory(category)) {
131
+ normalized.add(category);
132
+ continue;
133
+ }
134
+ const aliasTargets = backupArtifactCategoryAliases[category];
135
+ if (aliasTargets) {
136
+ for (const aliasTarget of aliasTargets) {
137
+ normalized.add(aliasTarget);
138
+ }
139
+ continue;
140
+ }
141
+ throw new Error(`Unknown backup category '${rawCategory}'. Accepted values: ${acceptedBackupArtifactCategoryInputs.join(", ")}.`);
142
+ }
143
+ if (normalized.size === 0) {
144
+ return [...backupArtifactCategories];
145
+ }
146
+ return [...normalized];
147
+ }
103
148
  export function resolveManagedBackupRoot(context, rootPath) {
104
149
  if (rootPath) {
105
150
  return path.resolve(rootPath);
@@ -208,4 +253,13 @@ async function calculatePathSize(absolutePath) {
208
253
  function normalizeBackupRelativePath(relativePath) {
209
254
  return relativePath.replaceAll(path.sep, "/");
210
255
  }
256
+ function isBackupArtifactCategory(value) {
257
+ return backupArtifactCategories.includes(value);
258
+ }
259
+ function buildBackupCategorySupport() {
260
+ return {
261
+ canonical: [...backupArtifactCategories],
262
+ aliases: backupArtifactCategoryAliases,
263
+ };
264
+ }
211
265
  //# sourceMappingURL=backup-management.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup-management.js","sourceRoot":"","sources":["../src/backup-management.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup-management.js","sourceRoot":"","sources":["../src/backup-management.ts"],"names":[],"mappings":"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"}
package/dist/backup.d.ts CHANGED
@@ -1,9 +1,19 @@
1
1
  import type { BackupScope, SiteContext } from "./types.js";
2
2
  interface BackupManifest {
3
3
  format: string;
4
+ schemaVersion?: number;
5
+ toolVersion?: string;
4
6
  createdAt?: string;
5
7
  scope?: BackupScope;
6
8
  accessProfile?: string;
9
+ platform?: string;
10
+ localVersion?: string | null;
11
+ phpVersion?: string | null;
12
+ mysqlVersion?: string | null;
13
+ wordpressVersion?: string | null;
14
+ siteUrl?: string | null;
15
+ homeUrl?: string | null;
16
+ runtimeStatusAtBackup?: string | null;
7
17
  site?: Record<string, unknown>;
8
18
  database?: {
9
19
  file?: string;
@@ -11,6 +21,7 @@ interface BackupManifest {
11
21
  source?: string;
12
22
  };
13
23
  copiedDirectories?: string[];
24
+ warningsAtBackupTime?: string[];
14
25
  notes?: string[];
15
26
  }
16
27
  interface ResolvedBackupSource {
@@ -26,26 +37,78 @@ export declare function createSiteBackup(context: SiteContext, options?: {
26
37
  outputDir?: string;
27
38
  label?: string;
28
39
  }): Promise<{
40
+ status: "ok";
41
+ operationId: string;
42
+ startedAt: string;
43
+ finishedAt: string;
44
+ durationMs: number;
29
45
  backupDir: string;
30
46
  manifestPath: string;
31
47
  scope: BackupScope;
32
48
  databaseFilePath: string;
33
49
  copiedDirectories: string[];
50
+ warnings: string[];
51
+ manifest: {
52
+ format: string;
53
+ schemaVersion: number;
54
+ toolVersion: string;
55
+ createdAt: string;
56
+ scope: BackupScope;
57
+ accessProfile: import("./types.js").AccessProfile;
58
+ platform: NodeJS.Platform;
59
+ localVersion: string | null;
60
+ phpVersion: string | null;
61
+ mysqlVersion: string | null;
62
+ wordpressVersion: string | null;
63
+ siteUrl: string | null;
64
+ homeUrl: string | null;
65
+ runtimeStatusAtBackup: string | null;
66
+ site: {
67
+ id: string;
68
+ name: string;
69
+ status: string;
70
+ domain: string | undefined;
71
+ path: string;
72
+ wpRoot: string;
73
+ localVersion: string | undefined;
74
+ phpVersion: string | null;
75
+ mysqlVersion: string | null;
76
+ httpPort: number | null;
77
+ mysqlPort: number | null;
78
+ };
79
+ database: {
80
+ file: string;
81
+ absolutePath: string;
82
+ source: string;
83
+ };
84
+ copiedDirectories: string[];
85
+ warningsAtBackupTime: string[];
86
+ notes: string[];
87
+ };
34
88
  }>;
35
89
  export declare function restoreSiteBackup(context: SiteContext, sourcePath: string, options?: {
36
90
  restoreFiles?: boolean;
37
91
  replaceDirectories?: boolean;
38
92
  backupBeforeRestore?: boolean;
39
93
  }): Promise<{
94
+ status: "ok";
95
+ operationId: string;
96
+ startedAt: string;
97
+ finishedAt: string;
98
+ durationMs: number;
40
99
  sourcePath: string;
41
100
  sqlFilePath: string;
42
101
  backupDir: string | null;
43
102
  manifestPath: string | null;
44
103
  restoredFiles: string[];
104
+ requestedMode: string;
105
+ effectiveMode: string;
45
106
  replaceDirectories: boolean;
46
107
  restartRecommended: boolean;
47
108
  preRestoreBackupDir: string | null;
48
109
  preRestoreManifestPath: string | null;
110
+ warnings: string[];
111
+ manifest: BackupManifest | null;
49
112
  stdout: string;
50
113
  stderr: string | null;
51
114
  }>;
@@ -53,20 +116,73 @@ export declare function exportDatabase(context: SiteContext, options?: {
53
116
  destinationPath?: string;
54
117
  label?: string;
55
118
  }): Promise<{
119
+ status: "ok";
120
+ operationId: string;
121
+ startedAt: string;
122
+ finishedAt: string;
123
+ durationMs: number;
56
124
  outputPath: string;
57
125
  stdout: string;
58
126
  stderr: string | null;
127
+ warnings: string[];
59
128
  }>;
60
129
  export declare function importDatabase(context: SiteContext, sourcePath: string, options?: {
61
130
  backupBeforeImport?: boolean;
62
131
  }): Promise<{
132
+ status: "ok";
133
+ operationId: string;
134
+ startedAt: string;
135
+ finishedAt: string;
136
+ durationMs: number;
63
137
  sourcePath: string;
64
138
  backupPath: string | null;
65
139
  stdout: string;
66
140
  stderr: string | null;
141
+ warnings: string[];
67
142
  }>;
68
143
  export declare function buildBackupDirectoryName(siteName: string, scope: BackupScope, label?: string, createdAt?: Date): string;
69
144
  export declare function sanitizeBackupSegment(value: string): string;
70
145
  export declare function resolveImportSourcePath(inputPath: string): Promise<string>;
146
+ export declare function previewRestoreSiteBackup(context: SiteContext, sourcePath: string, options?: {
147
+ restoreFiles?: boolean;
148
+ replaceDirectories?: boolean;
149
+ backupBeforeRestore?: boolean;
150
+ }): Promise<{
151
+ status: "preview";
152
+ operationId: string;
153
+ startedAt: string;
154
+ finishedAt: string;
155
+ durationMs: number;
156
+ sourcePath: string;
157
+ sqlFilePath: string;
158
+ backupDir: string | null;
159
+ manifestPath: string | null;
160
+ manifest: BackupManifest | null;
161
+ requestedMode: string;
162
+ effectiveMode: string;
163
+ restoreFiles: boolean;
164
+ replaceDirectories: boolean;
165
+ filePayloadAvailable: boolean;
166
+ fileRestoreAvailable: boolean;
167
+ copiedDirectories: string[];
168
+ restartRecommended: boolean;
169
+ wouldCreatePreRestoreBackup: boolean;
170
+ preRestoreBackupScope: string;
171
+ siteSnapshot: {
172
+ wordpressVersion: string | null;
173
+ siteUrl: string | null;
174
+ homeUrl: string | null;
175
+ mysqlReachable: boolean;
176
+ runtimeStatus: string;
177
+ localVersion: string | null;
178
+ phpVersion: string | null;
179
+ mysqlVersion: string | null;
180
+ };
181
+ phases: {
182
+ name: string;
183
+ status: "planned";
184
+ }[];
185
+ warnings: string[];
186
+ }>;
71
187
  export declare function resolveBackupSource(inputPath: string): Promise<ResolvedBackupSource>;
72
188
  export {};