@respira/wordpress-mcp-server 2.0.9 → 2.0.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/README.md CHANGED
@@ -190,6 +190,36 @@ Your live site is never at risk.
190
190
 
191
191
  ---
192
192
 
193
+ ## Part of the WordPress AI Ecosystem
194
+
195
+ Respira works alongside the official WordPress AI building blocks:
196
+
197
+ - **WordPress Abilities API** (WP 6.9+): Respira registers all its page builder tools as WordPress Abilities under the `page-builder-editing` category
198
+ - **WordPress MCP Adapter**: Exposes Respira abilities alongside core WordPress tools automatically
199
+ - **Standalone MCP server** (this package): Quick start path — works without the Abilities API
200
+
201
+ ### Two Access Paths
202
+
203
+ | Path | How it works | Requirements |
204
+ |------|-------------|--------------|
205
+ | **Standalone** (this npm package) | Install via npm, configure in your AI tool | Node 18+, Respira plugin |
206
+ | **WordPress MCP Adapter** | Abilities auto-discovered via WP-CLI STDIO | WP 6.9+, MCP Adapter plugin, Respira plugin v2.0+ |
207
+
208
+ Both paths are supported. Use whichever fits your setup.
209
+
210
+ ### STDIO Transport (for MCP Adapter)
211
+
212
+ ```bash
213
+ npx @respira/wordpress-mcp-server --stdio --wp-path=/path/to/wordpress --user=admin
214
+ ```
215
+
216
+ Or via WP-CLI:
217
+ ```bash
218
+ wp mcp-adapter serve respira-press --user=admin
219
+ ```
220
+
221
+ ---
222
+
193
223
  ## 60+ Tools
194
224
 
195
225
  ### Page Builder Tools
@@ -352,6 +382,7 @@ respira-wordpress-mcp
352
382
  npx @respira/wordpress-mcp-server --setup # Run setup wizard
353
383
  npx @respira/wordpress-mcp-server --list # List configured sites
354
384
  npx @respira/wordpress-mcp-server --test # Test default site connection
385
+ npx @respira/wordpress-mcp-server --stdio # STDIO transport (for WP-CLI/MCP Adapter)
355
386
  npx @respira/wordpress-mcp-server --help # Show help
356
387
  ```
357
388
 
@@ -363,6 +394,20 @@ export WP_API_KEY=respira_your-api-key
363
394
 
364
395
  ---
365
396
 
397
+ ## Security
398
+
399
+ API key validation happens server-side in the WordPress plugin. The MCP server passes credentials but does not store or validate them. No sensitive parsing logic is in this repository.
400
+
401
+ Report vulnerabilities to security@respira.press. See [SECURITY.md](.github/SECURITY.md) for details.
402
+
403
+ ---
404
+
405
+ ## Contributing
406
+
407
+ See [CONTRIBUTING.md](.github/CONTRIBUTING.md) for how to add builder support, new tools, and submit PRs.
408
+
409
+ ---
410
+
366
411
  ## Links
367
412
 
368
413
  - [Website](https://respira.press)
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAa3E;;GAEG;AACH,wBAAgB,UAAU,IAAI,aAAa,CA2J1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAWtD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAevD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAgB/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAiBnD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAa3E;;GAEG;AACH,wBAAgB,UAAU,IAAI,aAAa,CA+J1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAWtD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAevD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAgB/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAiBnD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlE"}
package/dist/config.js CHANGED
@@ -62,9 +62,11 @@ export function loadConfig() {
62
62
  // Validate and fix URL
63
63
  let fixedUrl = site.url.trim();
64
64
  let urlFixed = false;
65
- // Fix duplicate protocols (https://https://, http://http://, etc.)
66
- if (fixedUrl.match(/^(https?:\/\/)+/i)) {
67
- fixedUrl = fixedUrl.replace(/^(https?:\/\/)+/i, 'https://');
65
+ // Fix duplicate protocols (https://https://, http://http://, etc.) - preserve original protocol
66
+ const dupProtocolMatch = fixedUrl.match(/^(https?:\/\/){2,}/i);
67
+ if (dupProtocolMatch) {
68
+ const firstProtocol = fixedUrl.startsWith('https') ? 'https://' : 'http://';
69
+ fixedUrl = fixedUrl.replace(/^(https?:\/\/)+/i, firstProtocol);
68
70
  urlFixed = true;
69
71
  }
70
72
  // Fix mixed protocols (http://https://, https://http://)
@@ -100,9 +102,11 @@ export function loadConfig() {
100
102
  }
101
103
  // Validate URL format
102
104
  try {
103
- // Add protocol if missing
105
+ // Add protocol if missing - use http for local dev (Local, Lando, etc.)
104
106
  if (!fixedUrl.match(/^https?:\/\//i)) {
105
- fixedUrl = `https://${fixedUrl}`;
107
+ const host = fixedUrl.split('/')[0]?.split(':')[0] || '';
108
+ const isLocal = /^(localhost|127\.0\.0\.1|.*\.local|.*\.localdomain|.*\.lndo\.site)$/i.test(host);
109
+ fixedUrl = `${isLocal ? 'http' : 'https'}://${fixedUrl}`;
106
110
  urlFixed = true;
107
111
  }
108
112
  const urlObj = new URL(fixedUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * WordPress Abilities API Discovery
3
+ *
4
+ * Detects whether a WordPress site has the Abilities API and
5
+ * MCP Adapter installed, and informs the user about available
6
+ * integration paths.
7
+ */
8
+ export interface AbilitiesDiscoveryResult {
9
+ abilitiesApiAvailable: boolean;
10
+ mcpAdapterAvailable: boolean;
11
+ respiraAbilitiesRegistered: boolean;
12
+ abilitiesEndpoint: string | null;
13
+ message: string;
14
+ }
15
+ /**
16
+ * Check if the WordPress site supports the Abilities API.
17
+ *
18
+ * @param siteUrl - The WordPress site URL.
19
+ * @param apiKey - The Respira API key for authentication.
20
+ * @returns Discovery result with availability information.
21
+ */
22
+ export declare function discoverAbilities(siteUrl: string, apiKey: string): Promise<AbilitiesDiscoveryResult>;
23
+ //# sourceMappingURL=abilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abilities.d.ts","sourceRoot":"","sources":["../../src/discovery/abilities.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0BAA0B,EAAE,OAAO,CAAC;IACpC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC,CA8EnC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * WordPress Abilities API Discovery
3
+ *
4
+ * Detects whether a WordPress site has the Abilities API and
5
+ * MCP Adapter installed, and informs the user about available
6
+ * integration paths.
7
+ */
8
+ /**
9
+ * Check if the WordPress site supports the Abilities API.
10
+ *
11
+ * @param siteUrl - The WordPress site URL.
12
+ * @param apiKey - The Respira API key for authentication.
13
+ * @returns Discovery result with availability information.
14
+ */
15
+ export async function discoverAbilities(siteUrl, apiKey) {
16
+ const result = {
17
+ abilitiesApiAvailable: false,
18
+ mcpAdapterAvailable: false,
19
+ respiraAbilitiesRegistered: false,
20
+ abilitiesEndpoint: null,
21
+ message: '',
22
+ };
23
+ const baseUrl = siteUrl.replace(/\/+$/, '');
24
+ // Check for Abilities API
25
+ try {
26
+ const abilitiesUrl = `${baseUrl}/wp-json/wp-abilities/v1/abilities`;
27
+ const response = await fetch(abilitiesUrl, {
28
+ headers: {
29
+ 'X-Respira-Key': apiKey,
30
+ },
31
+ signal: AbortSignal.timeout(10000),
32
+ });
33
+ if (response.ok) {
34
+ result.abilitiesApiAvailable = true;
35
+ result.abilitiesEndpoint = abilitiesUrl;
36
+ const abilities = await response.json();
37
+ // Check if Respira abilities are registered
38
+ if (Array.isArray(abilities)) {
39
+ result.respiraAbilitiesRegistered = abilities.some((ability) => typeof ability?.name === 'string' &&
40
+ ability.name.startsWith('respira/'));
41
+ }
42
+ }
43
+ }
44
+ catch {
45
+ // Abilities API not available — that's fine
46
+ }
47
+ // Check for MCP Adapter
48
+ try {
49
+ const mcpUrl = `${baseUrl}/wp-json/mcp-adapter/v1/servers`;
50
+ const response = await fetch(mcpUrl, {
51
+ headers: {
52
+ 'X-Respira-Key': apiKey,
53
+ },
54
+ signal: AbortSignal.timeout(10000),
55
+ });
56
+ if (response.ok) {
57
+ result.mcpAdapterAvailable = true;
58
+ }
59
+ }
60
+ catch {
61
+ // MCP Adapter not available — that's fine
62
+ }
63
+ // Build user-facing message
64
+ if (result.respiraAbilitiesRegistered && result.mcpAdapterAvailable) {
65
+ result.message =
66
+ 'This site has the WordPress Abilities API and MCP Adapter installed. ' +
67
+ 'Respira abilities are registered and discoverable through the official adapter. ' +
68
+ 'You can use either this standalone MCP server or the WordPress MCP Adapter path.';
69
+ }
70
+ else if (result.abilitiesApiAvailable && !result.respiraAbilitiesRegistered) {
71
+ result.message =
72
+ 'This site has the WordPress Abilities API but Respira abilities are not registered. ' +
73
+ 'Update the Respira plugin to v2.0+ to register abilities automatically.';
74
+ }
75
+ else if (result.abilitiesApiAvailable) {
76
+ result.message =
77
+ 'This site has the WordPress Abilities API. ' +
78
+ 'Install the MCP Adapter to expose Respira abilities through the official WordPress AI infrastructure.';
79
+ }
80
+ else {
81
+ result.message =
82
+ 'This site does not have the WordPress Abilities API (requires WordPress 6.9+). ' +
83
+ 'The standalone MCP server works perfectly without it.';
84
+ }
85
+ return result;
86
+ }
87
+ //# sourceMappingURL=abilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abilities.js","sourceRoot":"","sources":["../../src/discovery/abilities.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,MAAc;IAEd,MAAM,MAAM,GAA6B;QACvC,qBAAqB,EAAE,KAAK;QAC5B,mBAAmB,EAAE,KAAK;QAC1B,0BAA0B,EAAE,KAAK;QACjC,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE5C,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,GAAG,OAAO,oCAAoC,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;YACzC,OAAO,EAAE;gBACP,eAAe,EAAE,MAAM;aACxB;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACpC,MAAM,CAAC,iBAAiB,GAAG,YAAY,CAAC;YAExC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAExC,4CAA4C;YAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,0BAA0B,GAAG,SAAS,CAAC,IAAI,CAChD,CAAC,OAAY,EAAE,EAAE,CACf,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ;oBACjC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,OAAO,iCAAiC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;YACnC,OAAO,EAAE;gBACP,eAAe,EAAE,MAAM;aACxB;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC,0BAA0B,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACpE,MAAM,CAAC,OAAO;YACZ,uEAAuE;gBACvE,kFAAkF;gBAClF,kFAAkF,CAAC;IACvF,CAAC;SAAM,IAAI,MAAM,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;QAC9E,MAAM,CAAC,OAAO;YACZ,sFAAsF;gBACtF,yEAAyE,CAAC;IAC9E,CAAC;SAAM,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO;YACZ,6CAA6C;gBAC7C,uGAAuG,CAAC;IAC5G,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO;YACZ,iFAAiF;gBACjF,uDAAuD,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,5 +5,7 @@
5
5
  */
6
6
  declare const args: string[];
7
7
  declare const isSetupCommand: boolean;
8
+ declare const isStdioCommand: boolean;
9
+ declare function startStdioMode(): Promise<void>;
8
10
  declare function startMcpServer(): Promise<void>;
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAGH,QAAA,MAAM,IAAI,UAAwB,CAAC;AACnC,QAAA,MAAM,cAAc,SAQC,CAAC;AAetB,iBAAe,cAAc,kBA4C5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAGH,QAAA,MAAM,IAAI,UAAwB,CAAC;AACnC,QAAA,MAAM,cAAc,SAQC,CAAC;AACtB,QAAA,MAAM,cAAc,SAA2B,CAAC;AAkBhD,iBAAe,cAAc,kBAkB5B;AAED,iBAAe,cAAc,kBA4C5B"}
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ const isSetupCommand = args.includes('--setup') ||
14
14
  args.includes('-t') ||
15
15
  args.includes('--help') ||
16
16
  args.includes('-h');
17
+ const isStdioCommand = args.includes('--stdio');
17
18
  if (isSetupCommand) {
18
19
  // Dynamically import and run setup module
19
20
  import('./setup.js').then(({ handleSetupCli }) => {
@@ -23,10 +24,31 @@ if (isSetupCommand) {
23
24
  });
24
25
  });
25
26
  }
27
+ else if (isStdioCommand) {
28
+ // STDIO transport mode for WP-CLI / MCP Adapter integration
29
+ startStdioMode();
30
+ }
26
31
  else {
27
32
  // Normal MCP server startup
28
33
  startMcpServer();
29
34
  }
35
+ async function startStdioMode() {
36
+ const { parseStdioArgs } = await import('./transports/stdio.js');
37
+ const { RespiraWordPressServer } = await import('./server.js');
38
+ const { loadConfig } = await import('./config.js');
39
+ try {
40
+ const config = loadConfig();
41
+ const server = new RespiraWordPressServer(config.sites);
42
+ // Start STDIO transport — reads JSON-RPC from stdin, writes to stdout
43
+ const options = parseStdioArgs(args);
44
+ process.stderr.write(`[respira] Starting STDIO transport${options.wpPath ? ` (wp-path: ${options.wpPath})` : ''}\n`);
45
+ await server.run();
46
+ }
47
+ catch (error) {
48
+ process.stderr.write(`[respira] STDIO startup error: ${error?.message || error}\n`);
49
+ process.exit(1);
50
+ }
51
+ }
30
52
  async function startMcpServer() {
31
53
  // Import dependencies only when starting MCP server
32
54
  const Sentry = await import('@sentry/node');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA;;;GAGG;AAEH,8CAA8C;AAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,cAAc,GAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtB,IAAI,cAAc,EAAE,CAAC;IACnB,0CAA0C;IAC1C,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;QAC/C,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,4BAA4B;IAC5B,cAAc,EAAE,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,oDAAoD;IACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC5E,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAEnD,uCAAuC;IACvC,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CAAC;QACV,GAAG,EAAE,iGAAiG;QACtG,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY;QACjD,gBAAgB,EAAE,GAAG;QACrB,kBAAkB,EAAE,GAAG;QACvB,YAAY,EAAE,CAAC,wBAAwB,EAAE,CAAC;QAC1C,UAAU,CAAC,KAAK;YACd,oCAAoC;YACpC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,wBAAwB;QACxB,MAAM,MAAM,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,QAAQ,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;QAC7F,MAAM,UAAU,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAED,8BAA8B;QAC9B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * STDIO Transport Support
3
+ *
4
+ * Enables the MCP server to run via WP-CLI STDIO transport
5
+ * for integration with the WordPress MCP Adapter.
6
+ *
7
+ * Usage:
8
+ * npx @respira/wordpress-mcp-server --stdio --wp-path=/path/to/wordpress --user=admin
9
+ */
10
+ export interface StdioTransportOptions {
11
+ wpPath?: string;
12
+ user?: string;
13
+ }
14
+ /**
15
+ * Parse STDIO-specific CLI arguments.
16
+ */
17
+ export declare function parseStdioArgs(args: string[]): StdioTransportOptions;
18
+ /**
19
+ * Check if STDIO mode was requested via CLI args.
20
+ */
21
+ export declare function isStdioMode(args: string[]): boolean;
22
+ /**
23
+ * Start the STDIO transport layer.
24
+ *
25
+ * Reads JSON-RPC messages from stdin (one per line)
26
+ * and writes responses to stdout.
27
+ */
28
+ export declare function startStdioTransport(handleMessage: (message: any) => Promise<any>): void;
29
+ //# sourceMappingURL=stdio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/transports/stdio.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAYpE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAC5C,IAAI,CAqCN"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * STDIO Transport Support
3
+ *
4
+ * Enables the MCP server to run via WP-CLI STDIO transport
5
+ * for integration with the WordPress MCP Adapter.
6
+ *
7
+ * Usage:
8
+ * npx @respira/wordpress-mcp-server --stdio --wp-path=/path/to/wordpress --user=admin
9
+ */
10
+ import { createInterface } from 'readline';
11
+ /**
12
+ * Parse STDIO-specific CLI arguments.
13
+ */
14
+ export function parseStdioArgs(args) {
15
+ const options = {};
16
+ for (const arg of args) {
17
+ if (arg.startsWith('--wp-path=')) {
18
+ options.wpPath = arg.split('=')[1];
19
+ }
20
+ else if (arg.startsWith('--user=')) {
21
+ options.user = arg.split('=')[1];
22
+ }
23
+ }
24
+ return options;
25
+ }
26
+ /**
27
+ * Check if STDIO mode was requested via CLI args.
28
+ */
29
+ export function isStdioMode(args) {
30
+ return args.includes('--stdio');
31
+ }
32
+ /**
33
+ * Start the STDIO transport layer.
34
+ *
35
+ * Reads JSON-RPC messages from stdin (one per line)
36
+ * and writes responses to stdout.
37
+ */
38
+ export function startStdioTransport(handleMessage) {
39
+ const rl = createInterface({
40
+ input: process.stdin,
41
+ output: process.stdout,
42
+ terminal: false,
43
+ });
44
+ rl.on('line', async (line) => {
45
+ const trimmed = line.trim();
46
+ if (!trimmed)
47
+ return;
48
+ try {
49
+ const message = JSON.parse(trimmed);
50
+ const response = await handleMessage(message);
51
+ if (response !== undefined) {
52
+ process.stdout.write(JSON.stringify(response) + '\n');
53
+ }
54
+ }
55
+ catch (err) {
56
+ const errorResponse = {
57
+ jsonrpc: '2.0',
58
+ error: {
59
+ code: -32700,
60
+ message: 'Parse error',
61
+ data: err?.message || 'Invalid JSON',
62
+ },
63
+ id: null,
64
+ };
65
+ process.stdout.write(JSON.stringify(errorResponse) + '\n');
66
+ }
67
+ });
68
+ rl.on('close', () => {
69
+ process.exit(0);
70
+ });
71
+ // Signal that STDIO transport is ready
72
+ process.stderr.write('[respira] STDIO transport ready\n');
73
+ }
74
+ //# sourceMappingURL=stdio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transports/stdio.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAO3C;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,aAA6C;IAE7C,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK;oBACZ,OAAO,EAAE,aAAa;oBACtB,IAAI,EAAE,GAAG,EAAE,OAAO,IAAI,cAAc;iBACrC;gBACD,EAAE,EAAE,IAAI;aACT,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,uCAAuC;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@respira/wordpress-mcp-server",
3
- "version": "2.0.9",
3
+ "version": "2.0.10",
4
4
  "description": "The only WordPress MCP with page builder support. Edit Divi, Elementor, Bricks + 7 more builders with AI. Duplicate-before-edit safety. SEO analysis. 60+ tools.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
+ "wordpress-mcp-server": "./dist/index.js",
7
8
  "respira-wordpress-mcp": "./dist/index.js",
8
9
  "respira-setup": "./dist/setup.js"
9
10
  },
@@ -112,4 +113,4 @@
112
113
  "engines": {
113
114
  "node": ">=18.0.0"
114
115
  }
115
- }
116
+ }