@nyuchi/mzizi-mcp 0.5.0-beta.3 → 0.5.0-beta.5
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 +415 -65
- 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.5";
|
|
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;AAyfhD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAO,GACtC,OAAO,CAAC,SAAS,CAAC,CAsSpB"}
|
package/dist/server.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
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.
|
|
25
|
+
export const MZIZI_MCP_VERSION = "0.5.0-beta.5";
|
|
26
26
|
/**
|
|
27
27
|
* Every tool this server exposes is prefixed with `mzizi_` so the surface is
|
|
28
28
|
* unambiguous when mounted alongside other MCP servers (see the mcp-builder
|
|
@@ -33,7 +33,10 @@ export const MZIZI_MCP_VERSION = "0.5.0-beta.3";
|
|
|
33
33
|
const TOOL_PREFIX = "mzizi_";
|
|
34
34
|
/** Human-readable title from a (possibly prefixed) tool name: `get_component` → "Get component". */
|
|
35
35
|
function titleFor(name) {
|
|
36
|
-
const words = name
|
|
36
|
+
const words = name
|
|
37
|
+
.replace(new RegExp(`^${TOOL_PREFIX}`), "")
|
|
38
|
+
.replace(/_/g, " ")
|
|
39
|
+
.trim();
|
|
37
40
|
return words.charAt(0).toUpperCase() + words.slice(1);
|
|
38
41
|
}
|
|
39
42
|
const READ_ONLY_HINTS = {
|
|
@@ -42,10 +45,61 @@ const READ_ONLY_HINTS = {
|
|
|
42
45
|
idempotentHint: true,
|
|
43
46
|
openWorldHint: false,
|
|
44
47
|
};
|
|
45
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Defaults for a mutating tool: not read-only, but append-only (never deletes
|
|
50
|
+
* or overwrites → `destructiveHint` false) and not idempotent (each call makes
|
|
51
|
+
* a new row). Also the fallback for `action`-kind tools, which run/compute
|
|
52
|
+
* something and are likewise neither read-only nor idempotent.
|
|
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
|
+
/**
|
|
75
|
+
* Annotations for a CORE tool defined in this file (list_collections,
|
|
76
|
+
* get_database_status, fundi_status, the registry-unavailable diagnostic).
|
|
77
|
+
* These have no registry row, so their hints live here. Defaults to read-only;
|
|
78
|
+
* pass overrides for the exceptions.
|
|
79
|
+
*/
|
|
46
80
|
function annotationsFor(name, overrides = {}) {
|
|
47
81
|
return { title: titleFor(name), ...READ_ONLY_HINTS, ...overrides };
|
|
48
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Annotations for a registry-backed tool, read from the `mcp_tool_registry`
|
|
85
|
+
* annotation columns — the single source of truth. Each column that is null
|
|
86
|
+
* falls back to the per-`tool_kind` default (`read` → READ_ONLY_HINTS, anything
|
|
87
|
+
* else → WRITE_HINTS), and `title` falls back to the derived `titleFor`. This
|
|
88
|
+
* keeps the emitted annotations honest for every kind, including `action` tools
|
|
89
|
+
* (which compute/run and are correctly NOT read-only), without hardcoding any
|
|
90
|
+
* per-tool behaviour in the server.
|
|
91
|
+
*/
|
|
92
|
+
function annotationsFromRow(row) {
|
|
93
|
+
const fallback = row.tool_kind === "read" ? READ_ONLY_HINTS : WRITE_HINTS;
|
|
94
|
+
const pick = (col, def) => col ?? def;
|
|
95
|
+
return {
|
|
96
|
+
title: row.title ?? titleFor(row.tool_name),
|
|
97
|
+
readOnlyHint: pick(row.read_only_hint, fallback.readOnlyHint),
|
|
98
|
+
destructiveHint: pick(row.destructive_hint, fallback.destructiveHint),
|
|
99
|
+
idempotentHint: pick(row.idempotent_hint, fallback.idempotentHint),
|
|
100
|
+
openWorldHint: pick(row.open_world_hint, fallback.openWorldHint),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
49
103
|
/**
|
|
50
104
|
* Namespaced `_meta` for a tool. The registry groups tools by `category`
|
|
51
105
|
* (component, architecture, brand, skills, documents, release, a11y,
|
|
@@ -56,11 +110,51 @@ function annotationsFor(name, overrides = {}) {
|
|
|
56
110
|
function metaFor(category) {
|
|
57
111
|
return { "mzizi.dev/category": category ?? "uncategorised" };
|
|
58
112
|
}
|
|
59
|
-
|
|
113
|
+
/**
|
|
114
|
+
* The registry stores each tool's return shape as an already-enveloped JSON
|
|
115
|
+
* Schema object: `{ type:"object", properties:{ <key>: … }, required:[<key>] }`
|
|
116
|
+
* where `<key>` is `rows` for the array-returning `RETURNS TABLE` functions and
|
|
117
|
+
* `result` for scalar/jsonb returns. MCP requires `outputSchema` (and the
|
|
118
|
+
* matching `structuredContent`) to be an object, so the RPC's raw array/scalar
|
|
119
|
+
* result is wrapped under that single key at dispatch time. Returns the schema
|
|
120
|
+
* to emit plus the wrap key, or null when no usable shape is stored.
|
|
121
|
+
*/
|
|
122
|
+
function emittedOutput(raw) {
|
|
123
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
124
|
+
return null;
|
|
125
|
+
if (raw["type"] !== "object")
|
|
126
|
+
return null;
|
|
127
|
+
const props = raw["properties"];
|
|
128
|
+
if (!props || typeof props !== "object")
|
|
129
|
+
return null;
|
|
130
|
+
const keys = Object.keys(props);
|
|
131
|
+
if (keys.length === 0)
|
|
132
|
+
return null;
|
|
133
|
+
const required = Array.isArray(raw["required"])
|
|
134
|
+
? raw["required"]
|
|
135
|
+
: [];
|
|
136
|
+
const wrapKey = required[0] ?? keys[0];
|
|
137
|
+
if (!wrapKey)
|
|
138
|
+
return null;
|
|
139
|
+
return { outputSchema: raw, wrapKey };
|
|
140
|
+
}
|
|
141
|
+
const str = (description) => ({
|
|
142
|
+
type: ["string", "null"],
|
|
143
|
+
description,
|
|
144
|
+
});
|
|
60
145
|
const reqStr = (description) => ({ type: "string", description });
|
|
61
|
-
const int = (description) => ({
|
|
62
|
-
|
|
63
|
-
|
|
146
|
+
const int = (description) => ({
|
|
147
|
+
type: ["integer", "null"],
|
|
148
|
+
description,
|
|
149
|
+
});
|
|
150
|
+
const bool = (description) => ({
|
|
151
|
+
type: ["boolean", "null"],
|
|
152
|
+
description,
|
|
153
|
+
});
|
|
154
|
+
const num = (description) => ({
|
|
155
|
+
type: ["number", "null"],
|
|
156
|
+
description,
|
|
157
|
+
});
|
|
64
158
|
/**
|
|
65
159
|
* Curated input schemas for the parameterized tools whose registry
|
|
66
160
|
* `input_schema` is not (yet) populated. Property names are the exact SQL
|
|
@@ -69,52 +163,238 @@ const num = (description) => ({ type: ["number", "null"], description });
|
|
|
69
163
|
*/
|
|
70
164
|
const INPUT_SCHEMAS = {
|
|
71
165
|
// component
|
|
72
|
-
get_component: {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
166
|
+
get_component: {
|
|
167
|
+
type: "object",
|
|
168
|
+
properties: { p_name: reqStr("Component name, e.g. 'button'") },
|
|
169
|
+
required: ["p_name"],
|
|
170
|
+
},
|
|
171
|
+
get_component_history: {
|
|
172
|
+
type: "object",
|
|
173
|
+
properties: {
|
|
174
|
+
p_component_name: reqStr("Component name"),
|
|
175
|
+
p_limit: int("Max rows (default 20)"),
|
|
176
|
+
},
|
|
177
|
+
required: ["p_component_name"],
|
|
178
|
+
},
|
|
179
|
+
get_component_links: {
|
|
180
|
+
type: "object",
|
|
181
|
+
properties: { p_name: reqStr("Component name") },
|
|
182
|
+
required: ["p_name"],
|
|
183
|
+
},
|
|
184
|
+
list_components: {
|
|
185
|
+
type: "object",
|
|
186
|
+
properties: {
|
|
187
|
+
p_node: int("Ecosystem node 1-10"),
|
|
188
|
+
p_status: str("Status filter"),
|
|
189
|
+
p_category: str("Category filter"),
|
|
190
|
+
p_limit: int("Max rows (default 500)"),
|
|
191
|
+
p_offset: int("Offset"),
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
search_components: {
|
|
195
|
+
type: "object",
|
|
196
|
+
properties: {
|
|
197
|
+
p_query: reqStr("Search query"),
|
|
198
|
+
p_limit: int("Max rows (default 50)"),
|
|
199
|
+
},
|
|
200
|
+
required: ["p_query"],
|
|
201
|
+
},
|
|
202
|
+
get_node_categories: {
|
|
203
|
+
type: "object",
|
|
204
|
+
properties: { p_node: int("Ecosystem node 1-10; omit for all nodes") },
|
|
205
|
+
},
|
|
206
|
+
get_node_detail: {
|
|
207
|
+
type: "object",
|
|
208
|
+
properties: {
|
|
209
|
+
p_node: int("Ecosystem node 1-10; omit for a summary of all ten"),
|
|
210
|
+
},
|
|
211
|
+
},
|
|
79
212
|
// documents
|
|
80
|
-
get_node_documents: {
|
|
213
|
+
get_node_documents: {
|
|
214
|
+
type: "object",
|
|
215
|
+
properties: {
|
|
216
|
+
p_node: int("Ecosystem node 1-10"),
|
|
217
|
+
p_collection: str("Collection key, e.g. 'agentic-components'"),
|
|
218
|
+
p_name: str("Exact document name"),
|
|
219
|
+
p_owner: str("Owner: bundu | mzizi | framework | nyuchi"),
|
|
220
|
+
p_limit: int("Max rows (default 1000)"),
|
|
221
|
+
},
|
|
222
|
+
},
|
|
81
223
|
// skills
|
|
82
|
-
get_skill: {
|
|
224
|
+
get_skill: {
|
|
225
|
+
type: "object",
|
|
226
|
+
properties: { p_name: reqStr("Skill name") },
|
|
227
|
+
required: ["p_name"],
|
|
228
|
+
},
|
|
83
229
|
// ai
|
|
84
|
-
get_ai_instructions: {
|
|
85
|
-
|
|
230
|
+
get_ai_instructions: {
|
|
231
|
+
type: "object",
|
|
232
|
+
properties: { p_name: reqStr("Target/instruction name, e.g. 'claude'") },
|
|
233
|
+
required: ["p_name"],
|
|
234
|
+
},
|
|
235
|
+
list_ai_instructions: {
|
|
236
|
+
type: "object",
|
|
237
|
+
properties: { p_target: str("Filter by target") },
|
|
238
|
+
},
|
|
86
239
|
// brand
|
|
87
|
-
get_brand_tokens: {
|
|
88
|
-
|
|
240
|
+
get_brand_tokens: {
|
|
241
|
+
type: "object",
|
|
242
|
+
properties: { p_category: reqStr("Token category") },
|
|
243
|
+
required: ["p_category"],
|
|
244
|
+
},
|
|
245
|
+
list_ecosystem_brands: {
|
|
246
|
+
type: "object",
|
|
247
|
+
properties: { p_adopter_type: str("Adopter type filter") },
|
|
248
|
+
},
|
|
89
249
|
// governance
|
|
90
|
-
get_bundu_convention: {
|
|
250
|
+
get_bundu_convention: {
|
|
251
|
+
type: "object",
|
|
252
|
+
properties: { p_slug: reqStr("Convention slug") },
|
|
253
|
+
required: ["p_slug"],
|
|
254
|
+
},
|
|
91
255
|
// release
|
|
92
|
-
get_changelog_entry: {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
256
|
+
get_changelog_entry: {
|
|
257
|
+
type: "object",
|
|
258
|
+
properties: { p_version: reqStr("Version, e.g. '7.0.0'") },
|
|
259
|
+
required: ["p_version"],
|
|
260
|
+
},
|
|
261
|
+
get_component_status_history: {
|
|
262
|
+
type: "object",
|
|
263
|
+
properties: { p_name: reqStr("Component name") },
|
|
264
|
+
required: ["p_name"],
|
|
265
|
+
},
|
|
266
|
+
get_release_with_diff: {
|
|
267
|
+
type: "object",
|
|
268
|
+
properties: { p_version: reqStr("Version") },
|
|
269
|
+
required: ["p_version"],
|
|
270
|
+
},
|
|
271
|
+
compute_release_diff: {
|
|
272
|
+
type: "object",
|
|
273
|
+
properties: {
|
|
274
|
+
p_since: reqStr("ISO timestamp (inclusive)"),
|
|
275
|
+
p_until: str("ISO timestamp (default now)"),
|
|
276
|
+
},
|
|
277
|
+
required: ["p_since"],
|
|
278
|
+
},
|
|
279
|
+
list_changelog: {
|
|
280
|
+
type: "object",
|
|
281
|
+
properties: {
|
|
282
|
+
p_limit: int("Max rows (default 50)"),
|
|
283
|
+
p_offset: int("Offset"),
|
|
284
|
+
},
|
|
285
|
+
},
|
|
286
|
+
list_tool_versions: {
|
|
287
|
+
type: "object",
|
|
288
|
+
properties: {
|
|
289
|
+
p_tool_name: reqStr("Tool name"),
|
|
290
|
+
p_limit: int("Max rows (default 20)"),
|
|
291
|
+
},
|
|
292
|
+
required: ["p_tool_name"],
|
|
293
|
+
},
|
|
98
294
|
// fundi (reads)
|
|
99
|
-
get_healing_log: {
|
|
100
|
-
|
|
295
|
+
get_healing_log: {
|
|
296
|
+
type: "object",
|
|
297
|
+
properties: {
|
|
298
|
+
p_issue_id: int("Filter by issue id"),
|
|
299
|
+
p_limit: int("Max rows (default 100)"),
|
|
300
|
+
},
|
|
301
|
+
},
|
|
302
|
+
list_recent_fundi_issues: {
|
|
303
|
+
type: "object",
|
|
304
|
+
properties: {
|
|
305
|
+
p_status: str("Status filter"),
|
|
306
|
+
p_severity: str("Severity filter"),
|
|
307
|
+
p_limit: int("Max rows (default 50)"),
|
|
308
|
+
},
|
|
309
|
+
},
|
|
101
310
|
// resolver
|
|
102
|
-
resolve_primitive: {
|
|
103
|
-
|
|
104
|
-
|
|
311
|
+
resolve_primitive: {
|
|
312
|
+
type: "object",
|
|
313
|
+
properties: {
|
|
314
|
+
p_primitive_name: reqStr("Primitive name"),
|
|
315
|
+
p_descriptor_slug: reqStr("Framework descriptor slug, e.g. 'react'"),
|
|
316
|
+
},
|
|
317
|
+
required: ["p_primitive_name", "p_descriptor_slug"],
|
|
318
|
+
},
|
|
319
|
+
list_primitive_sources: {
|
|
320
|
+
type: "object",
|
|
321
|
+
properties: { p_primitive_name: reqStr("Primitive name") },
|
|
322
|
+
required: ["p_primitive_name"],
|
|
323
|
+
},
|
|
324
|
+
list_framework_descriptors: {
|
|
325
|
+
type: "object",
|
|
326
|
+
properties: { p_active_only: bool("Only active descriptors") },
|
|
327
|
+
},
|
|
105
328
|
// observability
|
|
106
|
-
is_domain_allowed: {
|
|
107
|
-
|
|
108
|
-
|
|
329
|
+
is_domain_allowed: {
|
|
330
|
+
type: "object",
|
|
331
|
+
properties: {
|
|
332
|
+
p_domain: reqStr("Domain"),
|
|
333
|
+
p_feature: str("Feature (default 'portal_links')"),
|
|
334
|
+
},
|
|
335
|
+
required: ["p_domain"],
|
|
336
|
+
},
|
|
337
|
+
list_observability_domains: {
|
|
338
|
+
type: "object",
|
|
339
|
+
properties: { p_feature: str("Feature filter") },
|
|
340
|
+
},
|
|
341
|
+
list_observability_events: {
|
|
342
|
+
type: "object",
|
|
343
|
+
properties: {
|
|
344
|
+
p_domain: str("Domain filter"),
|
|
345
|
+
p_component_name: str("Component filter"),
|
|
346
|
+
p_event_type: str("Event-type filter"),
|
|
347
|
+
p_limit: int("Max rows (default 100)"),
|
|
348
|
+
},
|
|
349
|
+
},
|
|
109
350
|
// chaos (read)
|
|
110
|
-
list_chaos_events: {
|
|
351
|
+
list_chaos_events: {
|
|
352
|
+
type: "object",
|
|
353
|
+
properties: {
|
|
354
|
+
p_domain: str("Domain filter"),
|
|
355
|
+
p_environment: str("Environment filter"),
|
|
356
|
+
p_event_type: str("Event-type filter"),
|
|
357
|
+
p_limit: int("Max rows (default 100)"),
|
|
358
|
+
},
|
|
359
|
+
},
|
|
111
360
|
// a11y
|
|
112
|
-
calculate_contrast_ratio: {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
361
|
+
calculate_contrast_ratio: {
|
|
362
|
+
type: "object",
|
|
363
|
+
properties: {
|
|
364
|
+
fg_hex: reqStr("Foreground hex, e.g. '#111111'"),
|
|
365
|
+
bg_hex: reqStr("Background hex, e.g. '#ffffff'"),
|
|
366
|
+
},
|
|
367
|
+
required: ["fg_hex", "bg_hex"],
|
|
368
|
+
},
|
|
369
|
+
relative_luminance: {
|
|
370
|
+
type: "object",
|
|
371
|
+
properties: { hex: reqStr("Hex colour") },
|
|
372
|
+
required: ["hex"],
|
|
373
|
+
},
|
|
374
|
+
simulate_color_blindness: {
|
|
375
|
+
type: "object",
|
|
376
|
+
properties: {
|
|
377
|
+
hex: reqStr("Hex colour"),
|
|
378
|
+
cb_type: reqStr("Type: protanopia | deuteranopia | tritanopia"),
|
|
379
|
+
},
|
|
380
|
+
required: ["hex", "cb_type"],
|
|
381
|
+
},
|
|
382
|
+
run_accessibility_audit: {
|
|
383
|
+
type: "object",
|
|
384
|
+
properties: {
|
|
385
|
+
p_file_fundi_issues: bool("File fundi issues for failures (default true)"),
|
|
386
|
+
p_contrast_floor: num("Minimum contrast ratio (default 3.0)"),
|
|
387
|
+
},
|
|
388
|
+
},
|
|
116
389
|
// meta
|
|
117
|
-
mcp_describe: {
|
|
390
|
+
mcp_describe: {
|
|
391
|
+
type: "object",
|
|
392
|
+
properties: {
|
|
393
|
+
p_category: str("Filter by category"),
|
|
394
|
+
p_stability: str("Filter by stability"),
|
|
395
|
+
p_tool_kind: str("Filter by tool kind"),
|
|
396
|
+
},
|
|
397
|
+
},
|
|
118
398
|
};
|
|
119
399
|
const EMPTY_SCHEMA = { type: "object", properties: {} };
|
|
120
400
|
/**
|
|
@@ -143,11 +423,21 @@ async function fetchCollectionRows(supabase) {
|
|
|
143
423
|
return { rows, error: null };
|
|
144
424
|
}
|
|
145
425
|
}
|
|
146
|
-
function jsonContent(value) {
|
|
147
|
-
const text = {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
//
|
|
426
|
+
function jsonContent(value, wrapKey) {
|
|
427
|
+
const text = {
|
|
428
|
+
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
429
|
+
};
|
|
430
|
+
// `structuredContent` must be a JSON object per spec. When the tool declares an
|
|
431
|
+
// `outputSchema`, its result is wrapped under the schema's single top-level key
|
|
432
|
+
// (`rows` for arrays, `result` for scalars/jsonb) so the two stay in lock-step.
|
|
433
|
+
if (wrapKey) {
|
|
434
|
+
return {
|
|
435
|
+
...text,
|
|
436
|
+
structuredContent: { [wrapKey]: value ?? null },
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
// No declared schema: attach plain objects directly, leave arrays/primitives
|
|
440
|
+
// text-only to keep their shape backward-compatible.
|
|
151
441
|
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
152
442
|
return { ...text, structuredContent: value };
|
|
153
443
|
}
|
|
@@ -158,7 +448,9 @@ function toolError(message) {
|
|
|
158
448
|
}
|
|
159
449
|
function hasProperties(schema) {
|
|
160
450
|
const props = schema && schema.properties;
|
|
161
|
-
return !!props &&
|
|
451
|
+
return (!!props &&
|
|
452
|
+
typeof props === "object" &&
|
|
453
|
+
Object.keys(props).length > 0);
|
|
162
454
|
}
|
|
163
455
|
function schemaFor(row) {
|
|
164
456
|
if (hasProperties(row.input_schema))
|
|
@@ -177,13 +469,16 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
177
469
|
version: MZIZI_MCP_VERSION,
|
|
178
470
|
title: "Mzizi",
|
|
179
471
|
}, {
|
|
180
|
-
capabilities: {
|
|
472
|
+
capabilities: {
|
|
473
|
+
tools: { listChanged: true },
|
|
474
|
+
resources: { listChanged: true },
|
|
475
|
+
},
|
|
181
476
|
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.",
|
|
182
477
|
});
|
|
183
478
|
// ── Registry-driven tool catalog ───────────────────────────────────────────
|
|
184
479
|
const { data, error } = await supabase
|
|
185
480
|
.from("mcp_tool_registry")
|
|
186
|
-
.select("tool_name, description, category, tool_kind, sql_function, source_table, edge_function, input_schema, requires_first_party")
|
|
481
|
+
.select("tool_name, description, category, tool_kind, sql_function, source_table, edge_function, input_schema, output_shape, requires_first_party, read_only_hint, destructive_hint, idempotent_hint, open_world_hint, title")
|
|
187
482
|
.eq("enabled", true);
|
|
188
483
|
if (error) {
|
|
189
484
|
// Surface the failure as a diagnostic tool rather than a silent empty server.
|
|
@@ -200,15 +495,48 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
200
495
|
server.server.setRequestHandler(CallToolRequestSchema, async () => toolError(`mcp_tool_registry unavailable: ${error.message}`));
|
|
201
496
|
return server;
|
|
202
497
|
}
|
|
203
|
-
const rows = (data ?? []).filter((r) => !r.requires_first_party &&
|
|
498
|
+
const rows = (data ?? []).filter((r) => !r.requires_first_party &&
|
|
499
|
+
(r.tool_kind !== "write" || PUBLIC_WRITE_TOOLS.has(r.tool_name)));
|
|
204
500
|
const byName = new Map(rows.map((r) => [r.tool_name, r]));
|
|
205
501
|
// Core document tools that are aggregates without an RPC, so they aren't
|
|
206
502
|
// registry-backed. Everything else is registry-driven.
|
|
503
|
+
const collectionsOutput = {
|
|
504
|
+
type: "object",
|
|
505
|
+
properties: {
|
|
506
|
+
rows: {
|
|
507
|
+
type: "array",
|
|
508
|
+
items: {
|
|
509
|
+
type: "object",
|
|
510
|
+
properties: {
|
|
511
|
+
collection: { type: "string" },
|
|
512
|
+
node: { type: ["integer", "null"] },
|
|
513
|
+
total: { type: "integer" },
|
|
514
|
+
byOwner: { type: "object" },
|
|
515
|
+
},
|
|
516
|
+
},
|
|
517
|
+
},
|
|
518
|
+
},
|
|
519
|
+
required: ["rows"],
|
|
520
|
+
};
|
|
521
|
+
const databaseStatusOutput = {
|
|
522
|
+
type: "object",
|
|
523
|
+
properties: {
|
|
524
|
+
provider: { type: "string" },
|
|
525
|
+
status: { type: "string" },
|
|
526
|
+
error: { type: ["string", "null"] },
|
|
527
|
+
documents: { type: "integer" },
|
|
528
|
+
registryTools: { type: "integer" },
|
|
529
|
+
version: { type: "string" },
|
|
530
|
+
readOnly: { type: "boolean" },
|
|
531
|
+
},
|
|
532
|
+
required: ["provider", "status", "documents", "registryTools", "version"],
|
|
533
|
+
};
|
|
207
534
|
const coreTools = [
|
|
208
535
|
{
|
|
209
536
|
name: `${TOOL_PREFIX}list_collections`,
|
|
210
537
|
description: "List every collection in the Mzizi document store with document counts and per-owner breakdown (components, primitives, brand, agentic-components, skills, …).",
|
|
211
538
|
inputSchema: EMPTY_SCHEMA,
|
|
539
|
+
outputSchema: collectionsOutput,
|
|
212
540
|
annotations: annotationsFor("list_collections"),
|
|
213
541
|
_meta: metaFor("documents"),
|
|
214
542
|
},
|
|
@@ -216,6 +544,7 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
216
544
|
name: `${TOOL_PREFIX}get_database_status`,
|
|
217
545
|
description: "Provider health, document-store row count, and registered-tool count.",
|
|
218
546
|
inputSchema: EMPTY_SCHEMA,
|
|
547
|
+
outputSchema: databaseStatusOutput,
|
|
219
548
|
annotations: annotationsFor("get_database_status"),
|
|
220
549
|
_meta: metaFor("system"),
|
|
221
550
|
},
|
|
@@ -234,28 +563,41 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
234
563
|
});
|
|
235
564
|
}
|
|
236
565
|
const tools = [
|
|
237
|
-
...rows.map((r) =>
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
566
|
+
...rows.map((r) => {
|
|
567
|
+
const emitted = emittedOutput(r.output_shape);
|
|
568
|
+
return {
|
|
569
|
+
name: `${TOOL_PREFIX}${r.tool_name}`,
|
|
570
|
+
description: r.description ??
|
|
571
|
+
`${r.category ?? "mzizi"} ${r.tool_kind ?? "read"} tool (registry-driven).`,
|
|
572
|
+
inputSchema: schemaFor(r),
|
|
573
|
+
...(emitted
|
|
574
|
+
? {
|
|
575
|
+
outputSchema: emitted.outputSchema,
|
|
576
|
+
}
|
|
577
|
+
: {}),
|
|
578
|
+
annotations: annotationsFromRow(r),
|
|
579
|
+
_meta: metaFor(r.category),
|
|
580
|
+
};
|
|
581
|
+
}),
|
|
244
582
|
...coreTools,
|
|
245
583
|
];
|
|
246
|
-
server.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
584
|
+
server.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
585
|
+
tools,
|
|
586
|
+
}));
|
|
247
587
|
server.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
248
588
|
// Tools are exposed with the `mzizi_` prefix; strip it back to the internal
|
|
249
589
|
// (registry / core) name before dispatch. Tolerate an unprefixed call too.
|
|
250
590
|
const requested = request.params.name;
|
|
251
|
-
const name = requested.startsWith(TOOL_PREFIX)
|
|
591
|
+
const name = requested.startsWith(TOOL_PREFIX)
|
|
592
|
+
? requested.slice(TOOL_PREFIX.length)
|
|
593
|
+
: requested;
|
|
252
594
|
const args = (request.params.arguments ?? {});
|
|
253
595
|
// Core document tools (aggregates without an RPC).
|
|
254
596
|
if (name === "list_collections") {
|
|
255
597
|
const { rows, error } = await fetchCollectionRows(supabase);
|
|
256
598
|
if (error)
|
|
257
599
|
return toolError(`list_collections failed: ${error}`);
|
|
258
|
-
return jsonContent(summariseCollections(rows));
|
|
600
|
+
return jsonContent(summariseCollections(rows), "rows");
|
|
259
601
|
}
|
|
260
602
|
if (name === "get_database_status") {
|
|
261
603
|
const docs = await supabase
|
|
@@ -292,25 +634,29 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
292
634
|
const row = byName.get(name);
|
|
293
635
|
if (!row)
|
|
294
636
|
return toolError(`Unknown tool: ${name}`);
|
|
637
|
+
const wrapKey = emittedOutput(row.output_shape)?.wrapKey ?? null;
|
|
295
638
|
try {
|
|
296
639
|
if (row.sql_function) {
|
|
297
640
|
const fn = row.sql_function.replace(/^public\./, "");
|
|
298
641
|
const { data, error } = await supabase.rpc(fn, args);
|
|
299
642
|
if (error)
|
|
300
643
|
return toolError(`${row.tool_name} failed: ${error.message}`);
|
|
301
|
-
return jsonContent(data);
|
|
644
|
+
return jsonContent(data, wrapKey);
|
|
302
645
|
}
|
|
303
646
|
if (row.edge_function) {
|
|
304
647
|
const { data, error } = await supabase.functions.invoke(row.edge_function, { body: args });
|
|
305
648
|
if (error)
|
|
306
649
|
return toolError(`${row.tool_name} (edge) failed: ${error.message}`);
|
|
307
|
-
return jsonContent(data);
|
|
650
|
+
return jsonContent(data, wrapKey);
|
|
308
651
|
}
|
|
309
652
|
if (row.source_table) {
|
|
310
|
-
const { data, error } = await supabase
|
|
653
|
+
const { data, error } = await supabase
|
|
654
|
+
.from(row.source_table)
|
|
655
|
+
.select("*")
|
|
656
|
+
.limit(200);
|
|
311
657
|
if (error)
|
|
312
658
|
return toolError(`${row.tool_name} failed: ${error.message}`);
|
|
313
|
-
return jsonContent(data);
|
|
659
|
+
return jsonContent(data, wrapKey);
|
|
314
660
|
}
|
|
315
661
|
return toolError(`${row.tool_name} has no dispatch target in the registry.`);
|
|
316
662
|
}
|
|
@@ -350,7 +696,11 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
350
696
|
}));
|
|
351
697
|
return {
|
|
352
698
|
contents: [
|
|
353
|
-
{
|
|
699
|
+
{
|
|
700
|
+
uri: "mzizi://components",
|
|
701
|
+
mimeType: "application/json",
|
|
702
|
+
text: JSON.stringify(lean, null, 2),
|
|
703
|
+
},
|
|
354
704
|
],
|
|
355
705
|
};
|
|
356
706
|
});
|
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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"}
|