@nyuchi/mzizi-mcp 0.5.0-beta.2 → 0.5.0-beta.4
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/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +440 -60
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/dist/server.d.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
24
24
|
import type { SupabaseClient } from "@supabase/supabase-js";
|
|
25
25
|
import type { FundiToolContext } from "./fundi-client.js";
|
|
26
|
-
export declare const MZIZI_MCP_VERSION = "0.5.0-beta.
|
|
26
|
+
export declare const MZIZI_MCP_VERSION = "0.5.0-beta.4";
|
|
27
27
|
/**
|
|
28
28
|
* Build the Mzizi MCP server bound to a Supabase client with public read on
|
|
29
29
|
* `mcp_tool_registry` / `component_documents` and EXECUTE on the backing RPCs.
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAwdhD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAO,GACtC,OAAO,CAAC,SAAS,CAAC,CAySpB"}
|
package/dist/server.js
CHANGED
|
@@ -22,12 +22,114 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
24
24
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
25
|
-
export const MZIZI_MCP_VERSION = "0.5.0-beta.
|
|
26
|
-
|
|
25
|
+
export const MZIZI_MCP_VERSION = "0.5.0-beta.4";
|
|
26
|
+
/**
|
|
27
|
+
* Every tool this server exposes is prefixed with `mzizi_` so the surface is
|
|
28
|
+
* unambiguous when mounted alongside other MCP servers (see the mcp-builder
|
|
29
|
+
* "service prefix" guideline). The prefix is applied at the boundary only:
|
|
30
|
+
* registry rows, core-tool dispatch, and the backing SQL/edge/table names all
|
|
31
|
+
* stay unprefixed, and the CallTool handler strips the prefix before dispatch.
|
|
32
|
+
*/
|
|
33
|
+
const TOOL_PREFIX = "mzizi_";
|
|
34
|
+
/** Human-readable title from a (possibly prefixed) tool name: `get_component` → "Get component". */
|
|
35
|
+
function titleFor(name) {
|
|
36
|
+
const words = name
|
|
37
|
+
.replace(new RegExp(`^${TOOL_PREFIX}`), "")
|
|
38
|
+
.replace(/_/g, " ")
|
|
39
|
+
.trim();
|
|
40
|
+
return words.charAt(0).toUpperCase() + words.slice(1);
|
|
41
|
+
}
|
|
42
|
+
const READ_ONLY_HINTS = {
|
|
43
|
+
readOnlyHint: true,
|
|
44
|
+
destructiveHint: false,
|
|
45
|
+
idempotentHint: true,
|
|
46
|
+
openWorldHint: false,
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Hints for the append-only write tools exposed on the public surface (the
|
|
50
|
+
* feedback / issue-submission sinks). They mutate (not read-only) but only
|
|
51
|
+
* ever insert — never delete or overwrite — so `destructiveHint` is false;
|
|
52
|
+
* each call creates a new row, so `idempotentHint` is false.
|
|
53
|
+
*/
|
|
54
|
+
const WRITE_HINTS = {
|
|
55
|
+
readOnlyHint: false,
|
|
56
|
+
destructiveHint: false,
|
|
57
|
+
idempotentHint: false,
|
|
58
|
+
openWorldHint: false,
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* The only write-kind tools allowed onto the anonymous public surface: the
|
|
62
|
+
* feedback sinks that either run SECURITY DEFINER (bypassing RLS safely) or
|
|
63
|
+
* self-gate to an allow-list. Every other write stays off this surface and is
|
|
64
|
+
* reached through an authenticated path (fundi worker / first-party caller).
|
|
65
|
+
* • submit_component_feedback — report a failing/misconfigured component (N9)
|
|
66
|
+
* • record_observability_event — structural error/perf beacon fundi watches
|
|
67
|
+
* • record_chaos_event — resilience-testing feedback (self-gates in prod)
|
|
68
|
+
*/
|
|
69
|
+
const PUBLIC_WRITE_TOOLS = new Set([
|
|
70
|
+
"submit_component_feedback",
|
|
71
|
+
"record_observability_event",
|
|
72
|
+
"record_chaos_event",
|
|
73
|
+
]);
|
|
74
|
+
/** Assemble the annotations block for a tool from its (unprefixed) name. */
|
|
75
|
+
function annotationsFor(name, overrides = {}) {
|
|
76
|
+
return { title: titleFor(name), ...READ_ONLY_HINTS, ...overrides };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Namespaced `_meta` for a tool. The registry groups tools by `category`
|
|
80
|
+
* (component, architecture, brand, skills, documents, release, a11y,
|
|
81
|
+
* observability, fundi, …); surfacing it here lets clients organise the ~60
|
|
82
|
+
* tools by function. The `mzizi.dev/` prefix keeps the key out of the reserved
|
|
83
|
+
* `modelcontextprotocol.io/` namespace.
|
|
84
|
+
*/
|
|
85
|
+
function metaFor(category) {
|
|
86
|
+
return { "mzizi.dev/category": category ?? "uncategorised" };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The registry stores each tool's return shape as an already-enveloped JSON
|
|
90
|
+
* Schema object: `{ type:"object", properties:{ <key>: … }, required:[<key>] }`
|
|
91
|
+
* where `<key>` is `rows` for the array-returning `RETURNS TABLE` functions and
|
|
92
|
+
* `result` for scalar/jsonb returns. MCP requires `outputSchema` (and the
|
|
93
|
+
* matching `structuredContent`) to be an object, so the RPC's raw array/scalar
|
|
94
|
+
* result is wrapped under that single key at dispatch time. Returns the schema
|
|
95
|
+
* to emit plus the wrap key, or null when no usable shape is stored.
|
|
96
|
+
*/
|
|
97
|
+
function emittedOutput(raw) {
|
|
98
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
99
|
+
return null;
|
|
100
|
+
if (raw["type"] !== "object")
|
|
101
|
+
return null;
|
|
102
|
+
const props = raw["properties"];
|
|
103
|
+
if (!props || typeof props !== "object")
|
|
104
|
+
return null;
|
|
105
|
+
const keys = Object.keys(props);
|
|
106
|
+
if (keys.length === 0)
|
|
107
|
+
return null;
|
|
108
|
+
const required = Array.isArray(raw["required"])
|
|
109
|
+
? raw["required"]
|
|
110
|
+
: [];
|
|
111
|
+
const wrapKey = required[0] ?? keys[0];
|
|
112
|
+
if (!wrapKey)
|
|
113
|
+
return null;
|
|
114
|
+
return { outputSchema: raw, wrapKey };
|
|
115
|
+
}
|
|
116
|
+
const str = (description) => ({
|
|
117
|
+
type: ["string", "null"],
|
|
118
|
+
description,
|
|
119
|
+
});
|
|
27
120
|
const reqStr = (description) => ({ type: "string", description });
|
|
28
|
-
const int = (description) => ({
|
|
29
|
-
|
|
30
|
-
|
|
121
|
+
const int = (description) => ({
|
|
122
|
+
type: ["integer", "null"],
|
|
123
|
+
description,
|
|
124
|
+
});
|
|
125
|
+
const bool = (description) => ({
|
|
126
|
+
type: ["boolean", "null"],
|
|
127
|
+
description,
|
|
128
|
+
});
|
|
129
|
+
const num = (description) => ({
|
|
130
|
+
type: ["number", "null"],
|
|
131
|
+
description,
|
|
132
|
+
});
|
|
31
133
|
/**
|
|
32
134
|
* Curated input schemas for the parameterized tools whose registry
|
|
33
135
|
* `input_schema` is not (yet) populated. Property names are the exact SQL
|
|
@@ -36,50 +138,238 @@ const num = (description) => ({ type: ["number", "null"], description });
|
|
|
36
138
|
*/
|
|
37
139
|
const INPUT_SCHEMAS = {
|
|
38
140
|
// component
|
|
39
|
-
get_component: {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
141
|
+
get_component: {
|
|
142
|
+
type: "object",
|
|
143
|
+
properties: { p_name: reqStr("Component name, e.g. 'button'") },
|
|
144
|
+
required: ["p_name"],
|
|
145
|
+
},
|
|
146
|
+
get_component_history: {
|
|
147
|
+
type: "object",
|
|
148
|
+
properties: {
|
|
149
|
+
p_component_name: reqStr("Component name"),
|
|
150
|
+
p_limit: int("Max rows (default 20)"),
|
|
151
|
+
},
|
|
152
|
+
required: ["p_component_name"],
|
|
153
|
+
},
|
|
154
|
+
get_component_links: {
|
|
155
|
+
type: "object",
|
|
156
|
+
properties: { p_name: reqStr("Component name") },
|
|
157
|
+
required: ["p_name"],
|
|
158
|
+
},
|
|
159
|
+
list_components: {
|
|
160
|
+
type: "object",
|
|
161
|
+
properties: {
|
|
162
|
+
p_node: int("Ecosystem node 1-10"),
|
|
163
|
+
p_status: str("Status filter"),
|
|
164
|
+
p_category: str("Category filter"),
|
|
165
|
+
p_limit: int("Max rows (default 500)"),
|
|
166
|
+
p_offset: int("Offset"),
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
search_components: {
|
|
170
|
+
type: "object",
|
|
171
|
+
properties: {
|
|
172
|
+
p_query: reqStr("Search query"),
|
|
173
|
+
p_limit: int("Max rows (default 50)"),
|
|
174
|
+
},
|
|
175
|
+
required: ["p_query"],
|
|
176
|
+
},
|
|
177
|
+
get_node_categories: {
|
|
178
|
+
type: "object",
|
|
179
|
+
properties: { p_node: int("Ecosystem node 1-10; omit for all nodes") },
|
|
180
|
+
},
|
|
181
|
+
get_node_detail: {
|
|
182
|
+
type: "object",
|
|
183
|
+
properties: {
|
|
184
|
+
p_node: int("Ecosystem node 1-10; omit for a summary of all ten"),
|
|
185
|
+
},
|
|
186
|
+
},
|
|
44
187
|
// documents
|
|
45
|
-
get_node_documents: {
|
|
188
|
+
get_node_documents: {
|
|
189
|
+
type: "object",
|
|
190
|
+
properties: {
|
|
191
|
+
p_node: int("Ecosystem node 1-10"),
|
|
192
|
+
p_collection: str("Collection key, e.g. 'agentic-components'"),
|
|
193
|
+
p_name: str("Exact document name"),
|
|
194
|
+
p_owner: str("Owner: bundu | mzizi | framework | nyuchi"),
|
|
195
|
+
p_limit: int("Max rows (default 1000)"),
|
|
196
|
+
},
|
|
197
|
+
},
|
|
46
198
|
// skills
|
|
47
|
-
get_skill: {
|
|
199
|
+
get_skill: {
|
|
200
|
+
type: "object",
|
|
201
|
+
properties: { p_name: reqStr("Skill name") },
|
|
202
|
+
required: ["p_name"],
|
|
203
|
+
},
|
|
48
204
|
// ai
|
|
49
|
-
get_ai_instructions: {
|
|
50
|
-
|
|
205
|
+
get_ai_instructions: {
|
|
206
|
+
type: "object",
|
|
207
|
+
properties: { p_name: reqStr("Target/instruction name, e.g. 'claude'") },
|
|
208
|
+
required: ["p_name"],
|
|
209
|
+
},
|
|
210
|
+
list_ai_instructions: {
|
|
211
|
+
type: "object",
|
|
212
|
+
properties: { p_target: str("Filter by target") },
|
|
213
|
+
},
|
|
51
214
|
// brand
|
|
52
|
-
get_brand_tokens: {
|
|
53
|
-
|
|
215
|
+
get_brand_tokens: {
|
|
216
|
+
type: "object",
|
|
217
|
+
properties: { p_category: reqStr("Token category") },
|
|
218
|
+
required: ["p_category"],
|
|
219
|
+
},
|
|
220
|
+
list_ecosystem_brands: {
|
|
221
|
+
type: "object",
|
|
222
|
+
properties: { p_adopter_type: str("Adopter type filter") },
|
|
223
|
+
},
|
|
54
224
|
// governance
|
|
55
|
-
get_bundu_convention: {
|
|
225
|
+
get_bundu_convention: {
|
|
226
|
+
type: "object",
|
|
227
|
+
properties: { p_slug: reqStr("Convention slug") },
|
|
228
|
+
required: ["p_slug"],
|
|
229
|
+
},
|
|
56
230
|
// release
|
|
57
|
-
get_changelog_entry: {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
231
|
+
get_changelog_entry: {
|
|
232
|
+
type: "object",
|
|
233
|
+
properties: { p_version: reqStr("Version, e.g. '7.0.0'") },
|
|
234
|
+
required: ["p_version"],
|
|
235
|
+
},
|
|
236
|
+
get_component_status_history: {
|
|
237
|
+
type: "object",
|
|
238
|
+
properties: { p_name: reqStr("Component name") },
|
|
239
|
+
required: ["p_name"],
|
|
240
|
+
},
|
|
241
|
+
get_release_with_diff: {
|
|
242
|
+
type: "object",
|
|
243
|
+
properties: { p_version: reqStr("Version") },
|
|
244
|
+
required: ["p_version"],
|
|
245
|
+
},
|
|
246
|
+
compute_release_diff: {
|
|
247
|
+
type: "object",
|
|
248
|
+
properties: {
|
|
249
|
+
p_since: reqStr("ISO timestamp (inclusive)"),
|
|
250
|
+
p_until: str("ISO timestamp (default now)"),
|
|
251
|
+
},
|
|
252
|
+
required: ["p_since"],
|
|
253
|
+
},
|
|
254
|
+
list_changelog: {
|
|
255
|
+
type: "object",
|
|
256
|
+
properties: {
|
|
257
|
+
p_limit: int("Max rows (default 50)"),
|
|
258
|
+
p_offset: int("Offset"),
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
list_tool_versions: {
|
|
262
|
+
type: "object",
|
|
263
|
+
properties: {
|
|
264
|
+
p_tool_name: reqStr("Tool name"),
|
|
265
|
+
p_limit: int("Max rows (default 20)"),
|
|
266
|
+
},
|
|
267
|
+
required: ["p_tool_name"],
|
|
268
|
+
},
|
|
63
269
|
// fundi (reads)
|
|
64
|
-
get_healing_log: {
|
|
65
|
-
|
|
270
|
+
get_healing_log: {
|
|
271
|
+
type: "object",
|
|
272
|
+
properties: {
|
|
273
|
+
p_issue_id: int("Filter by issue id"),
|
|
274
|
+
p_limit: int("Max rows (default 100)"),
|
|
275
|
+
},
|
|
276
|
+
},
|
|
277
|
+
list_recent_fundi_issues: {
|
|
278
|
+
type: "object",
|
|
279
|
+
properties: {
|
|
280
|
+
p_status: str("Status filter"),
|
|
281
|
+
p_severity: str("Severity filter"),
|
|
282
|
+
p_limit: int("Max rows (default 50)"),
|
|
283
|
+
},
|
|
284
|
+
},
|
|
66
285
|
// resolver
|
|
67
|
-
resolve_primitive: {
|
|
68
|
-
|
|
69
|
-
|
|
286
|
+
resolve_primitive: {
|
|
287
|
+
type: "object",
|
|
288
|
+
properties: {
|
|
289
|
+
p_primitive_name: reqStr("Primitive name"),
|
|
290
|
+
p_descriptor_slug: reqStr("Framework descriptor slug, e.g. 'react'"),
|
|
291
|
+
},
|
|
292
|
+
required: ["p_primitive_name", "p_descriptor_slug"],
|
|
293
|
+
},
|
|
294
|
+
list_primitive_sources: {
|
|
295
|
+
type: "object",
|
|
296
|
+
properties: { p_primitive_name: reqStr("Primitive name") },
|
|
297
|
+
required: ["p_primitive_name"],
|
|
298
|
+
},
|
|
299
|
+
list_framework_descriptors: {
|
|
300
|
+
type: "object",
|
|
301
|
+
properties: { p_active_only: bool("Only active descriptors") },
|
|
302
|
+
},
|
|
70
303
|
// observability
|
|
71
|
-
is_domain_allowed: {
|
|
72
|
-
|
|
73
|
-
|
|
304
|
+
is_domain_allowed: {
|
|
305
|
+
type: "object",
|
|
306
|
+
properties: {
|
|
307
|
+
p_domain: reqStr("Domain"),
|
|
308
|
+
p_feature: str("Feature (default 'portal_links')"),
|
|
309
|
+
},
|
|
310
|
+
required: ["p_domain"],
|
|
311
|
+
},
|
|
312
|
+
list_observability_domains: {
|
|
313
|
+
type: "object",
|
|
314
|
+
properties: { p_feature: str("Feature filter") },
|
|
315
|
+
},
|
|
316
|
+
list_observability_events: {
|
|
317
|
+
type: "object",
|
|
318
|
+
properties: {
|
|
319
|
+
p_domain: str("Domain filter"),
|
|
320
|
+
p_component_name: str("Component filter"),
|
|
321
|
+
p_event_type: str("Event-type filter"),
|
|
322
|
+
p_limit: int("Max rows (default 100)"),
|
|
323
|
+
},
|
|
324
|
+
},
|
|
74
325
|
// chaos (read)
|
|
75
|
-
list_chaos_events: {
|
|
326
|
+
list_chaos_events: {
|
|
327
|
+
type: "object",
|
|
328
|
+
properties: {
|
|
329
|
+
p_domain: str("Domain filter"),
|
|
330
|
+
p_environment: str("Environment filter"),
|
|
331
|
+
p_event_type: str("Event-type filter"),
|
|
332
|
+
p_limit: int("Max rows (default 100)"),
|
|
333
|
+
},
|
|
334
|
+
},
|
|
76
335
|
// a11y
|
|
77
|
-
calculate_contrast_ratio: {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
336
|
+
calculate_contrast_ratio: {
|
|
337
|
+
type: "object",
|
|
338
|
+
properties: {
|
|
339
|
+
fg_hex: reqStr("Foreground hex, e.g. '#111111'"),
|
|
340
|
+
bg_hex: reqStr("Background hex, e.g. '#ffffff'"),
|
|
341
|
+
},
|
|
342
|
+
required: ["fg_hex", "bg_hex"],
|
|
343
|
+
},
|
|
344
|
+
relative_luminance: {
|
|
345
|
+
type: "object",
|
|
346
|
+
properties: { hex: reqStr("Hex colour") },
|
|
347
|
+
required: ["hex"],
|
|
348
|
+
},
|
|
349
|
+
simulate_color_blindness: {
|
|
350
|
+
type: "object",
|
|
351
|
+
properties: {
|
|
352
|
+
hex: reqStr("Hex colour"),
|
|
353
|
+
cb_type: reqStr("Type: protanopia | deuteranopia | tritanopia"),
|
|
354
|
+
},
|
|
355
|
+
required: ["hex", "cb_type"],
|
|
356
|
+
},
|
|
357
|
+
run_accessibility_audit: {
|
|
358
|
+
type: "object",
|
|
359
|
+
properties: {
|
|
360
|
+
p_file_fundi_issues: bool("File fundi issues for failures (default true)"),
|
|
361
|
+
p_contrast_floor: num("Minimum contrast ratio (default 3.0)"),
|
|
362
|
+
},
|
|
363
|
+
},
|
|
81
364
|
// meta
|
|
82
|
-
mcp_describe: {
|
|
365
|
+
mcp_describe: {
|
|
366
|
+
type: "object",
|
|
367
|
+
properties: {
|
|
368
|
+
p_category: str("Filter by category"),
|
|
369
|
+
p_stability: str("Filter by stability"),
|
|
370
|
+
p_tool_kind: str("Filter by tool kind"),
|
|
371
|
+
},
|
|
372
|
+
},
|
|
83
373
|
};
|
|
84
374
|
const EMPTY_SCHEMA = { type: "object", properties: {} };
|
|
85
375
|
/**
|
|
@@ -108,15 +398,34 @@ async function fetchCollectionRows(supabase) {
|
|
|
108
398
|
return { rows, error: null };
|
|
109
399
|
}
|
|
110
400
|
}
|
|
111
|
-
function jsonContent(value) {
|
|
112
|
-
|
|
401
|
+
function jsonContent(value, wrapKey) {
|
|
402
|
+
const text = {
|
|
403
|
+
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
404
|
+
};
|
|
405
|
+
// `structuredContent` must be a JSON object per spec. When the tool declares an
|
|
406
|
+
// `outputSchema`, its result is wrapped under the schema's single top-level key
|
|
407
|
+
// (`rows` for arrays, `result` for scalars/jsonb) so the two stay in lock-step.
|
|
408
|
+
if (wrapKey) {
|
|
409
|
+
return {
|
|
410
|
+
...text,
|
|
411
|
+
structuredContent: { [wrapKey]: value ?? null },
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
// No declared schema: attach plain objects directly, leave arrays/primitives
|
|
415
|
+
// text-only to keep their shape backward-compatible.
|
|
416
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
417
|
+
return { ...text, structuredContent: value };
|
|
418
|
+
}
|
|
419
|
+
return text;
|
|
113
420
|
}
|
|
114
421
|
function toolError(message) {
|
|
115
422
|
return { isError: true, content: [{ type: "text", text: message }] };
|
|
116
423
|
}
|
|
117
424
|
function hasProperties(schema) {
|
|
118
425
|
const props = schema && schema.properties;
|
|
119
|
-
return !!props &&
|
|
426
|
+
return (!!props &&
|
|
427
|
+
typeof props === "object" &&
|
|
428
|
+
Object.keys(props).length > 0);
|
|
120
429
|
}
|
|
121
430
|
function schemaFor(row) {
|
|
122
431
|
if (hasProperties(row.input_schema))
|
|
@@ -135,42 +444,84 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
135
444
|
version: MZIZI_MCP_VERSION,
|
|
136
445
|
title: "Mzizi",
|
|
137
446
|
}, {
|
|
138
|
-
capabilities: {
|
|
447
|
+
capabilities: {
|
|
448
|
+
tools: { listChanged: true },
|
|
449
|
+
resources: { listChanged: true },
|
|
450
|
+
},
|
|
139
451
|
instructions: "Read-only access to the Mzizi design-system registry (a nyuchi-brand project of the Bundu ecosystem): components, design tokens, brand, the N1-N10 ecosystem architecture, Ubuntu doctrine, skills, releases, and the agentic-components surface. The tool surface is registry-driven — call mcp_describe to enumerate tools and categories, list_collections to see document collections, get_component / list_components / search_components for components, and get_node_documents for everything under an ecosystem node or collection.",
|
|
140
452
|
});
|
|
141
453
|
// ── Registry-driven tool catalog ───────────────────────────────────────────
|
|
142
454
|
const { data, error } = await supabase
|
|
143
455
|
.from("mcp_tool_registry")
|
|
144
|
-
.select("tool_name, description, category, tool_kind, sql_function, source_table, edge_function, input_schema, requires_first_party")
|
|
456
|
+
.select("tool_name, description, category, tool_kind, sql_function, source_table, edge_function, input_schema, output_shape, requires_first_party")
|
|
145
457
|
.eq("enabled", true);
|
|
146
458
|
if (error) {
|
|
147
459
|
// Surface the failure as a diagnostic tool rather than a silent empty server.
|
|
148
460
|
server.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
149
461
|
tools: [
|
|
150
462
|
{
|
|
151
|
-
name:
|
|
463
|
+
name: `${TOOL_PREFIX}registry_unavailable`,
|
|
152
464
|
description: `The mcp_tool_registry could not be read: ${error.message}`,
|
|
153
465
|
inputSchema: EMPTY_SCHEMA,
|
|
466
|
+
annotations: annotationsFor("registry_unavailable"),
|
|
154
467
|
},
|
|
155
468
|
],
|
|
156
469
|
}));
|
|
157
470
|
server.server.setRequestHandler(CallToolRequestSchema, async () => toolError(`mcp_tool_registry unavailable: ${error.message}`));
|
|
158
471
|
return server;
|
|
159
472
|
}
|
|
160
|
-
const rows = (data ?? []).filter((r) => !r.requires_first_party &&
|
|
473
|
+
const rows = (data ?? []).filter((r) => !r.requires_first_party &&
|
|
474
|
+
(r.tool_kind !== "write" || PUBLIC_WRITE_TOOLS.has(r.tool_name)));
|
|
161
475
|
const byName = new Map(rows.map((r) => [r.tool_name, r]));
|
|
162
476
|
// Core document tools that are aggregates without an RPC, so they aren't
|
|
163
477
|
// registry-backed. Everything else is registry-driven.
|
|
478
|
+
const collectionsOutput = {
|
|
479
|
+
type: "object",
|
|
480
|
+
properties: {
|
|
481
|
+
rows: {
|
|
482
|
+
type: "array",
|
|
483
|
+
items: {
|
|
484
|
+
type: "object",
|
|
485
|
+
properties: {
|
|
486
|
+
collection: { type: "string" },
|
|
487
|
+
node: { type: ["integer", "null"] },
|
|
488
|
+
total: { type: "integer" },
|
|
489
|
+
byOwner: { type: "object" },
|
|
490
|
+
},
|
|
491
|
+
},
|
|
492
|
+
},
|
|
493
|
+
},
|
|
494
|
+
required: ["rows"],
|
|
495
|
+
};
|
|
496
|
+
const databaseStatusOutput = {
|
|
497
|
+
type: "object",
|
|
498
|
+
properties: {
|
|
499
|
+
provider: { type: "string" },
|
|
500
|
+
status: { type: "string" },
|
|
501
|
+
error: { type: ["string", "null"] },
|
|
502
|
+
documents: { type: "integer" },
|
|
503
|
+
registryTools: { type: "integer" },
|
|
504
|
+
version: { type: "string" },
|
|
505
|
+
readOnly: { type: "boolean" },
|
|
506
|
+
},
|
|
507
|
+
required: ["provider", "status", "documents", "registryTools", "version"],
|
|
508
|
+
};
|
|
164
509
|
const coreTools = [
|
|
165
510
|
{
|
|
166
|
-
name:
|
|
511
|
+
name: `${TOOL_PREFIX}list_collections`,
|
|
167
512
|
description: "List every collection in the Mzizi document store with document counts and per-owner breakdown (components, primitives, brand, agentic-components, skills, …).",
|
|
168
513
|
inputSchema: EMPTY_SCHEMA,
|
|
514
|
+
outputSchema: collectionsOutput,
|
|
515
|
+
annotations: annotationsFor("list_collections"),
|
|
516
|
+
_meta: metaFor("documents"),
|
|
169
517
|
},
|
|
170
518
|
{
|
|
171
|
-
name:
|
|
519
|
+
name: `${TOOL_PREFIX}get_database_status`,
|
|
172
520
|
description: "Provider health, document-store row count, and registered-tool count.",
|
|
173
521
|
inputSchema: EMPTY_SCHEMA,
|
|
522
|
+
outputSchema: databaseStatusOutput,
|
|
523
|
+
annotations: annotationsFor("get_database_status"),
|
|
524
|
+
_meta: metaFor("system"),
|
|
174
525
|
},
|
|
175
526
|
];
|
|
176
527
|
// fundi trigger — exposed only when this Worker is wired as a fundi caller
|
|
@@ -178,29 +529,50 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
178
529
|
// signed-in user's request to fundi with an M2M token + the user's token.
|
|
179
530
|
if (opts.fundi) {
|
|
180
531
|
coreTools.push({
|
|
181
|
-
name:
|
|
532
|
+
name: `${TOOL_PREFIX}fundi_status`,
|
|
182
533
|
description: "Check fundi — the self-healing agent — on behalf of the signed-in user. fundi is machine-to-machine and only runs through an authenticated tool; this routes your request through mzizi-mcp, which holds the M2M credential.",
|
|
183
534
|
inputSchema: EMPTY_SCHEMA,
|
|
535
|
+
// Reaches the external fundi worker → open-world; still a read-only whoami.
|
|
536
|
+
annotations: annotationsFor("fundi_status", { openWorldHint: true }),
|
|
537
|
+
_meta: metaFor("fundi"),
|
|
184
538
|
});
|
|
185
539
|
}
|
|
186
540
|
const tools = [
|
|
187
|
-
...rows.map((r) =>
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
541
|
+
...rows.map((r) => {
|
|
542
|
+
const emitted = emittedOutput(r.output_shape);
|
|
543
|
+
return {
|
|
544
|
+
name: `${TOOL_PREFIX}${r.tool_name}`,
|
|
545
|
+
description: r.description ??
|
|
546
|
+
`${r.category ?? "mzizi"} ${r.tool_kind ?? "read"} tool (registry-driven).`,
|
|
547
|
+
inputSchema: schemaFor(r),
|
|
548
|
+
...(emitted
|
|
549
|
+
? {
|
|
550
|
+
outputSchema: emitted.outputSchema,
|
|
551
|
+
}
|
|
552
|
+
: {}),
|
|
553
|
+
annotations: annotationsFor(r.tool_name, r.tool_kind === "write" ? WRITE_HINTS : {}),
|
|
554
|
+
_meta: metaFor(r.category),
|
|
555
|
+
};
|
|
556
|
+
}),
|
|
192
557
|
...coreTools,
|
|
193
558
|
];
|
|
194
|
-
server.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
559
|
+
server.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
560
|
+
tools,
|
|
561
|
+
}));
|
|
195
562
|
server.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
196
|
-
|
|
563
|
+
// Tools are exposed with the `mzizi_` prefix; strip it back to the internal
|
|
564
|
+
// (registry / core) name before dispatch. Tolerate an unprefixed call too.
|
|
565
|
+
const requested = request.params.name;
|
|
566
|
+
const name = requested.startsWith(TOOL_PREFIX)
|
|
567
|
+
? requested.slice(TOOL_PREFIX.length)
|
|
568
|
+
: requested;
|
|
197
569
|
const args = (request.params.arguments ?? {});
|
|
198
570
|
// Core document tools (aggregates without an RPC).
|
|
199
571
|
if (name === "list_collections") {
|
|
200
572
|
const { rows, error } = await fetchCollectionRows(supabase);
|
|
201
573
|
if (error)
|
|
202
574
|
return toolError(`list_collections failed: ${error}`);
|
|
203
|
-
return jsonContent(summariseCollections(rows));
|
|
575
|
+
return jsonContent(summariseCollections(rows), "rows");
|
|
204
576
|
}
|
|
205
577
|
if (name === "get_database_status") {
|
|
206
578
|
const docs = await supabase
|
|
@@ -237,25 +609,29 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
237
609
|
const row = byName.get(name);
|
|
238
610
|
if (!row)
|
|
239
611
|
return toolError(`Unknown tool: ${name}`);
|
|
612
|
+
const wrapKey = emittedOutput(row.output_shape)?.wrapKey ?? null;
|
|
240
613
|
try {
|
|
241
614
|
if (row.sql_function) {
|
|
242
615
|
const fn = row.sql_function.replace(/^public\./, "");
|
|
243
616
|
const { data, error } = await supabase.rpc(fn, args);
|
|
244
617
|
if (error)
|
|
245
618
|
return toolError(`${row.tool_name} failed: ${error.message}`);
|
|
246
|
-
return jsonContent(data);
|
|
619
|
+
return jsonContent(data, wrapKey);
|
|
247
620
|
}
|
|
248
621
|
if (row.edge_function) {
|
|
249
622
|
const { data, error } = await supabase.functions.invoke(row.edge_function, { body: args });
|
|
250
623
|
if (error)
|
|
251
624
|
return toolError(`${row.tool_name} (edge) failed: ${error.message}`);
|
|
252
|
-
return jsonContent(data);
|
|
625
|
+
return jsonContent(data, wrapKey);
|
|
253
626
|
}
|
|
254
627
|
if (row.source_table) {
|
|
255
|
-
const { data, error } = await supabase
|
|
628
|
+
const { data, error } = await supabase
|
|
629
|
+
.from(row.source_table)
|
|
630
|
+
.select("*")
|
|
631
|
+
.limit(200);
|
|
256
632
|
if (error)
|
|
257
633
|
return toolError(`${row.tool_name} failed: ${error.message}`);
|
|
258
|
-
return jsonContent(data);
|
|
634
|
+
return jsonContent(data, wrapKey);
|
|
259
635
|
}
|
|
260
636
|
return toolError(`${row.tool_name} has no dispatch target in the registry.`);
|
|
261
637
|
}
|
|
@@ -295,7 +671,11 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
295
671
|
}));
|
|
296
672
|
return {
|
|
297
673
|
contents: [
|
|
298
|
-
{
|
|
674
|
+
{
|
|
675
|
+
uri: "mzizi://components",
|
|
676
|
+
mimeType: "application/json",
|
|
677
|
+
text: JSON.stringify(lean, null, 2),
|
|
678
|
+
},
|
|
299
679
|
],
|
|
300
680
|
};
|
|
301
681
|
});
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|