@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 +38 -8
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +619 -228
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
|
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 (
|
|
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?: {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,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
|
-
|
|
62
|
-
const
|
|
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(
|
|
66
|
-
resolve(
|
|
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
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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:
|
|
722
|
+
cwd: projectDir,
|
|
507
723
|
shell: true,
|
|
508
|
-
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
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
if (
|
|
543
|
-
|
|
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
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
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
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
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
|
-
|
|
723
|
-
|
|
724
|
-
|
|
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
|
-
|
|
727
|
-
|
|
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
|
-
|
|
730
|
-
|
|
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(
|
|
737
|
-
resolve(
|
|
738
|
-
resolve(
|
|
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
|
|
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(
|
|
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.
|
|
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.
|
|
14
|
+
"@rebasepro/client": "0.8.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@types/node": "^25.9.3",
|