@rebasepro/mcp-server 0.6.1 → 0.8.0

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
@@ -16,7 +16,15 @@ npx rebase-mcp
16
16
 
17
17
  ## What This Package Does
18
18
 
19
- `@rebasepro/mcp-server` implements the [Model Context Protocol](https://modelcontextprotocol.io) over stdio, allowing AI assistants (Gemini, Claude, Cursor, etc.) to interact with a Rebase project. It provides 20 tools across four categories and exposes collection definitions and generated schemas as MCP resources.
19
+ `@rebasepro/mcp-server` implements the [Model Context Protocol](https://modelcontextprotocol.io) over stdio, allowing AI assistants (Gemini, Claude, Cursor, etc.) to interact with a Rebase project. It provides tools and exposes collection definitions and generated schemas as MCP resources. It has native support for managing multiple local and remote projects.
20
+
21
+ ## Multi-Project Support
22
+
23
+ The MCP server supports managing multiple Rebase projects simultaneously. This is ideal when working in an IDE with multiple open workspaces or when interacting with both local development servers and remote staging/production environments.
24
+
25
+ - **Registry**: Project configurations are stored in `~/.rebase/projects.json`.
26
+ - **Auto-Discovery**: If `rebase dev` is running locally, the MCP server automatically discovers the active development port and service key from `.rebase/state.json` inside the project directory, giving you **zero-config local development**.
27
+ - **Default Project**: If no project registry exists, a default project named `default` is created using `REBASE_PROJECT_DIR` (or current working directory), `REBASE_BASE_URL`, and `REBASE_API_TOKEN`.
20
28
 
21
29
  ## Configuration
22
30
 
@@ -24,17 +32,32 @@ The server reads configuration from environment variables and `.env` files:
24
32
 
25
33
  | Variable | Default | Description |
26
34
  |---|---|---|
27
- | `REBASE_PROJECT_DIR` | `process.cwd()` | Project root directory |
28
- | `REBASE_BASE_URL` | `http://localhost:3001` | Rebase backend URL |
29
- | `REBASE_API_TOKEN` / `REBASE_TOKEN` | (empty) | Auth token for API calls |
35
+ | `REBASE_PROJECT_DIR` | `process.cwd()` | Project root directory (fallback if no registry) |
36
+ | `REBASE_BASE_URL` | `http://localhost:3001` | Rebase backend URL (fallback if no registry) |
37
+ | `REBASE_API_TOKEN` / `REBASE_TOKEN` | (empty) | Auth token for API calls (fallback if no registry) |
30
38
 
31
39
  The server attempts to load `.env` from `$REBASE_PROJECT_DIR/.env` or `$REBASE_PROJECT_DIR/app/.env`.
32
40
 
41
+ ---
42
+
33
43
  ## Tools
34
44
 
45
+ ### Project Management Tools (6) [NEW]
46
+
47
+ Manage multiple local projects or remote environments.
48
+
49
+ | Tool | Required Args | Description |
50
+ |---|---|---|
51
+ | `rebase_project_list` | (none) | List all registered projects and show which one is currently active |
52
+ | `rebase_project_switch` | `name` | Switch the active project to another registered project |
53
+ | `rebase_project_add` | `name` | Register a new project (requires `baseUrl` and optional `projectDir`, `token`/`serviceKey`) |
54
+ | `rebase_project_remove` | `name` | Remove a project from the registry (cannot remove the default project) |
55
+ | `rebase_project_current` | (none) | Show details of the active project (name, directory, base URL, auth token status) |
56
+ | `rebase_project_status` | (none) | Perform a health check on the active project's backend URL |
57
+
35
58
  ### CLI Tools (6)
36
59
 
37
- Spawn `npx rebase <command>` in the project directory.
60
+ Spawn `npx rebase <command>` in the active project directory.
38
61
 
39
62
  | Tool | Description |
40
63
  |---|---|
@@ -47,7 +70,7 @@ Spawn `npx rebase <command>` in the project directory.
47
70
 
48
71
  ### Data Tools (5)
49
72
 
50
- CRUD operations via `@rebasepro/client`.
73
+ CRUD operations via `@rebasepro/client` on the active project.
51
74
 
52
75
  | Tool | Required Args | Description |
53
76
  |---|---|---|
@@ -57,7 +80,7 @@ CRUD operations via `@rebasepro/client`.
57
80
  | `update_document` | `collection`, `id`, `data` | Update existing document |
58
81
  | `delete_document` | `collection`, `id` | Delete a document |
59
82
 
60
- ### Admin Tools (5)
83
+ ### Admin Tools (6)
61
84
 
62
85
  User and role management.
63
86
 
@@ -68,6 +91,10 @@ User and role management.
68
91
  | `update_user` | `userId` | Update user (optional: `email`, `displayName`, `roles`) |
69
92
  | `delete_user` | `userId` | Delete a user |
70
93
  | `list_roles` | (none) | List all defined roles |
94
+ | `rebase_auth_reset_password` | `email` | Reset a user's password using the admin API (optional: `password`) |
95
+
96
+ > [!NOTE]
97
+ > `rebase_auth_reset_password` now calls the running admin endpoint instead of performing direct database queries. This makes it compatible with both local development and remote servers.
71
98
 
72
99
  ### Dev Server Tools (3)
73
100
 
@@ -79,6 +106,8 @@ Manage the local development server.
79
106
  | `rebase_dev_logs` | Read recent output (default: 50 lines, max buffer: 500) |
80
107
  | `rebase_dev_stop` | Send SIGTERM to the dev server process |
81
108
 
109
+ ---
110
+
82
111
  ## Resources
83
112
 
84
113
  The server exposes MCP resources for AI context:
@@ -88,7 +117,7 @@ The server exposes MCP resources for AI context:
88
117
  | `rebase://collections/{name}` | TypeScript source of a collection definition |
89
118
  | `rebase://schema` | Generated Drizzle schema (`schema.generated.ts`) |
90
119
 
91
- Collection files are discovered from `app/config/collections/`, `config/collections/`, or `collections/` under the project directory.
120
+ Collection files are discovered from `app/config/collections/`, `config/collections/`, or `collections/` under the active project directory.
92
121
 
93
122
  ## Quick Start
94
123
 
@@ -111,3 +140,4 @@ Add to your AI assistant's MCP config (e.g. `.gemini/settings.json`):
111
140
  ## Related Packages
112
141
 
113
142
  - `@rebasepro/client` — Used internally for data and admin API calls
143
+
package/dist/index.d.ts CHANGED
@@ -15,6 +15,18 @@ export declare function getRunCommand(pm: PackageManager): {
15
15
  command: string;
16
16
  args: string[];
17
17
  };
18
+ /** Configuration for a single Rebase project. */
19
+ export interface ProjectConfig {
20
+ name: string;
21
+ /** Absolute path to the project directory (for local projects). */
22
+ projectDir?: string;
23
+ /** Backend URL (e.g. http://localhost:3001 or https://staging.myapp.com). */
24
+ baseUrl: string;
25
+ /** Auth token — a service key, API key, or JWT. */
26
+ token: string;
27
+ /** ISO timestamp when the project was registered. */
28
+ addedAt: string;
29
+ }
18
30
  export declare const server: Server<{
19
31
  method: string;
20
32
  params?: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAenE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAevE;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAStF;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CASrF;AAgGD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKlB,CAAC;AAIF,UAAU,OAAO;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACL;AA0YD,eAAO,MAAM,SAAS,EAAE,OAAO,EAQ9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAgBnE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAevE;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAStF;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CASrF;AAcD,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACnB;AA2QD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKlB,CAAC;AAIF,UAAU,OAAO;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACL;AA+bD,eAAO,MAAM,SAAS,EAAE,OAAO,EAS9B,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,8 @@ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSche
4
4
  import { spawn } from "node:child_process";
5
5
  import { config as loadDotenv } from "dotenv";
6
6
  import { resolve } from "node:path";
7
- import { existsSync, readFileSync, readdirSync } from "node:fs";
7
+ import { existsSync, readFileSync, readdirSync, writeFileSync, mkdirSync } from "node:fs";
8
+ import { homedir } from "node:os";
8
9
  /**
9
10
  * Detect the project's package manager by checking for lock files.
10
11
  * Falls back to pnpm (Rebase's default) if no lock file is found.
@@ -58,30 +59,190 @@ async function loadClientSdk() {
58
59
  const mod = await import(/* webpackIgnore: true */ CLIENT_PKG);
59
60
  return mod.createRebaseClient;
60
61
  }
61
- // ── Environment ─────────────────────────────────────────────────────────────
62
- const PROJECT_DIR = process.env.REBASE_PROJECT_DIR || process.cwd();
62
+ /** Path to the project registry file. */
63
+ const REGISTRY_PATH = resolve(homedir(), ".rebase", "projects.json");
64
+ /** In-memory project registry. */
65
+ let registry = { projects: {}, activeProject: null };
66
+ /**
67
+ * Load the project registry from disk. Creates the file if it doesn't exist.
68
+ */
69
+ function loadRegistry() {
70
+ try {
71
+ if (existsSync(REGISTRY_PATH)) {
72
+ const raw = readFileSync(REGISTRY_PATH, "utf-8");
73
+ const parsed = JSON.parse(raw);
74
+ return {
75
+ projects: parsed.projects || {},
76
+ activeProject: parsed.activeProject || null
77
+ };
78
+ }
79
+ }
80
+ catch {
81
+ // Corrupted file — start fresh
82
+ }
83
+ return { projects: {}, activeProject: null };
84
+ }
85
+ /**
86
+ * Save the project registry to disk.
87
+ */
88
+ function saveRegistry() {
89
+ try {
90
+ const dir = resolve(homedir(), ".rebase");
91
+ if (!existsSync(dir)) {
92
+ mkdirSync(dir, { recursive: true });
93
+ }
94
+ writeFileSync(REGISTRY_PATH, JSON.stringify(registry, null, 2), "utf-8");
95
+ }
96
+ catch {
97
+ // Non-fatal — registry won't persist across restarts
98
+ }
99
+ }
100
+ /**
101
+ * Read `.rebase/state.json` from a project directory to auto-discover
102
+ * a running dev server's URL and service key.
103
+ */
104
+ function readDevState(projectDir) {
105
+ try {
106
+ const statePath = resolve(projectDir, ".rebase", "state.json");
107
+ if (!existsSync(statePath))
108
+ return null;
109
+ const raw = readFileSync(statePath, "utf-8");
110
+ const state = JSON.parse(raw);
111
+ if (!state.baseUrl)
112
+ return null;
113
+ // Verify the process is still running (liveness check)
114
+ if (state.pid) {
115
+ try {
116
+ process.kill(state.pid, 0); // signal 0 = check existence
117
+ }
118
+ catch {
119
+ return null; // process is dead — stale state file
120
+ }
121
+ }
122
+ return {
123
+ baseUrl: state.baseUrl,
124
+ serviceKey: state.serviceKey,
125
+ pid: state.pid
126
+ };
127
+ }
128
+ catch {
129
+ return null;
130
+ }
131
+ }
132
+ /**
133
+ * Try to auto-discover the backend from `.rebase/state.json` in the project dir.
134
+ * Updates the project config in the registry if a running server is found.
135
+ */
136
+ function autoDiscoverLocal(project) {
137
+ if (!project.projectDir)
138
+ return project;
139
+ const devState = readDevState(project.projectDir);
140
+ if (devState) {
141
+ return {
142
+ ...project,
143
+ baseUrl: devState.baseUrl,
144
+ token: devState.serviceKey || project.token
145
+ };
146
+ }
147
+ return project;
148
+ }
149
+ /**
150
+ * Read `.env` from a project directory and extract REBASE_SERVICE_KEY.
151
+ */
152
+ function readServiceKeyFromEnv(projectDir) {
153
+ for (const envPath of [
154
+ resolve(projectDir, ".env"),
155
+ resolve(projectDir, "app", ".env")
156
+ ]) {
157
+ try {
158
+ if (!existsSync(envPath))
159
+ continue;
160
+ const content = readFileSync(envPath, "utf-8");
161
+ const match = content.match(/^REBASE_SERVICE_KEY\s*=\s*["']?([^"'\n\r]+)["']?/m);
162
+ if (match?.[1] && match[1].trim().length >= 32) {
163
+ return match[1].trim();
164
+ }
165
+ }
166
+ catch {
167
+ // ignore
168
+ }
169
+ }
170
+ return undefined;
171
+ }
172
+ // ── Environment & Initialization ────────────────────────────────────────────
173
+ const ENV_PROJECT_DIR = process.env.REBASE_PROJECT_DIR || process.cwd();
63
174
  // Try to load .env from the project directory
64
175
  for (const envPath of [
65
- resolve(PROJECT_DIR, ".env"),
66
- resolve(PROJECT_DIR, "app", ".env")
176
+ resolve(ENV_PROJECT_DIR, ".env"),
177
+ resolve(ENV_PROJECT_DIR, "app", ".env")
67
178
  ]) {
68
179
  if (existsSync(envPath)) {
69
180
  loadDotenv({ path: envPath });
70
181
  break;
71
182
  }
72
183
  }
73
- const BASE_URL = process.env.REBASE_BASE_URL || "http://localhost:3001";
74
- const API_TOKEN = process.env.REBASE_API_TOKEN || process.env.REBASE_TOKEN || "";
75
- let _client = null;
76
- async function getClient() {
77
- if (!_client) {
78
- const createRebaseClient = await loadClientSdk();
79
- _client = createRebaseClient({
80
- baseUrl: BASE_URL,
81
- token: API_TOKEN || undefined
82
- });
184
+ const ENV_BASE_URL = process.env.REBASE_BASE_URL || "";
185
+ const ENV_API_TOKEN = process.env.REBASE_API_TOKEN || process.env.REBASE_TOKEN || "";
186
+ /**
187
+ * Initialize the project registry.
188
+ *
189
+ * Priority:
190
+ * 1. REBASE_PROJECT_DIR env → single-project mode (backward-compatible)
191
+ * 2. Load ~/.rebase/projects.json
192
+ * 3. Auto-discover from .rebase/state.json in the project dir
193
+ */
194
+ function initializeRegistry() {
195
+ registry = loadRegistry();
196
+ // Ensure a "default" project exists from env vars or CWD
197
+ if (!registry.projects["default"]) {
198
+ const devState = readDevState(ENV_PROJECT_DIR);
199
+ const envServiceKey = readServiceKeyFromEnv(ENV_PROJECT_DIR);
200
+ registry.projects["default"] = {
201
+ name: "default",
202
+ projectDir: ENV_PROJECT_DIR,
203
+ baseUrl: ENV_BASE_URL || devState?.baseUrl || "http://localhost:3001",
204
+ token: ENV_API_TOKEN || devState?.serviceKey || envServiceKey || "",
205
+ addedAt: new Date().toISOString()
206
+ };
207
+ }
208
+ if (!registry.activeProject || !registry.projects[registry.activeProject]) {
209
+ registry.activeProject = "default";
210
+ }
211
+ }
212
+ initializeRegistry();
213
+ /** Client instances keyed by project name. */
214
+ const clientCache = new Map();
215
+ /** Get the active project config, with auto-discovery applied. */
216
+ function getActiveProject() {
217
+ const name = registry.activeProject || "default";
218
+ const project = registry.projects[name];
219
+ if (!project) {
220
+ throw new Error(`No active project configured. Use rebase_project_add to register one.`);
83
221
  }
84
- return _client;
222
+ return autoDiscoverLocal(project);
223
+ }
224
+ /** Get the project directory for the active project. */
225
+ function getProjectDir() {
226
+ const project = getActiveProject();
227
+ return project.projectDir || ENV_PROJECT_DIR;
228
+ }
229
+ async function getClient() {
230
+ const project = getActiveProject();
231
+ const cacheKey = `${project.name}::${project.baseUrl}::${project.token}`;
232
+ const cached = clientCache.get(cacheKey);
233
+ if (cached)
234
+ return cached;
235
+ const createRebaseClient = await loadClientSdk();
236
+ const client = createRebaseClient({
237
+ baseUrl: project.baseUrl,
238
+ token: project.token || undefined
239
+ });
240
+ clientCache.set(cacheKey, client);
241
+ return client;
242
+ }
243
+ /** Clear cached clients (used when switching projects). */
244
+ function clearClientCache() {
245
+ clientCache.clear();
85
246
  }
86
247
  async function ensureAdmin() {
87
248
  const client = await getClient();
@@ -92,12 +253,13 @@ async function ensureAdmin() {
92
253
  }
93
254
  }
94
255
  catch (err) {
95
- throw new Error(`Admin authorization failed: ${err.message}`);
256
+ const msg = err instanceof Error ? err.message : String(err);
257
+ throw new Error(`Admin authorization failed: ${msg}`);
96
258
  }
97
259
  }
98
260
  // ── MCP Server ──────────────────────────────────────────────────────────────
99
261
  export const server = new Server({ name: "rebase-mcp-server",
100
- version: "0.0.1" }, { capabilities: { tools: {},
262
+ version: "0.1.0" }, { capabilities: { tools: {},
101
263
  resources: {} } });
102
264
  const CLI_TOOLS = [
103
265
  {
@@ -148,19 +310,6 @@ const CLI_TOOLS = [
148
310
  inputSchema: { type: "object", properties: {} },
149
311
  cmd: ["doctor"]
150
312
  },
151
- {
152
- name: "rebase_auth_reset_password",
153
- description: "Reset a user's password in the Rebase project.",
154
- inputSchema: {
155
- type: "object",
156
- properties: {
157
- email: { type: "string", description: "Email of the user to reset" },
158
- password: { type: "string", description: "New password to set (defaults to 'NewPassword123!')" }
159
- },
160
- required: ["email"]
161
- },
162
- cmd: ["auth", "reset-password"]
163
- },
164
313
  {
165
314
  name: "rebase_db_branch_create",
166
315
  description: "Create a new database branch (Admins only).",
@@ -223,7 +372,7 @@ const DATA_TOOLS = [
223
372
  where: {
224
373
  type: "object",
225
374
  description: "Filter object, e.g. { \"status\": \"eq.active\", \"price\": \"gte.100\" }",
226
- additionalProperties: { type: "string" }
375
+ additionalProperties: true
227
376
  }
228
377
  },
229
378
  required: ["collection"]
@@ -252,7 +401,7 @@ const DATA_TOOLS = [
252
401
  collection: { type: "string",
253
402
  description: "Collection slug" },
254
403
  data: { type: "object",
255
- description: "Document fields",
404
+ description: "Document data",
256
405
  additionalProperties: true }
257
406
  },
258
407
  required: ["collection", "data"]
@@ -349,6 +498,18 @@ const ADMIN_TOOLS = [
349
498
  description: "List all roles defined in the Rebase backend.",
350
499
  inputSchema: { type: "object",
351
500
  properties: {} }
501
+ },
502
+ {
503
+ name: "rebase_auth_reset_password",
504
+ description: "Reset a user's password via the admin API. Looks up the user by email, then resets their password. Returns a temporary password if email is not configured, or sends a reset email.",
505
+ inputSchema: {
506
+ type: "object",
507
+ properties: {
508
+ email: { type: "string", description: "Email of the user to reset" },
509
+ password: { type: "string", description: "New password to set (optional — if omitted, a secure temporary password is generated)" }
510
+ },
511
+ required: ["email"]
512
+ }
352
513
  }
353
514
  ];
354
515
  const DEV_TOOLS = [
@@ -484,6 +645,59 @@ const FUNCTION_TOOLS = [
484
645
  }
485
646
  }
486
647
  ];
648
+ const PROJECT_TOOLS = [
649
+ {
650
+ name: "rebase_project_list",
651
+ description: "List all registered Rebase projects and show which one is active.",
652
+ inputSchema: { type: "object", properties: {} }
653
+ },
654
+ {
655
+ name: "rebase_project_switch",
656
+ description: "Switch the active Rebase project by name. All subsequent API calls will target this project.",
657
+ inputSchema: {
658
+ type: "object",
659
+ properties: {
660
+ name: { type: "string", description: "Name of the project to switch to" }
661
+ },
662
+ required: ["name"]
663
+ }
664
+ },
665
+ {
666
+ name: "rebase_project_add",
667
+ description: "Register a new Rebase project. For local projects, provide projectDir (auto-discovers URL and service key). For remote projects, provide baseUrl and token.",
668
+ inputSchema: {
669
+ type: "object",
670
+ properties: {
671
+ name: { type: "string", description: "Unique name for this project (e.g. 'my-app', 'staging')" },
672
+ projectDir: { type: "string", description: "Absolute path to the project directory (for local projects)" },
673
+ baseUrl: { type: "string", description: "Backend URL (e.g. https://staging.myapp.com)" },
674
+ token: { type: "string", description: "Auth token — service key or API key (for remote projects)" }
675
+ },
676
+ required: ["name"]
677
+ }
678
+ },
679
+ {
680
+ name: "rebase_project_remove",
681
+ description: "Remove a registered project from the project registry.",
682
+ inputSchema: {
683
+ type: "object",
684
+ properties: {
685
+ name: { type: "string", description: "Name of the project to remove" }
686
+ },
687
+ required: ["name"]
688
+ }
689
+ },
690
+ {
691
+ name: "rebase_project_current",
692
+ description: "Show details about the currently active Rebase project, including resolved URL and auth status.",
693
+ inputSchema: { type: "object", properties: {} }
694
+ },
695
+ {
696
+ name: "rebase_project_status",
697
+ description: "Health-check the active project's backend by calling GET /health.",
698
+ inputSchema: { type: "object", properties: {} }
699
+ }
700
+ ];
487
701
  export const ALL_TOOLS = [
488
702
  ...CLI_TOOLS.map(({ cmd: _c, ...rest }) => rest),
489
703
  ...DATA_TOOLS,
@@ -491,7 +705,8 @@ export const ALL_TOOLS = [
491
705
  ...DEV_TOOLS,
492
706
  ...STORAGE_TOOLS,
493
707
  ...CRON_TOOLS,
494
- ...FUNCTION_TOOLS
708
+ ...FUNCTION_TOOLS,
709
+ ...PROJECT_TOOLS
495
710
  ];
496
711
  // ── Tool Handlers ───────────────────────────────────────────────────────────
497
712
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
@@ -499,13 +714,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
499
714
  }));
500
715
  /** Spawn the rebase CLI using the project's detected package manager. */
501
716
  function runRebaseCmd(commandArgs) {
502
- const pm = detectPackageManager(PROJECT_DIR);
717
+ const projectDir = getProjectDir();
718
+ const pm = detectPackageManager(projectDir);
503
719
  const { command, args: execArgs } = getExecCommand(pm);
504
720
  return new Promise((resolve) => {
505
721
  const child = spawn(command, [...execArgs, "rebase", ...commandArgs], {
506
- cwd: PROJECT_DIR,
722
+ cwd: projectDir,
507
723
  shell: true,
508
- env: { ...process.env }
724
+ env: {
725
+ ...process.env,
726
+ PNPM_CONFIG_VERIFY_DEPS_BEFORE_RUN: "false"
727
+ }
509
728
  });
510
729
  const chunks = [];
511
730
  child.stdout?.on("data", (d) => chunks.push(d.toString()));
@@ -535,207 +754,377 @@ function jsonResult(data) {
535
754
  return textResult(JSON.stringify(data, null, 2));
536
755
  }
537
756
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
538
- const { name, arguments: args } = request.params;
539
- // ── CLI tools ───────────────────────────────────────────────────────
540
- const cliTool = CLI_TOOLS.find((t) => t.name === name);
541
- if (cliTool) {
542
- if (name.startsWith("rebase_db_branch_")) {
543
- await ensureAdmin();
544
- }
545
- let cmdArgs = [...cliTool.cmd];
546
- if (name === "rebase_auth_reset_password") {
547
- const argsObj = args;
548
- cmdArgs.push("--email", argsObj.email);
549
- if (argsObj.password) {
550
- cmdArgs.push("--password", argsObj.password);
757
+ try {
758
+ const { name, arguments: args } = request.params;
759
+ // ── CLI tools ───────────────────────────────────────────────────────
760
+ const cliTool = CLI_TOOLS.find((t) => t.name === name);
761
+ if (cliTool) {
762
+ if (name.startsWith("rebase_db_branch_")) {
763
+ await ensureAdmin();
551
764
  }
552
- }
553
- else if (name === "rebase_db_branch_create") {
554
- const argsObj = args;
555
- cmdArgs.push(argsObj.name);
556
- if (argsObj.from) {
557
- cmdArgs.push("--from", argsObj.from);
765
+ const cmdArgs = [...cliTool.cmd];
766
+ if (name === "rebase_db_branch_create") {
767
+ const argsObj = args;
768
+ cmdArgs.push(argsObj.name);
769
+ if (argsObj.from) {
770
+ cmdArgs.push("--from", argsObj.from);
771
+ }
558
772
  }
773
+ else if (name === "rebase_db_branch_delete" || name === "rebase_db_branch_info") {
774
+ const argsObj = args;
775
+ cmdArgs.push(argsObj.name);
776
+ }
777
+ const result = await runRebaseCmd(cmdArgs);
778
+ return textResult(result);
559
779
  }
560
- else if (name === "rebase_db_branch_delete" || name === "rebase_db_branch_info") {
561
- const argsObj = args;
562
- cmdArgs.push(argsObj.name);
563
- }
564
- const result = await runRebaseCmd(cmdArgs);
565
- return textResult(result);
566
- }
567
- // ── Data tools (via @rebasepro/client) ──────────────────────────────
568
- const client = await getClient();
569
- switch (name) {
570
- case "list_documents": {
571
- const argsObj = args;
572
- const { collection: slug, limit, offset, orderBy, where } = argsObj;
573
- const result = await client.data.collection(slug).find({
574
- limit,
575
- offset,
576
- orderBy,
577
- where
578
- });
579
- return jsonResult(result);
580
- }
581
- case "get_document": {
582
- const argsObj = args;
583
- const { collection: slug, id } = argsObj;
584
- const entity = await client.data.collection(slug).findById(id);
585
- if (!entity)
586
- return textResult(`Document ${id} not found in ${slug}`);
587
- return jsonResult(entity);
588
- }
589
- case "create_document": {
590
- const argsObj = args;
591
- const { collection: slug, data } = argsObj;
592
- const entity = await client.data.collection(slug).create(data);
593
- return jsonResult(entity);
594
- }
595
- case "update_document": {
596
- const argsObj = args;
597
- const { collection: slug, id, data } = argsObj;
598
- const entity = await client.data.collection(slug).update(id, data);
599
- return jsonResult(entity);
600
- }
601
- case "delete_document": {
602
- const argsObj = args;
603
- const { collection: slug, id } = argsObj;
604
- await client.data.collection(slug).delete(id);
605
- return textResult(`Deleted document ${id} from ${slug}`);
606
- }
607
- // ── Admin tools ────────────────────────────────────────────────────
608
- case "list_users": {
609
- const result = await client.admin.listUsers();
610
- return jsonResult(result);
611
- }
612
- case "create_user": {
613
- const argsObj = args;
614
- const { email, displayName, password, roles } = argsObj;
615
- const result = await client.admin.createUser({ email,
616
- displayName,
617
- password,
618
- roles });
619
- return jsonResult(result);
620
- }
621
- case "update_user": {
622
- const argsObj = args;
623
- const { userId, email, displayName, roles } = argsObj;
624
- const result = await client.admin.updateUser(userId, { email,
625
- displayName,
626
- roles });
627
- return jsonResult(result);
628
- }
629
- case "delete_user": {
630
- const argsObj = args;
631
- const { userId } = argsObj;
632
- const result = await client.admin.deleteUser(userId);
633
- return jsonResult(result);
634
- }
635
- case "list_roles": {
636
- const result = await client.admin.listRoles();
637
- return jsonResult(result);
638
- }
639
- // ── Storage Tools ──────────────────────────────────────────────────
640
- case "storage_list_objects": {
641
- const argsObj = args;
642
- const { prefix = "", bucket, maxResults, pageToken } = argsObj;
643
- const result = await client.storage.listObjects(prefix, { bucket, maxResults, pageToken });
644
- return jsonResult(result);
645
- }
646
- case "storage_delete_object": {
647
- const argsObj = args;
648
- const { key, bucket } = argsObj;
649
- await client.storage.deleteObject(key, bucket);
650
- return textResult(`Deleted object "${key}" successfully.`);
651
- }
652
- case "storage_get_metadata": {
653
- const argsObj = args;
654
- const { key, bucket } = argsObj;
655
- const result = await client.storage.getSignedUrl(key, bucket);
656
- return jsonResult(result);
657
- }
658
- // ── Cron Tools ─────────────────────────────────────────────────────
659
- case "cron_list_jobs": {
660
- const result = await client.cron.listJobs();
661
- return jsonResult(result);
662
- }
663
- case "cron_get_job": {
664
- const argsObj = args;
665
- const result = await client.cron.getJob(argsObj.jobId);
666
- return jsonResult(result);
667
- }
668
- case "cron_trigger_job": {
669
- const argsObj = args;
670
- const result = await client.cron.triggerJob(argsObj.jobId);
671
- return jsonResult(result);
672
- }
673
- case "cron_get_job_logs": {
674
- const argsObj = args;
675
- const result = await client.cron.getJobLogs(argsObj.jobId, { limit: argsObj.limit });
676
- return jsonResult(result);
677
- }
678
- case "cron_toggle_job": {
679
- const argsObj = args;
680
- const result = await client.cron.toggleJob(argsObj.jobId, argsObj.enabled);
681
- return jsonResult(result);
682
- }
683
- // ── Function Tools ─────────────────────────────────────────────────
684
- case "invoke_function": {
685
- const argsObj = args;
686
- const { name: funcName, payload, method, path: funcPath } = argsObj;
687
- const result = await client.functions.invoke(funcName, payload, { method, path: funcPath });
688
- return jsonResult(result);
689
- }
690
- // ── Dev server management ──────────────────────────────────────────
691
- case "rebase_dev_start": {
692
- if (devProcess && !devProcess.killed) {
693
- return textResult("Dev server is already running (PID " + devProcess.pid + ")");
694
- }
695
- devLogs.length = 0;
696
- const pm = detectPackageManager(PROJECT_DIR);
697
- const { command: runCmd, args: runArgs } = getRunCommand(pm);
698
- devProcess = spawn(runCmd, [...runArgs, "dev"], {
699
- cwd: resolve(PROJECT_DIR, "app"),
700
- shell: true,
701
- env: { ...process.env }
702
- });
703
- devProcess.stdout?.on("data", (d) => appendDevLog(d.toString()));
704
- devProcess.stderr?.on("data", (d) => appendDevLog(d.toString()));
705
- devProcess.on("close", (code) => {
706
- appendDevLog(`\n[dev server exited with code ${code}]`);
707
- devProcess = null;
708
- });
709
- // Wait a moment for initial output
710
- await new Promise((r) => setTimeout(r, 2000));
711
- return textResult(`Dev server started (PID ${devProcess?.pid})\n\n${devLogs.join("")}`);
712
- }
713
- case "rebase_dev_logs": {
714
- const argsObj = args;
715
- const lineCount = argsObj?.lines ?? 50;
716
- const recent = devLogs.slice(-lineCount);
717
- if (recent.length === 0) {
718
- return textResult(devProcess ? "No output captured yet." : "Dev server is not running.");
780
+ // ── Project management tools ────────────────────────────────────────
781
+ switch (name) {
782
+ case "rebase_project_list": {
783
+ const projects = Object.values(registry.projects).map((p) => ({
784
+ name: p.name,
785
+ projectDir: p.projectDir || null,
786
+ baseUrl: p.baseUrl,
787
+ hasToken: !!p.token,
788
+ active: p.name === registry.activeProject,
789
+ addedAt: p.addedAt
790
+ }));
791
+ return jsonResult({ projects, activeProject: registry.activeProject });
792
+ }
793
+ case "rebase_project_switch": {
794
+ const argsObj = args;
795
+ if (!registry.projects[argsObj.name]) {
796
+ return textResult(`Project "${argsObj.name}" not found. Available: ${Object.keys(registry.projects).join(", ")}`);
797
+ }
798
+ registry.activeProject = argsObj.name;
799
+ clearClientCache();
800
+ saveRegistry();
801
+ const project = getActiveProject();
802
+ return jsonResult({
803
+ message: `Switched to project "${argsObj.name}"`,
804
+ project: {
805
+ name: project.name,
806
+ baseUrl: project.baseUrl,
807
+ hasToken: !!project.token,
808
+ projectDir: project.projectDir || null
809
+ }
810
+ });
811
+ }
812
+ case "rebase_project_add": {
813
+ const argsObj = args;
814
+ const { name: projectName } = argsObj;
815
+ let baseUrl = argsObj.baseUrl || "";
816
+ let token = argsObj.token || "";
817
+ // Auto-discover from project dir if provided
818
+ if (argsObj.projectDir) {
819
+ const devState = readDevState(argsObj.projectDir);
820
+ if (devState) {
821
+ baseUrl = baseUrl || devState.baseUrl;
822
+ token = token || devState.serviceKey || "";
823
+ }
824
+ if (!token) {
825
+ const envKey = readServiceKeyFromEnv(argsObj.projectDir);
826
+ if (envKey)
827
+ token = envKey;
828
+ }
829
+ }
830
+ if (!baseUrl) {
831
+ return textResult("Error: Could not determine baseUrl. Provide --baseUrl or ensure the dev server is running in the project directory.");
832
+ }
833
+ registry.projects[projectName] = {
834
+ name: projectName,
835
+ projectDir: argsObj.projectDir,
836
+ baseUrl,
837
+ token,
838
+ addedAt: new Date().toISOString()
839
+ };
840
+ saveRegistry();
841
+ return jsonResult({
842
+ message: `Project "${projectName}" registered`,
843
+ project: {
844
+ name: projectName,
845
+ baseUrl,
846
+ hasToken: !!token,
847
+ projectDir: argsObj.projectDir || null
848
+ }
849
+ });
850
+ }
851
+ case "rebase_project_remove": {
852
+ const argsObj = args;
853
+ if (argsObj.name === "default") {
854
+ return textResult("Cannot remove the default project.");
855
+ }
856
+ if (!registry.projects[argsObj.name]) {
857
+ return textResult(`Project "${argsObj.name}" not found.`);
858
+ }
859
+ delete registry.projects[argsObj.name];
860
+ if (registry.activeProject === argsObj.name) {
861
+ registry.activeProject = "default";
862
+ clearClientCache();
863
+ }
864
+ saveRegistry();
865
+ return textResult(`Project "${argsObj.name}" removed.`);
866
+ }
867
+ case "rebase_project_current": {
868
+ const project = getActiveProject();
869
+ return jsonResult({
870
+ name: project.name,
871
+ projectDir: project.projectDir || null,
872
+ baseUrl: project.baseUrl,
873
+ hasToken: !!project.token,
874
+ tokenPrefix: project.token ? project.token.substring(0, 8) + "..." : null,
875
+ addedAt: project.addedAt
876
+ });
877
+ }
878
+ case "rebase_project_status": {
879
+ const project = getActiveProject();
880
+ try {
881
+ // Try `/health` first (standard Rebase backend), fall back to `/api/health` if it 404s
882
+ let res = await fetch(`${project.baseUrl}/health`);
883
+ if (res.status === 404) {
884
+ const fallbackRes = await fetch(`${project.baseUrl}/api/health`);
885
+ if (fallbackRes.status !== 404) {
886
+ res = fallbackRes;
887
+ }
888
+ }
889
+ let body = {};
890
+ const contentType = res.headers.get("content-type");
891
+ if (contentType && contentType.includes("application/json")) {
892
+ try {
893
+ body = await res.json();
894
+ }
895
+ catch {
896
+ // ignore
897
+ }
898
+ }
899
+ else {
900
+ body = { responseText: await res.text().catch(() => "") };
901
+ }
902
+ return jsonResult({
903
+ project: project.name,
904
+ baseUrl: project.baseUrl,
905
+ status: res.ok ? "healthy" : "unhealthy",
906
+ httpStatus: res.status,
907
+ ...body
908
+ });
909
+ }
910
+ catch (err) {
911
+ const msg = err instanceof Error ? err.message : String(err);
912
+ return jsonResult({
913
+ project: project.name,
914
+ baseUrl: project.baseUrl,
915
+ status: "unreachable",
916
+ error: msg
917
+ });
918
+ }
719
919
  }
720
- return textResult(recent.join(""));
721
920
  }
722
- case "rebase_dev_stop": {
723
- if (!devProcess || devProcess.killed) {
724
- return textResult("Dev server is not running.");
921
+ // ── Data & admin tools (via @rebasepro/client) ──────────────────────
922
+ const client = await getClient();
923
+ switch (name) {
924
+ case "list_documents": {
925
+ const argsObj = args;
926
+ const { collection: slug, limit, offset, orderBy, where } = argsObj;
927
+ const result = await client.data.collection(slug).find({
928
+ limit,
929
+ offset,
930
+ orderBy,
931
+ where
932
+ });
933
+ return jsonResult(result);
934
+ }
935
+ case "get_document": {
936
+ const argsObj = args;
937
+ const { collection: slug, id } = argsObj;
938
+ const entity = await client.data.collection(slug).findById(id);
939
+ if (!entity)
940
+ return textResult(`Document ${id} not found in ${slug}`);
941
+ return jsonResult(entity);
942
+ }
943
+ case "create_document": {
944
+ const argsObj = args;
945
+ const { collection: slug, data } = argsObj;
946
+ const entity = await client.data.collection(slug).create(data);
947
+ return jsonResult(entity);
948
+ }
949
+ case "update_document": {
950
+ const argsObj = args;
951
+ const { collection: slug, id, data } = argsObj;
952
+ const entity = await client.data.collection(slug).update(id, data);
953
+ return jsonResult(entity);
954
+ }
955
+ case "delete_document": {
956
+ const argsObj = args;
957
+ const { collection: slug, id } = argsObj;
958
+ await client.data.collection(slug).delete(id);
959
+ return textResult(`Deleted document ${id} from ${slug}`);
960
+ }
961
+ // ── Admin tools ────────────────────────────────────────────────────
962
+ case "list_users": {
963
+ const result = await client.admin.listUsers();
964
+ return jsonResult(result);
965
+ }
966
+ case "create_user": {
967
+ const argsObj = args;
968
+ const { email, displayName, password, roles } = argsObj;
969
+ const result = await client.admin.createUser({ email,
970
+ displayName,
971
+ password,
972
+ roles });
973
+ return jsonResult(result);
974
+ }
975
+ case "update_user": {
976
+ const argsObj = args;
977
+ const { userId, email, displayName, roles } = argsObj;
978
+ const result = await client.admin.updateUser(userId, { email,
979
+ displayName,
980
+ roles });
981
+ return jsonResult(result);
982
+ }
983
+ case "delete_user": {
984
+ const argsObj = args;
985
+ const { userId } = argsObj;
986
+ const result = await client.admin.deleteUser(userId);
987
+ return jsonResult(result);
988
+ }
989
+ case "list_roles": {
990
+ const result = await client.admin.listRoles();
991
+ return jsonResult(result);
992
+ }
993
+ case "rebase_auth_reset_password": {
994
+ const argsObj = args;
995
+ const { email, password } = argsObj;
996
+ // Step 1: Find user by email
997
+ const usersResult = await client.admin.listUsersPaginated({ search: email, limit: 1 });
998
+ const user = usersResult.users.find((u) => u.email === email);
999
+ if (!user) {
1000
+ return textResult(`User with email "${email}" not found.`);
1001
+ }
1002
+ const userId = user.uid || user.id;
1003
+ if (!userId) {
1004
+ return textResult(`Could not determine user ID for "${email}".`);
1005
+ }
1006
+ // Step 2: Reset password via admin API
1007
+ const resetResult = await client.admin.resetPassword(userId, password ? { password } : undefined);
1008
+ return jsonResult({
1009
+ message: `Password reset for ${email}`,
1010
+ user: resetResult.user,
1011
+ temporaryPassword: resetResult.temporaryPassword,
1012
+ invitationSent: resetResult.invitationSent
1013
+ });
1014
+ }
1015
+ // ── Storage Tools ──────────────────────────────────────────────────
1016
+ case "storage_list_objects": {
1017
+ const argsObj = args;
1018
+ const { prefix = "", bucket, maxResults, pageToken } = argsObj;
1019
+ const result = await client.storage.listObjects(prefix, { bucket, maxResults, pageToken });
1020
+ return jsonResult(result);
1021
+ }
1022
+ case "storage_delete_object": {
1023
+ const argsObj = args;
1024
+ const { key, bucket } = argsObj;
1025
+ await client.storage.deleteObject(key, bucket);
1026
+ return textResult(`Deleted object "${key}" successfully.`);
1027
+ }
1028
+ case "storage_get_metadata": {
1029
+ const argsObj = args;
1030
+ const { key, bucket } = argsObj;
1031
+ const result = await client.storage.getSignedUrl(key, bucket);
1032
+ return jsonResult(result);
1033
+ }
1034
+ // ── Cron Tools ─────────────────────────────────────────────────────
1035
+ case "cron_list_jobs": {
1036
+ const result = await client.cron.listJobs();
1037
+ return jsonResult(result);
1038
+ }
1039
+ case "cron_get_job": {
1040
+ const argsObj = args;
1041
+ const result = await client.cron.getJob(argsObj.jobId);
1042
+ return jsonResult(result);
1043
+ }
1044
+ case "cron_trigger_job": {
1045
+ const argsObj = args;
1046
+ const result = await client.cron.triggerJob(argsObj.jobId);
1047
+ return jsonResult(result);
1048
+ }
1049
+ case "cron_get_job_logs": {
1050
+ const argsObj = args;
1051
+ const result = await client.cron.getJobLogs(argsObj.jobId, { limit: argsObj.limit });
1052
+ return jsonResult(result);
1053
+ }
1054
+ case "cron_toggle_job": {
1055
+ const argsObj = args;
1056
+ const result = await client.cron.toggleJob(argsObj.jobId, argsObj.enabled);
1057
+ return jsonResult(result);
1058
+ }
1059
+ // ── Function Tools ─────────────────────────────────────────────────
1060
+ case "invoke_function": {
1061
+ const argsObj = args;
1062
+ const { name: funcName, payload, method, path: funcPath } = argsObj;
1063
+ const result = await client.functions.invoke(funcName, payload, { method, path: funcPath });
1064
+ return jsonResult(result);
725
1065
  }
726
- devProcess.kill("SIGTERM");
727
- return textResult("Dev server stopped.");
1066
+ // ── Dev server management ──────────────────────────────────────────
1067
+ case "rebase_dev_start": {
1068
+ if (devProcess && !devProcess.killed) {
1069
+ return textResult("Dev server is already running (PID " + devProcess.pid + ")");
1070
+ }
1071
+ devLogs.length = 0;
1072
+ const projectDir = getProjectDir();
1073
+ const pm = detectPackageManager(projectDir);
1074
+ const { command: runCmd, args: runArgs } = getRunCommand(pm);
1075
+ devProcess = spawn(runCmd, [...runArgs, "dev"], {
1076
+ cwd: resolve(projectDir, "app"),
1077
+ shell: true,
1078
+ env: { ...process.env }
1079
+ });
1080
+ devProcess.stdout?.on("data", (d) => appendDevLog(d.toString()));
1081
+ devProcess.stderr?.on("data", (d) => appendDevLog(d.toString()));
1082
+ devProcess.on("close", (code) => {
1083
+ appendDevLog(`\n[dev server exited with code ${code}]`);
1084
+ devProcess = null;
1085
+ });
1086
+ // Wait a moment for initial output
1087
+ await new Promise((r) => setTimeout(r, 2000));
1088
+ return textResult(`Dev server started (PID ${devProcess?.pid})\n\n${devLogs.join("")}`);
1089
+ }
1090
+ case "rebase_dev_logs": {
1091
+ const argsObj = args;
1092
+ const lineCount = argsObj?.lines ?? 50;
1093
+ const recent = devLogs.slice(-lineCount);
1094
+ if (recent.length === 0) {
1095
+ return textResult(devProcess ? "No output captured yet." : "Dev server is not running.");
1096
+ }
1097
+ return textResult(recent.join(""));
1098
+ }
1099
+ case "rebase_dev_stop": {
1100
+ if (!devProcess || devProcess.killed) {
1101
+ return textResult("Dev server is not running.");
1102
+ }
1103
+ devProcess.kill("SIGTERM");
1104
+ return textResult("Dev server stopped.");
1105
+ }
1106
+ default:
1107
+ throw new Error(`Unknown tool: ${name}`);
728
1108
  }
729
- default:
730
- throw new Error(`Unknown tool: ${name}`);
1109
+ }
1110
+ catch (err) {
1111
+ const msg = err instanceof Error ? err.message : String(err);
1112
+ return {
1113
+ content: [{
1114
+ type: "text",
1115
+ text: `Error: ${msg}`
1116
+ }],
1117
+ isError: true
1118
+ };
731
1119
  }
732
1120
  });
733
1121
  // ── Resources ───────────────────────────────────────────────────────────────
734
1122
  function findCollectionsDir() {
1123
+ const projectDir = getProjectDir();
735
1124
  const candidates = [
736
- resolve(PROJECT_DIR, "app", "config", "collections"),
737
- resolve(PROJECT_DIR, "config", "collections"),
738
- resolve(PROJECT_DIR, "collections")
1125
+ resolve(projectDir, "app", "config", "collections"),
1126
+ resolve(projectDir, "config", "collections"),
1127
+ resolve(projectDir, "collections")
739
1128
  ];
740
1129
  for (const dir of candidates) {
741
1130
  if (existsSync(dir))
@@ -760,7 +1149,8 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => {
760
1149
  }
761
1150
  }
762
1151
  // Generated schema
763
- const schemaPath = resolve(PROJECT_DIR, "app", "backend", "src", "schema.generated.ts");
1152
+ const projectDir = getProjectDir();
1153
+ const schemaPath = resolve(projectDir, "app", "backend", "src", "schema.generated.ts");
764
1154
  if (existsSync(schemaPath)) {
765
1155
  resources.push({
766
1156
  uri: "rebase://schema",
@@ -773,8 +1163,9 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => {
773
1163
  });
774
1164
  server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
775
1165
  const { uri } = request.params;
1166
+ const projectDir = getProjectDir();
776
1167
  if (uri === "rebase://schema") {
777
- const schemaPath = resolve(PROJECT_DIR, "app", "backend", "src", "schema.generated.ts");
1168
+ const schemaPath = resolve(projectDir, "app", "backend", "src", "schema.generated.ts");
778
1169
  if (!existsSync(schemaPath)) {
779
1170
  throw new Error("Generated schema not found. Run `rebase schema generate` first.");
780
1171
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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": "@rebasepro/mcp-server",
3
- "version": "0.6.1",
3
+ "version": "0.8.0",
4
4
  "description": "Model Context Protocol Server for Rebase — exposes schema, DB, document, and user management tools to AI assistants.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@modelcontextprotocol/sdk": "^1.29.0",
13
13
  "dotenv": "^17.4.2",
14
- "@rebasepro/client": "0.6.1"
14
+ "@rebasepro/client": "0.8.0"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@types/node": "^25.9.3",