@mkrlbs/mcp-adonisjs 1.1.0 → 1.1.2

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/build/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=index.d.ts.map
package/build/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
4
  import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
@@ -5,6 +6,16 @@ import { z } from "zod";
5
6
  import { execSync } from "child_process";
6
7
  import fs from "fs";
7
8
  import path from "path";
9
+ import { createRequire } from "module";
10
+ const require = createRequire(import.meta.url);
11
+ const { version: PKG_VERSION } = require("../package.json");
12
+ /**
13
+ * Project working directory — set via env, set_project_cwd tool, or defaults to process.cwd()
14
+ */
15
+ let projectCwd = process.cwd();
16
+ function getProjectCwd() {
17
+ return projectCwd;
18
+ }
8
19
  /**
9
20
  * Blacklisted commands that are considered dangerous
10
21
  */
@@ -35,11 +46,13 @@ function isBlacklisted(command) {
35
46
  * Verify that we are in an AdonisJS project
36
47
  */
37
48
  function verifyAdonisProject() {
38
- const acePath = path.join(process.cwd(), "ace");
39
- const aceJsPath = path.join(process.cwd(), "ace.js");
49
+ const cwd = getProjectCwd();
50
+ const acePath = path.join(cwd, "ace");
51
+ const aceJsPath = path.join(cwd, "ace.js");
40
52
  if (!fs.existsSync(acePath) && !fs.existsSync(aceJsPath)) {
41
- throw new Error(`AdonisJS 'ace' entry point not found in current directory (${process.cwd()}).\n` +
42
- `Please ensure the MCP server is running in the root of your AdonisJS project.`);
53
+ throw new Error(`AdonisJS 'ace' entry point not found in directory (${cwd}).\n` +
54
+ `Please use the set_project_cwd tool to set the path to your AdonisJS project, ` +
55
+ `or configure the 'cwd' environment variable.`);
43
56
  }
44
57
  }
45
58
  /**
@@ -54,7 +67,7 @@ function executeAceCommand(command, args = []) {
54
67
  const fullCommand = `node ace ${command} ${args.join(" ")}`.trim();
55
68
  try {
56
69
  const output = execSync(fullCommand, {
57
- cwd: process.cwd(),
70
+ cwd: getProjectCwd(),
58
71
  encoding: "utf-8",
59
72
  timeout: 30_000,
60
73
  stdio: ["pipe", "pipe", "pipe"],
@@ -123,6 +136,9 @@ const MigrationRollbackArgsSchema = z.object({
123
136
  const DbSeedArgsSchema = z.object({
124
137
  files: z.string().optional().describe("Specific seeder file to run (e.g., 'database/seeders/user_seeder')"),
125
138
  });
139
+ const SetProjectCwdArgsSchema = z.object({
140
+ path: z.string().describe("Absolute path to the AdonisJS project root directory"),
141
+ });
126
142
  const RunAceCommandArgsSchema = z.object({
127
143
  command: z.string().describe("The Ace command to run (e.g., 'make:model')"),
128
144
  args: z.array(z.string()).optional().default([]).describe("Arguments to pass to the command"),
@@ -229,6 +245,17 @@ const TOOLS = [
229
245
  description: "Lists all registered routes using 'node ace list:routes'",
230
246
  inputSchema: { type: "object", properties: {} },
231
247
  },
248
+ {
249
+ name: "set_project_cwd",
250
+ description: "Sets the working directory for all subsequent Ace commands. Call this first if the server cannot find the AdonisJS project. The path must point to a directory containing the 'ace' file.",
251
+ inputSchema: {
252
+ type: "object",
253
+ properties: {
254
+ path: { type: "string", description: "Absolute path to the AdonisJS project root directory" },
255
+ },
256
+ required: ["path"],
257
+ },
258
+ },
232
259
  {
233
260
  name: "run_ace_command",
234
261
  description: "Executes any AdonisJS Ace command with security checks. Use this for commands without a dedicated tool. Blacklisted: " + BLACKLISTED_COMMANDS.join(", "),
@@ -243,7 +270,7 @@ const TOOLS = [
243
270
  },
244
271
  ];
245
272
  // ─── Server Setup ────────────────────────────────────────────────────────────
246
- const server = new Server({ name: "adonisjs-mcp-server", version: "1.1.0" }, { capabilities: { tools: {} } });
273
+ const server = new Server({ name: "adonisjs-mcp-server", version: PKG_VERSION }, { capabilities: { tools: {} } });
247
274
  server.setRequestHandler(ListToolsRequestSchema, async () => {
248
275
  return { tools: TOOLS };
249
276
  });
@@ -358,6 +385,19 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
358
385
  const output = executeAceCommand("list:routes");
359
386
  return { content: [{ type: "text", text: `Routes:\n${output}` }] };
360
387
  }
388
+ case "set_project_cwd": {
389
+ const parsed = SetProjectCwdArgsSchema.parse(args);
390
+ const targetPath = path.resolve(parsed.path);
391
+ if (!fs.existsSync(targetPath)) {
392
+ throw new Error(`Directory not found: ${targetPath}`);
393
+ }
394
+ const hasAce = fs.existsSync(path.join(targetPath, "ace")) || fs.existsSync(path.join(targetPath, "ace.js"));
395
+ if (!hasAce) {
396
+ throw new Error(`No 'ace' entry point found in ${targetPath}. Is this an AdonisJS project?`);
397
+ }
398
+ projectCwd = targetPath;
399
+ return { content: [{ type: "text", text: `Project directory set to: ${targetPath}` }] };
400
+ }
361
401
  case "run_ace_command": {
362
402
  const parsed = RunAceCommandArgsSchema.parse(args);
363
403
  const output = executeAceCommand(parsed.command, parsed.args);
@@ -379,11 +419,12 @@ async function main() {
379
419
  const targetCwd = process.env.cwd || process.env.CWD;
380
420
  if (targetCwd) {
381
421
  try {
382
- process.chdir(targetCwd);
383
- console.error(`Changed working directory to: ${targetCwd}`);
422
+ const resolved = path.resolve(targetCwd);
423
+ projectCwd = resolved;
424
+ console.error(`Project directory set to: ${resolved}`);
384
425
  }
385
426
  catch (err) {
386
- console.error(`Failed to change working directory to ${targetCwd}:`, err);
427
+ console.error(`Failed to set project directory to ${targetCwd}:`, err);
387
428
  }
388
429
  }
389
430
  const transport = new StdioServerTransport();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACH,qBAAqB,EACrB,sBAAsB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,oBAAoB,GAAG;IACzB,iBAAiB;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAE9C;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAc;IACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACX,qBAAqB,GAAG,8CAA8C,CACzE,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,OAAe;IAClC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACX,8DAA8D,OAAO,CAAC,GAAG,EAAE,MAAM;YACjF,+EAA+E,CAClF,CAAC;IACN,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe,EAAE,OAAiB,EAAE;IAC3D,mBAAmB,EAAE,CAAC;IAEtB,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACX,YAAY,OAAO,4DAA4D,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnH,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,YAAY,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAEnE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACX,6BAA6B,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CACjF,CAAC;IACN,CAAC;AACL,CAAC;AAED,+EAA+E;AAE/E,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC7D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;CACtG,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAClF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC7G,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CACjF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC9E,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;CAC/F,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC/E,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACjF,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAC3G,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC9E,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;CACpF,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CACzF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CACzF,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CACjF,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CAC7F,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;CAC9G,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC3E,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAChG,CAAC,CAAC;AAUH,SAAS,cAAc,CAAC,IAAY,EAAE,WAAmB,EAAE,SAAiB;IACxE,OAAO;QACH,IAAI;QACJ,WAAW;QACX,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;aACnD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB;KACJ,CAAC;AACN,CAAC;AAED,MAAM,KAAK,GAAc;IACrB;QACI,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBACzE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE,OAAO,EAAE,KAAK,EAAE;aACxG;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB;KACJ;IACD,cAAc,CAAC,cAAc,EAAE,2DAA2D,EAAE,qBAAqB,CAAC;IAClH;QACI,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kHAAkH;QAC/H,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;gBAC9F,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,+CAA+C,EAAE,OAAO,EAAE,KAAK,EAAE;aAC/G;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB;KACJ;IACD,cAAc,CAAC,YAAY,EAAE,6DAA6D,EAAE,qCAAqC,CAAC;IAClI,cAAc,CAAC,gBAAgB,EAAE,sEAAsE,EAAE,yCAAyC,CAAC;IACnJ,cAAc,CAAC,aAAa,EAAE,kEAAkE,EAAE,sCAAsC,CAAC;IACzI,cAAc,CAAC,gBAAgB,EAAE,sEAAsE,EAAE,uDAAuD,CAAC;IACjK,cAAc,CAAC,iBAAiB,EAAE,iEAAiE,EAAE,uCAAuC,CAAC;IAC7I;QACI,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBAC9E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE;aAChG;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB;KACJ;IACD,cAAc,CAAC,cAAc,EAAE,6DAA6D,EAAE,oCAAoC,CAAC;IACnI,cAAc,CAAC,aAAa,EAAE,uDAAuD,EAAE,sCAAsC,CAAC;IAC9H,cAAc,CAAC,YAAY,EAAE,uDAAuD,EAAE,4CAA4C,CAAC;IACnI,cAAc,CAAC,eAAe,EAAE,mEAAmE,EAAE,iDAAiD,CAAC;IACvJ,cAAc,CAAC,aAAa,EAAE,yDAAyD,EAAE,iDAAiD,CAAC;IAC3I,cAAc,CAAC,cAAc,EAAE,+DAA+D,EAAE,yCAAyC,CAAC;IAC1I;QACI,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qGAAqG;QAClH,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,KAAK,EAAE;aACrF;SACJ;KACJ;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,6EAA6E;QAC1F,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;aAC9F;SACJ;KACJ;IACD;QACI,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sEAAsE;QACnF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAClD;IACD;QACI,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oEAAoE,EAAE;aAC/G;SACJ;KACJ;IACD;QACI,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAClD;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,uHAAuH,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QACtK,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBAClE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE;aACpG;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACxB;KACJ;CACJ,CAAC;AAEF,gFAAgF;AAEhF,MAAM,MAAM,GAAG,IAAI,MAAM,CACrB,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,EACjD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAClC,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACxD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9D,IAAI,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9E,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAC7D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAChG,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7F,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/F,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3F,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/F,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC5F,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/F,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qCAAqC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAChG,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,MAAM,CAAC,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1F,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7F,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC5F,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gCAAgC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3F,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC9F,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC5F,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7F,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC3D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACjG,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBACxB,MAAM,MAAM,GAAG,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,MAAM,MAAM,GAAG,iBAAiB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;gBAChE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACnF,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;gBACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACjF,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAClF,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACvE,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC9F,CAAC;YAED;gBACI,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO;YACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAEhF,KAAK,UAAU,IAAI;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IACrD,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mkrlbs/mcp-adonisjs",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "MCP server for executing AdonisJS Ace commands",
5
5
  "type": "module",
6
6
  "bin": {
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
4
  import {
@@ -8,6 +9,19 @@ import { z } from "zod";
8
9
  import { execSync } from "child_process";
9
10
  import fs from "fs";
10
11
  import path from "path";
12
+ import { createRequire } from "module";
13
+
14
+ const require = createRequire(import.meta.url);
15
+ const { version: PKG_VERSION } = require("../package.json");
16
+
17
+ /**
18
+ * Project working directory — set via env, set_project_cwd tool, or defaults to process.cwd()
19
+ */
20
+ let projectCwd: string = process.cwd();
21
+
22
+ function getProjectCwd(): string {
23
+ return projectCwd;
24
+ }
11
25
 
12
26
  /**
13
27
  * Blacklisted commands that are considered dangerous
@@ -45,13 +59,15 @@ function isBlacklisted(command: string): boolean {
45
59
  * Verify that we are in an AdonisJS project
46
60
  */
47
61
  function verifyAdonisProject(): void {
48
- const acePath = path.join(process.cwd(), "ace");
49
- const aceJsPath = path.join(process.cwd(), "ace.js");
62
+ const cwd = getProjectCwd();
63
+ const acePath = path.join(cwd, "ace");
64
+ const aceJsPath = path.join(cwd, "ace.js");
50
65
 
51
66
  if (!fs.existsSync(acePath) && !fs.existsSync(aceJsPath)) {
52
67
  throw new Error(
53
- `AdonisJS 'ace' entry point not found in current directory (${process.cwd()}).\n` +
54
- `Please ensure the MCP server is running in the root of your AdonisJS project.`
68
+ `AdonisJS 'ace' entry point not found in directory (${cwd}).\n` +
69
+ `Please use the set_project_cwd tool to set the path to your AdonisJS project, ` +
70
+ `or configure the 'cwd' environment variable.`
55
71
  );
56
72
  }
57
73
  }
@@ -74,7 +90,7 @@ function executeAceCommand(command: string, args: string[] = []): string {
74
90
 
75
91
  try {
76
92
  const output = execSync(fullCommand, {
77
- cwd: process.cwd(),
93
+ cwd: getProjectCwd(),
78
94
  encoding: "utf-8",
79
95
  timeout: 30_000,
80
96
  stdio: ["pipe", "pipe", "pipe"],
@@ -164,6 +180,10 @@ const DbSeedArgsSchema = z.object({
164
180
  files: z.string().optional().describe("Specific seeder file to run (e.g., 'database/seeders/user_seeder')"),
165
181
  });
166
182
 
183
+ const SetProjectCwdArgsSchema = z.object({
184
+ path: z.string().describe("Absolute path to the AdonisJS project root directory"),
185
+ });
186
+
167
187
  const RunAceCommandArgsSchema = z.object({
168
188
  command: z.string().describe("The Ace command to run (e.g., 'make:model')"),
169
189
  args: z.array(z.string()).optional().default([]).describe("Arguments to pass to the command"),
@@ -280,6 +300,17 @@ const TOOLS: ToolDef[] = [
280
300
  description: "Lists all registered routes using 'node ace list:routes'",
281
301
  inputSchema: { type: "object", properties: {} },
282
302
  },
303
+ {
304
+ name: "set_project_cwd",
305
+ description: "Sets the working directory for all subsequent Ace commands. Call this first if the server cannot find the AdonisJS project. The path must point to a directory containing the 'ace' file.",
306
+ inputSchema: {
307
+ type: "object",
308
+ properties: {
309
+ path: { type: "string", description: "Absolute path to the AdonisJS project root directory" },
310
+ },
311
+ required: ["path"],
312
+ },
313
+ },
283
314
  {
284
315
  name: "run_ace_command",
285
316
  description: "Executes any AdonisJS Ace command with security checks. Use this for commands without a dedicated tool. Blacklisted: " + BLACKLISTED_COMMANDS.join(", "),
@@ -297,7 +328,7 @@ const TOOLS: ToolDef[] = [
297
328
  // ─── Server Setup ────────────────────────────────────────────────────────────
298
329
 
299
330
  const server = new Server(
300
- { name: "adonisjs-mcp-server", version: "1.1.0" },
331
+ { name: "adonisjs-mcp-server", version: PKG_VERSION },
301
332
  { capabilities: { tools: {} } }
302
333
  );
303
334
 
@@ -437,6 +468,20 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
437
468
  return { content: [{ type: "text", text: `Routes:\n${output}` }] };
438
469
  }
439
470
 
471
+ case "set_project_cwd": {
472
+ const parsed = SetProjectCwdArgsSchema.parse(args);
473
+ const targetPath = path.resolve(parsed.path);
474
+ if (!fs.existsSync(targetPath)) {
475
+ throw new Error(`Directory not found: ${targetPath}`);
476
+ }
477
+ const hasAce = fs.existsSync(path.join(targetPath, "ace")) || fs.existsSync(path.join(targetPath, "ace.js"));
478
+ if (!hasAce) {
479
+ throw new Error(`No 'ace' entry point found in ${targetPath}. Is this an AdonisJS project?`);
480
+ }
481
+ projectCwd = targetPath;
482
+ return { content: [{ type: "text", text: `Project directory set to: ${targetPath}` }] };
483
+ }
484
+
440
485
  case "run_ace_command": {
441
486
  const parsed = RunAceCommandArgsSchema.parse(args);
442
487
  const output = executeAceCommand(parsed.command, parsed.args);
@@ -460,10 +505,11 @@ async function main() {
460
505
  const targetCwd = process.env.cwd || process.env.CWD;
461
506
  if (targetCwd) {
462
507
  try {
463
- process.chdir(targetCwd);
464
- console.error(`Changed working directory to: ${targetCwd}`);
508
+ const resolved = path.resolve(targetCwd);
509
+ projectCwd = resolved;
510
+ console.error(`Project directory set to: ${resolved}`);
465
511
  } catch (err) {
466
- console.error(`Failed to change working directory to ${targetCwd}:`, err);
512
+ console.error(`Failed to set project directory to ${targetCwd}:`, err);
467
513
  }
468
514
  }
469
515