debreu-mcp-admin 1.0.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/dist/index.d.ts +2 -0
- package/dist/index.js +616 -0
- package/dist/index.js.map +1 -0
- package/package.json +35 -0
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
+
const API_URL = (process.env.DEBREU_API_URL || "https://api.debreu.ai").replace(/\/$/, "");
|
|
6
|
+
const API_KEY = process.env.DEBREU_API_KEY || "";
|
|
7
|
+
if (!API_KEY) {
|
|
8
|
+
console.error("Error: DEBREU_API_KEY environment variable is required");
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// HTTP helpers
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
function authHeaders() {
|
|
15
|
+
return {
|
|
16
|
+
Authorization: `Bearer ${API_KEY}`,
|
|
17
|
+
"Content-Type": "application/json",
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async function apiGet(path, params) {
|
|
21
|
+
const url = new URL(`${API_URL}${path}`);
|
|
22
|
+
if (params) {
|
|
23
|
+
for (const [k, v] of Object.entries(params)) {
|
|
24
|
+
if (v !== undefined && v !== null)
|
|
25
|
+
url.searchParams.set(k, v);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const resp = await fetch(url.toString(), { headers: authHeaders() });
|
|
29
|
+
if (!resp.ok) {
|
|
30
|
+
const body = await resp.text();
|
|
31
|
+
throw new Error(`HTTP ${resp.status}: ${body}`);
|
|
32
|
+
}
|
|
33
|
+
return resp.json();
|
|
34
|
+
}
|
|
35
|
+
async function apiPost(path, body, params) {
|
|
36
|
+
const url = new URL(`${API_URL}${path}`);
|
|
37
|
+
if (params) {
|
|
38
|
+
for (const [k, v] of Object.entries(params)) {
|
|
39
|
+
if (v !== undefined && v !== null)
|
|
40
|
+
url.searchParams.set(k, v);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const resp = await fetch(url.toString(), {
|
|
44
|
+
method: "POST",
|
|
45
|
+
headers: authHeaders(),
|
|
46
|
+
body: JSON.stringify(body),
|
|
47
|
+
});
|
|
48
|
+
if (!resp.ok) {
|
|
49
|
+
const text = await resp.text();
|
|
50
|
+
throw new Error(`HTTP ${resp.status}: ${text}`);
|
|
51
|
+
}
|
|
52
|
+
return resp.json();
|
|
53
|
+
}
|
|
54
|
+
async function apiPut(path, body) {
|
|
55
|
+
const resp = await fetch(`${API_URL}${path}`, {
|
|
56
|
+
method: "PUT",
|
|
57
|
+
headers: authHeaders(),
|
|
58
|
+
body: JSON.stringify(body),
|
|
59
|
+
});
|
|
60
|
+
if (!resp.ok) {
|
|
61
|
+
const text = await resp.text();
|
|
62
|
+
throw new Error(`HTTP ${resp.status}: ${text}`);
|
|
63
|
+
}
|
|
64
|
+
return resp.json();
|
|
65
|
+
}
|
|
66
|
+
async function apiPatch(path, body, params) {
|
|
67
|
+
const url = new URL(`${API_URL}${path}`);
|
|
68
|
+
if (params) {
|
|
69
|
+
for (const [k, v] of Object.entries(params)) {
|
|
70
|
+
if (v !== undefined && v !== null)
|
|
71
|
+
url.searchParams.set(k, v);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const resp = await fetch(url.toString(), {
|
|
75
|
+
method: "PATCH",
|
|
76
|
+
headers: authHeaders(),
|
|
77
|
+
body: JSON.stringify(body),
|
|
78
|
+
});
|
|
79
|
+
if (!resp.ok) {
|
|
80
|
+
const text = await resp.text();
|
|
81
|
+
throw new Error(`HTTP ${resp.status}: ${text}`);
|
|
82
|
+
}
|
|
83
|
+
return resp.json();
|
|
84
|
+
}
|
|
85
|
+
async function apiDelete(path, params, body) {
|
|
86
|
+
const url = new URL(`${API_URL}${path}`);
|
|
87
|
+
if (params) {
|
|
88
|
+
for (const [k, v] of Object.entries(params)) {
|
|
89
|
+
if (v !== undefined && v !== null)
|
|
90
|
+
url.searchParams.set(k, v);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const opts = { method: "DELETE", headers: authHeaders() };
|
|
94
|
+
if (body !== undefined) {
|
|
95
|
+
opts.body = JSON.stringify(body);
|
|
96
|
+
}
|
|
97
|
+
const resp = await fetch(url.toString(), opts);
|
|
98
|
+
if (!resp.ok) {
|
|
99
|
+
const text = await resp.text();
|
|
100
|
+
throw new Error(`HTTP ${resp.status}: ${text}`);
|
|
101
|
+
}
|
|
102
|
+
return resp.json();
|
|
103
|
+
}
|
|
104
|
+
function textResult(data) {
|
|
105
|
+
return {
|
|
106
|
+
content: [{ type: "text", text: JSON.stringify(data, null, 2) }],
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function errorResult(error) {
|
|
110
|
+
return {
|
|
111
|
+
content: [
|
|
112
|
+
{
|
|
113
|
+
type: "text",
|
|
114
|
+
text: `Error: ${error instanceof Error ? error.message : String(error)}`,
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
isError: true,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function pickDefined(args, keys) {
|
|
121
|
+
const result = {};
|
|
122
|
+
for (const k of keys) {
|
|
123
|
+
if (args[k] !== undefined && args[k] !== null)
|
|
124
|
+
result[k] = String(args[k]);
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
function pickDefinedBody(args, keys) {
|
|
129
|
+
const result = {};
|
|
130
|
+
for (const k of keys) {
|
|
131
|
+
if (args[k] !== undefined && args[k] !== null)
|
|
132
|
+
result[k] = args[k];
|
|
133
|
+
}
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
// ---------------------------------------------------------------------------
|
|
137
|
+
// Tool definitions
|
|
138
|
+
// ---------------------------------------------------------------------------
|
|
139
|
+
const TOOLS = [
|
|
140
|
+
// -- Fake Emails --
|
|
141
|
+
{
|
|
142
|
+
name: "seed_fake_email",
|
|
143
|
+
description: "Seed a fake email through the processing pipeline for a user.",
|
|
144
|
+
inputSchema: {
|
|
145
|
+
type: "object",
|
|
146
|
+
properties: {
|
|
147
|
+
sender: { type: "string", description: "Sender email address" },
|
|
148
|
+
receiver: { type: "string", description: "Receiver email address" },
|
|
149
|
+
subject: { type: "string", description: "Email subject" },
|
|
150
|
+
content: { type: "string", description: "Email body (HTML)" },
|
|
151
|
+
cc: { type: "string", description: "CC addresses (semicolon-separated)" },
|
|
152
|
+
time: { type: "string", description: "ISO 8601 timestamp (defaults to now)" },
|
|
153
|
+
pipeline_user_id: { type: "string", description: "Target user UUID (defaults to caller)" },
|
|
154
|
+
},
|
|
155
|
+
required: ["sender", "receiver", "subject", "content"],
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
// -- Fake Calendars --
|
|
159
|
+
{
|
|
160
|
+
name: "seed_fake_calendar",
|
|
161
|
+
description: "Seed a fake calendar event through the processing pipeline for a user.",
|
|
162
|
+
inputSchema: {
|
|
163
|
+
type: "object",
|
|
164
|
+
properties: {
|
|
165
|
+
title: { type: "string", description: "Event title" },
|
|
166
|
+
description: { type: "string", description: "Event description" },
|
|
167
|
+
start_time: { type: "string", description: "Start time (ISO 8601)" },
|
|
168
|
+
end_time: { type: "string", description: "End time (ISO 8601)" },
|
|
169
|
+
organizer: { type: "string", description: "Organizer email" },
|
|
170
|
+
attendees: { type: "string", description: "Attendee emails (semicolon-separated)" },
|
|
171
|
+
location: { type: "string", description: "Event location" },
|
|
172
|
+
pipeline_user_id: { type: "string", description: "Target user UUID (defaults to caller)" },
|
|
173
|
+
},
|
|
174
|
+
required: ["title", "start_time", "end_time", "organizer"],
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
// -- Pipeline Users --
|
|
178
|
+
{
|
|
179
|
+
name: "list_users",
|
|
180
|
+
description: "List all pipeline users (including deleted).",
|
|
181
|
+
inputSchema: {
|
|
182
|
+
type: "object",
|
|
183
|
+
properties: {
|
|
184
|
+
skip: { type: "number", description: "Number of records to skip", default: 0 },
|
|
185
|
+
limit: { type: "number", description: "Max records to return (1-500)", default: 100 },
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
name: "get_user",
|
|
191
|
+
description: "Get a pipeline user by UUID.",
|
|
192
|
+
inputSchema: {
|
|
193
|
+
type: "object",
|
|
194
|
+
properties: {
|
|
195
|
+
uuid: { type: "string", description: "User UUID" },
|
|
196
|
+
},
|
|
197
|
+
required: ["uuid"],
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: "create_user",
|
|
202
|
+
description: "Create a new pipeline user (Firebase + DB). Returns the created user.",
|
|
203
|
+
inputSchema: {
|
|
204
|
+
type: "object",
|
|
205
|
+
properties: {
|
|
206
|
+
email: { type: "string", description: "User email" },
|
|
207
|
+
password: { type: "string", description: "Password (min 6 chars, for Firebase only)" },
|
|
208
|
+
name: { type: "string", description: "Display name" },
|
|
209
|
+
company_id: { type: "string", description: "UUID of the user's company" },
|
|
210
|
+
profile_id: { type: "string", description: "UUID of the profile to assign" },
|
|
211
|
+
timezone: { type: "string", description: "IANA timezone (default: America/New_York)" },
|
|
212
|
+
},
|
|
213
|
+
required: ["email", "password", "name", "company_id"],
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
name: "update_user",
|
|
218
|
+
description: "Update a pipeline user (name, profile, team, batch settings, active/deleted status).",
|
|
219
|
+
inputSchema: {
|
|
220
|
+
type: "object",
|
|
221
|
+
properties: {
|
|
222
|
+
uuid: { type: "string", description: "User UUID" },
|
|
223
|
+
name: { type: "string", description: "Display name" },
|
|
224
|
+
profile_id: { type: "string", description: "Profile UUID" },
|
|
225
|
+
team_id: { type: "string", description: "Team UUID" },
|
|
226
|
+
batch_parsing_enabled: { type: "boolean", description: "Enable batch parsing" },
|
|
227
|
+
batch_provider: { type: "string", description: "Batch provider (e.g. openai)" },
|
|
228
|
+
batch_model: { type: "string", description: "Batch model name" },
|
|
229
|
+
is_active: { type: "boolean", description: "Active status" },
|
|
230
|
+
is_deleted: { type: "boolean", description: "Deleted status" },
|
|
231
|
+
},
|
|
232
|
+
required: ["uuid"],
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
// -- Profiles --
|
|
236
|
+
{
|
|
237
|
+
name: "list_profiles",
|
|
238
|
+
description: "List all profiles.",
|
|
239
|
+
inputSchema: {
|
|
240
|
+
type: "object",
|
|
241
|
+
properties: {
|
|
242
|
+
skip: { type: "number", description: "Number of records to skip", default: 0 },
|
|
243
|
+
limit: { type: "number", description: "Max records to return", default: 1000 },
|
|
244
|
+
},
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
name: "get_profile",
|
|
249
|
+
description: "Get a profile by UUID.",
|
|
250
|
+
inputSchema: {
|
|
251
|
+
type: "object",
|
|
252
|
+
properties: {
|
|
253
|
+
uuid: { type: "string", description: "Profile UUID" },
|
|
254
|
+
},
|
|
255
|
+
required: ["uuid"],
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
name: "create_profile",
|
|
260
|
+
description: "Create a new profile.",
|
|
261
|
+
inputSchema: {
|
|
262
|
+
type: "object",
|
|
263
|
+
properties: {
|
|
264
|
+
name: { type: "string", description: "Profile name (must be unique)" },
|
|
265
|
+
description: { type: "string", description: "Profile description" },
|
|
266
|
+
config: { type: "string", description: "JSON config string (default: '{}')" },
|
|
267
|
+
},
|
|
268
|
+
required: ["name"],
|
|
269
|
+
},
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
name: "update_profile",
|
|
273
|
+
description: "Update a profile by UUID.",
|
|
274
|
+
inputSchema: {
|
|
275
|
+
type: "object",
|
|
276
|
+
properties: {
|
|
277
|
+
uuid: { type: "string", description: "Profile UUID" },
|
|
278
|
+
name: { type: "string", description: "Profile name" },
|
|
279
|
+
description: { type: "string", description: "Profile description" },
|
|
280
|
+
config: { type: "string", description: "JSON config string" },
|
|
281
|
+
},
|
|
282
|
+
required: ["uuid"],
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
name: "delete_profile",
|
|
287
|
+
description: "Delete a profile. Fails if active users reference it.",
|
|
288
|
+
inputSchema: {
|
|
289
|
+
type: "object",
|
|
290
|
+
properties: {
|
|
291
|
+
uuid: { type: "string", description: "Profile UUID" },
|
|
292
|
+
},
|
|
293
|
+
required: ["uuid"],
|
|
294
|
+
},
|
|
295
|
+
},
|
|
296
|
+
// -- Metric Schema --
|
|
297
|
+
{
|
|
298
|
+
name: "list_metric_schemas",
|
|
299
|
+
description: "List metric schemas, optionally filtered by profile_id.",
|
|
300
|
+
inputSchema: {
|
|
301
|
+
type: "object",
|
|
302
|
+
properties: {
|
|
303
|
+
profile_id: { type: "string", description: "Filter by profile UUID" },
|
|
304
|
+
skip: { type: "number", description: "Number of records to skip", default: 0 },
|
|
305
|
+
limit: { type: "number", description: "Max records to return", default: 10000 },
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
name: "create_metric_schema",
|
|
311
|
+
description: "Create a metric schema.",
|
|
312
|
+
inputSchema: {
|
|
313
|
+
type: "object",
|
|
314
|
+
properties: {
|
|
315
|
+
name: { type: "string", description: "Metric name (snake_case)" },
|
|
316
|
+
description: { type: "string", description: "What this metric captures" },
|
|
317
|
+
type: { type: "string", description: "Metric type (e.g. text, number, date, currency, list)" },
|
|
318
|
+
category: { type: "string", description: "Category grouping" },
|
|
319
|
+
profile_id: { type: "string", description: "Profile UUID" },
|
|
320
|
+
team_id: { type: "string", description: "Team UUID (for team overrides)" },
|
|
321
|
+
examples: { type: "string", description: "Example values" },
|
|
322
|
+
display_name: { type: "string", description: "Human-readable name (auto-generated if omitted)" },
|
|
323
|
+
should_parse: { type: "boolean", description: "Whether AI should parse this (default: true)" },
|
|
324
|
+
is_system: { type: "boolean", description: "System metric flag (default: false)" },
|
|
325
|
+
},
|
|
326
|
+
required: ["name", "description", "type", "category"],
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
name: "update_metric_schema",
|
|
331
|
+
description: "Update a metric schema by UUID. Cannot modify system metrics.",
|
|
332
|
+
inputSchema: {
|
|
333
|
+
type: "object",
|
|
334
|
+
properties: {
|
|
335
|
+
uuid: { type: "string", description: "Metric schema UUID" },
|
|
336
|
+
name: { type: "string", description: "Metric name" },
|
|
337
|
+
description: { type: "string", description: "Description" },
|
|
338
|
+
type: { type: "string", description: "Metric type" },
|
|
339
|
+
category: { type: "string", description: "Category" },
|
|
340
|
+
profile_id: { type: "string", description: "Profile UUID" },
|
|
341
|
+
team_id: { type: "string", description: "Team UUID" },
|
|
342
|
+
examples: { type: "string", description: "Example values" },
|
|
343
|
+
display_name: { type: "string", description: "Display name" },
|
|
344
|
+
should_parse: { type: "boolean", description: "Whether AI should parse this" },
|
|
345
|
+
},
|
|
346
|
+
required: ["uuid"],
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
name: "delete_metric_schema",
|
|
351
|
+
description: "Delete a metric schema by UUID. Cannot delete system metrics.",
|
|
352
|
+
inputSchema: {
|
|
353
|
+
type: "object",
|
|
354
|
+
properties: {
|
|
355
|
+
uuid: { type: "string", description: "Metric schema UUID" },
|
|
356
|
+
},
|
|
357
|
+
required: ["uuid"],
|
|
358
|
+
},
|
|
359
|
+
},
|
|
360
|
+
// -- Status Definitions --
|
|
361
|
+
{
|
|
362
|
+
name: "list_status_definitions",
|
|
363
|
+
description: "List status definitions for a profile, optionally filtered by type.",
|
|
364
|
+
inputSchema: {
|
|
365
|
+
type: "object",
|
|
366
|
+
properties: {
|
|
367
|
+
profile_id: { type: "string", description: "Profile UUID (required)" },
|
|
368
|
+
status_type: { type: "string", description: "Filter by status type (e.g. task, project, workflow)" },
|
|
369
|
+
},
|
|
370
|
+
required: ["profile_id"],
|
|
371
|
+
},
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
name: "create_status_definition",
|
|
375
|
+
description: "Create a status definition for a profile.",
|
|
376
|
+
inputSchema: {
|
|
377
|
+
type: "object",
|
|
378
|
+
properties: {
|
|
379
|
+
profile_id: { type: "string", description: "Profile UUID (required)" },
|
|
380
|
+
status_type: { type: "string", description: "Status category (task, project, workflow, etc.)" },
|
|
381
|
+
value: { type: "string", description: "Status value (machine key)" },
|
|
382
|
+
display_name: { type: "string", description: "Human-readable label" },
|
|
383
|
+
description: { type: "string", description: "Description of this status" },
|
|
384
|
+
is_terminal: { type: "boolean", description: "Whether this is a terminal state (default: false)" },
|
|
385
|
+
phase: { type: "string", description: "Optional phase grouping" },
|
|
386
|
+
is_default: { type: "boolean", description: "Whether this is the default status (default: false)" },
|
|
387
|
+
},
|
|
388
|
+
required: ["profile_id", "status_type", "value", "display_name", "description"],
|
|
389
|
+
},
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
name: "update_status_definition",
|
|
393
|
+
description: "Update a status definition.",
|
|
394
|
+
inputSchema: {
|
|
395
|
+
type: "object",
|
|
396
|
+
properties: {
|
|
397
|
+
uuid: { type: "string", description: "Status definition UUID" },
|
|
398
|
+
profile_id: { type: "string", description: "Profile UUID (required for validation)" },
|
|
399
|
+
display_name: { type: "string", description: "Human-readable label" },
|
|
400
|
+
description: { type: "string", description: "Description" },
|
|
401
|
+
is_terminal: { type: "boolean", description: "Terminal state flag" },
|
|
402
|
+
phase: { type: "string", description: "Phase grouping" },
|
|
403
|
+
is_default: { type: "boolean", description: "Default status flag" },
|
|
404
|
+
value: { type: "string", description: "Status value" },
|
|
405
|
+
},
|
|
406
|
+
required: ["uuid", "profile_id"],
|
|
407
|
+
},
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
name: "delete_status_definition",
|
|
411
|
+
description: "Delete a status definition, remapping entities to a replacement value.",
|
|
412
|
+
inputSchema: {
|
|
413
|
+
type: "object",
|
|
414
|
+
properties: {
|
|
415
|
+
uuid: { type: "string", description: "Status definition UUID" },
|
|
416
|
+
profile_id: { type: "string", description: "Profile UUID (required)" },
|
|
417
|
+
replacement_value: { type: "string", description: "Existing status value to remap entities onto" },
|
|
418
|
+
},
|
|
419
|
+
required: ["uuid", "profile_id", "replacement_value"],
|
|
420
|
+
},
|
|
421
|
+
},
|
|
422
|
+
// -- Companies (for any user) --
|
|
423
|
+
{
|
|
424
|
+
name: "create_company",
|
|
425
|
+
description: "Create a company, optionally scoped to a specific user.",
|
|
426
|
+
inputSchema: {
|
|
427
|
+
type: "object",
|
|
428
|
+
properties: {
|
|
429
|
+
name: { type: "string", description: "Company name" },
|
|
430
|
+
website: { type: "string", description: "Company website (e.g. acme.com)" },
|
|
431
|
+
description: { type: "string", description: "Company description" },
|
|
432
|
+
city: { type: "string", description: "City" },
|
|
433
|
+
state: { type: "string", description: "US state 2-letter code" },
|
|
434
|
+
country: { type: "string", description: "ISO 3166-1 alpha-3 country code" },
|
|
435
|
+
ticker: { type: "string", description: "Stock ticker symbol" },
|
|
436
|
+
tags: { type: "string", description: "Tags (comma-separated)" },
|
|
437
|
+
pipeline_user_id: { type: "string", description: "Target user UUID (defaults to caller)" },
|
|
438
|
+
},
|
|
439
|
+
required: ["name", "website"],
|
|
440
|
+
},
|
|
441
|
+
},
|
|
442
|
+
// -- People (for any user) --
|
|
443
|
+
{
|
|
444
|
+
name: "create_person",
|
|
445
|
+
description: "Create a person, optionally scoped to a specific user.",
|
|
446
|
+
inputSchema: {
|
|
447
|
+
type: "object",
|
|
448
|
+
properties: {
|
|
449
|
+
name: { type: "string", description: "Person name" },
|
|
450
|
+
company_id: { type: "string", description: "UUID of the company this person belongs to" },
|
|
451
|
+
email: { type: "string", description: "Email address" },
|
|
452
|
+
phone: { type: "string", description: "Phone number" },
|
|
453
|
+
role: { type: "string", description: "Job title or role" },
|
|
454
|
+
pipeline_user_id: { type: "string", description: "Target user UUID (defaults to caller)" },
|
|
455
|
+
},
|
|
456
|
+
required: ["name", "company_id"],
|
|
457
|
+
},
|
|
458
|
+
},
|
|
459
|
+
];
|
|
460
|
+
// ---------------------------------------------------------------------------
|
|
461
|
+
// Tool handlers
|
|
462
|
+
// ---------------------------------------------------------------------------
|
|
463
|
+
const EXT_ADMIN = "/api/v1/ext/admin";
|
|
464
|
+
async function handleTool(name, args) {
|
|
465
|
+
try {
|
|
466
|
+
switch (name) {
|
|
467
|
+
// -- Fake Emails --
|
|
468
|
+
case "seed_fake_email": {
|
|
469
|
+
const body = pickDefinedBody(args, [
|
|
470
|
+
"sender", "receiver", "subject", "content", "cc", "time", "pipeline_user_id",
|
|
471
|
+
]);
|
|
472
|
+
return textResult(await apiPost(`${EXT_ADMIN}/fake-emails`, body));
|
|
473
|
+
}
|
|
474
|
+
// -- Fake Calendars --
|
|
475
|
+
case "seed_fake_calendar": {
|
|
476
|
+
const body = pickDefinedBody(args, [
|
|
477
|
+
"title", "description", "start_time", "end_time", "organizer",
|
|
478
|
+
"attendees", "location", "pipeline_user_id",
|
|
479
|
+
]);
|
|
480
|
+
return textResult(await apiPost(`${EXT_ADMIN}/fake-calendars`, body));
|
|
481
|
+
}
|
|
482
|
+
// -- Pipeline Users --
|
|
483
|
+
case "list_users": {
|
|
484
|
+
const params = pickDefined(args, ["skip", "limit"]);
|
|
485
|
+
return textResult(await apiGet(`${EXT_ADMIN}/users`, params));
|
|
486
|
+
}
|
|
487
|
+
case "get_user":
|
|
488
|
+
return textResult(await apiGet(`${EXT_ADMIN}/users/${args.uuid}`));
|
|
489
|
+
case "create_user": {
|
|
490
|
+
const body = pickDefinedBody(args, [
|
|
491
|
+
"email", "password", "name", "company_id", "profile_id", "timezone",
|
|
492
|
+
]);
|
|
493
|
+
return textResult(await apiPost(`${EXT_ADMIN}/users`, body));
|
|
494
|
+
}
|
|
495
|
+
case "update_user": {
|
|
496
|
+
const { uuid, ...rest } = args;
|
|
497
|
+
const body = pickDefinedBody(rest, [
|
|
498
|
+
"name", "profile_id", "team_id", "batch_parsing_enabled",
|
|
499
|
+
"batch_provider", "batch_model", "is_active", "is_deleted",
|
|
500
|
+
]);
|
|
501
|
+
return textResult(await apiPatch(`${EXT_ADMIN}/users/${uuid}`, body));
|
|
502
|
+
}
|
|
503
|
+
// -- Profiles --
|
|
504
|
+
case "list_profiles": {
|
|
505
|
+
const params = pickDefined(args, ["skip", "limit"]);
|
|
506
|
+
return textResult(await apiGet(`${EXT_ADMIN}/profiles`, params));
|
|
507
|
+
}
|
|
508
|
+
case "get_profile":
|
|
509
|
+
return textResult(await apiGet(`${EXT_ADMIN}/profiles/${args.uuid}`));
|
|
510
|
+
case "create_profile": {
|
|
511
|
+
const body = pickDefinedBody(args, ["name", "description", "config"]);
|
|
512
|
+
return textResult(await apiPost(`${EXT_ADMIN}/profiles`, body));
|
|
513
|
+
}
|
|
514
|
+
case "update_profile": {
|
|
515
|
+
const { uuid, ...rest } = args;
|
|
516
|
+
const body = pickDefinedBody(rest, [
|
|
517
|
+
"name", "description", "config",
|
|
518
|
+
]);
|
|
519
|
+
return textResult(await apiPut(`${EXT_ADMIN}/profiles/${uuid}`, body));
|
|
520
|
+
}
|
|
521
|
+
case "delete_profile":
|
|
522
|
+
return textResult(await apiDelete(`${EXT_ADMIN}/profiles/${args.uuid}`));
|
|
523
|
+
// -- Metric Schema --
|
|
524
|
+
case "list_metric_schemas": {
|
|
525
|
+
const params = pickDefined(args, ["profile_id", "skip", "limit"]);
|
|
526
|
+
return textResult(await apiGet(`${EXT_ADMIN}/metric-schema`, params));
|
|
527
|
+
}
|
|
528
|
+
case "create_metric_schema": {
|
|
529
|
+
const body = pickDefinedBody(args, [
|
|
530
|
+
"name", "description", "type", "category", "profile_id", "team_id",
|
|
531
|
+
"examples", "display_name", "should_parse", "is_system",
|
|
532
|
+
]);
|
|
533
|
+
return textResult(await apiPost(`${EXT_ADMIN}/metric-schema`, body));
|
|
534
|
+
}
|
|
535
|
+
case "update_metric_schema": {
|
|
536
|
+
const { uuid, ...rest } = args;
|
|
537
|
+
const body = pickDefinedBody(rest, [
|
|
538
|
+
"name", "description", "type", "category", "profile_id", "team_id",
|
|
539
|
+
"examples", "display_name", "should_parse",
|
|
540
|
+
]);
|
|
541
|
+
return textResult(await apiPut(`${EXT_ADMIN}/metric-schema/${uuid}`, body));
|
|
542
|
+
}
|
|
543
|
+
case "delete_metric_schema":
|
|
544
|
+
return textResult(await apiDelete(`${EXT_ADMIN}/metric-schema/${args.uuid}`));
|
|
545
|
+
// -- Status Definitions --
|
|
546
|
+
case "list_status_definitions": {
|
|
547
|
+
const params = pickDefined(args, ["profile_id", "status_type"]);
|
|
548
|
+
return textResult(await apiGet(`${EXT_ADMIN}/status-definitions`, params));
|
|
549
|
+
}
|
|
550
|
+
case "create_status_definition": {
|
|
551
|
+
const { profile_id, ...rest } = args;
|
|
552
|
+
const body = pickDefinedBody(rest, [
|
|
553
|
+
"status_type", "value", "display_name", "description",
|
|
554
|
+
"is_terminal", "phase", "is_default",
|
|
555
|
+
]);
|
|
556
|
+
const params = pickDefined({ profile_id }, ["profile_id"]);
|
|
557
|
+
return textResult(await apiPost(`${EXT_ADMIN}/status-definitions`, body, params));
|
|
558
|
+
}
|
|
559
|
+
case "update_status_definition": {
|
|
560
|
+
const { uuid, profile_id, ...rest } = args;
|
|
561
|
+
const body = pickDefinedBody(rest, [
|
|
562
|
+
"display_name", "description", "is_terminal", "phase", "is_default", "value",
|
|
563
|
+
]);
|
|
564
|
+
const params = pickDefined({ profile_id }, ["profile_id"]);
|
|
565
|
+
return textResult(await apiPatch(`${EXT_ADMIN}/status-definitions/${uuid}`, body, params));
|
|
566
|
+
}
|
|
567
|
+
case "delete_status_definition": {
|
|
568
|
+
const { uuid, profile_id, replacement_value } = args;
|
|
569
|
+
const params = pickDefined({ profile_id }, ["profile_id"]);
|
|
570
|
+
return textResult(await apiDelete(`${EXT_ADMIN}/status-definitions/${uuid}`, params, { replacement_value }));
|
|
571
|
+
}
|
|
572
|
+
// -- Companies (for any user) --
|
|
573
|
+
case "create_company": {
|
|
574
|
+
const body = pickDefinedBody(args, [
|
|
575
|
+
"name", "website", "description", "city", "state", "country", "ticker", "tags",
|
|
576
|
+
]);
|
|
577
|
+
const params = pickDefined(args, ["pipeline_user_id"]);
|
|
578
|
+
return textResult(await apiPost(`${EXT_ADMIN}/companies`, body, params));
|
|
579
|
+
}
|
|
580
|
+
// -- People (for any user) --
|
|
581
|
+
case "create_person": {
|
|
582
|
+
const body = pickDefinedBody(args, ["name", "company_id", "email", "phone", "role"]);
|
|
583
|
+
const params = pickDefined(args, ["pipeline_user_id"]);
|
|
584
|
+
return textResult(await apiPost(`${EXT_ADMIN}/people`, body, params));
|
|
585
|
+
}
|
|
586
|
+
default:
|
|
587
|
+
return errorResult(`Unknown tool: ${name}`);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
catch (e) {
|
|
591
|
+
return errorResult(e);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
// ---------------------------------------------------------------------------
|
|
595
|
+
// Server setup
|
|
596
|
+
// ---------------------------------------------------------------------------
|
|
597
|
+
const server = new Server({ name: "debreu-mcp-admin", version: "1.0.0" }, { capabilities: { tools: {} } });
|
|
598
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
599
|
+
tools: TOOLS,
|
|
600
|
+
}));
|
|
601
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
602
|
+
const { name, arguments: args } = request.params;
|
|
603
|
+
return handleTool(name, (args ?? {}));
|
|
604
|
+
});
|
|
605
|
+
// ---------------------------------------------------------------------------
|
|
606
|
+
// Start
|
|
607
|
+
// ---------------------------------------------------------------------------
|
|
608
|
+
async function main() {
|
|
609
|
+
const transport = new StdioServerTransport();
|
|
610
|
+
await server.connect(transport);
|
|
611
|
+
}
|
|
612
|
+
main().catch((error) => {
|
|
613
|
+
console.error("Fatal error:", error);
|
|
614
|
+
process.exit(1);
|
|
615
|
+
});
|
|
616
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "debreu-mcp-admin",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Admin MCP server for Debreu.ai — seed data and manage configurations across accounts",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"debreu-mcp-admin": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc && chmod +x dist/index.js",
|
|
15
|
+
"prepare": "npm run build",
|
|
16
|
+
"dev": "node dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"mcp",
|
|
20
|
+
"debreu",
|
|
21
|
+
"admin",
|
|
22
|
+
"ai"
|
|
23
|
+
],
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=18"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@modelcontextprotocol/sdk": "^1.0.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/node": "^20.0.0",
|
|
33
|
+
"typescript": "^5.0.0"
|
|
34
|
+
}
|
|
35
|
+
}
|