@nyuchi/mzizi-mcp 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,8 @@ retiring a tool is a registry edit, not a code change. The server is read-only o
9
9
  the anonymous surface — write-kind tools are excluded.
10
10
 
11
11
  **Live at** `https://mcp.mzizi.dev/mcp` (Cloudflare Worker `mzizi-mcp`, version
12
- 0.3.0). A **free WorkOS-AuthKit signup gate** fronts the endpoint; sign up
12
+ 0.4.0). A **free WorkOS signup gate** fronts the endpoint — a WorkOS
13
+ **Connect OAuth application** (public client, PKCE; no client secret) — so sign up
13
14
  once and read the whole registry at no cost. The worker advertises
14
15
  `/.well-known/oauth-protected-resource` so MCP clients can run the OAuth discovery
15
16
  dance automatically.
@@ -33,7 +34,7 @@ Point any MCP client at the live HTTP endpoint:
33
34
  }
34
35
  ```
35
36
 
36
- The client will be redirected through the WorkOS-AuthKit OAuth flow on first
37
+ The client will be redirected through the WorkOS Connect OAuth (PKCE) flow on first
37
38
  connect. After that, reads are free and unlimited.
38
39
 
39
40
  ### stdio (local / offline)
@@ -78,10 +79,17 @@ spread across 17 categories.
78
79
 
79
80
  ## Core tools (always present, defined in code)
80
81
 
81
- | Tool | Backed by | Returns |
82
- | --------------------- | ------------------------------- | -------------------------------------------------------- |
83
- | `list_collections` | `component_documents` aggregate | Every collection + document counts + per-owner breakdown |
84
- | `get_database_status` | `component_documents` count | Provider health + document-store row count + tool count |
82
+ | Tool | Backed by | Returns |
83
+ | --------------------- | -------------------------------------- | -------------------------------------------------------------- |
84
+ | `list_collections` | `component_documents` aggregate | Every collection + document counts + per-owner breakdown |
85
+ | `get_database_status` | `component_documents` count | Provider health + document-store row count + tool count |
86
+ | `fundi_status` | fundi `/admin/whoami` (M2M delegation) | fundi identity + granted scopes (only when `FUNDI_URL` is set) |
87
+
88
+ `fundi_status` is only registered on the server when `FUNDI_URL` is configured. It proxies to
89
+ the fundi worker using a WorkOS M2M token minted from `WORKOS_M2M_CLIENT_ID` /
90
+ `WORKOS_M2M_CLIENT_SECRET`, plus the authenticated user's token in `X-Fundi-User-Token`.
91
+ This makes mzizi-mcp the **sanctioned fundi caller** — the CLI reaches fundi through
92
+ mzizi-mcp, never by holding the M2M secret itself.
85
93
 
86
94
  ---
87
95
 
@@ -122,17 +130,35 @@ catalog.
122
130
 
123
131
  ## Environment / secrets
124
132
 
125
- ### HTTP Worker (Cloudflare — set via `wrangler secret put`)
133
+ ### HTTP Worker (Cloudflare)
134
+
135
+ Secrets (`wrangler secret put`):
126
136
 
127
137
  | Secret | Required | Notes |
128
138
  | -------------------------- | -------- | ---------------------------------------------- |
129
139
  | `SUPABASE_URL` | yes | Public Supabase project URL |
130
140
  | `SUPABASE_PUBLISHABLE_KEY` | yes | Anon (RLS public-read) key |
131
141
  | `SUPABASE_SECRET_KEY` | no | Service-role key; placeholder is used if unset |
132
- | `WORKOS_CLIENT_ID` | yes | mzizi-mcp WorkOS AuthKit app client ID |
133
- | `WORKOS_CLIENT_SECRET` | yes | mzizi-mcp WorkOS AuthKit app secret |
134
142
  | `COOKIE_ENCRYPTION_KEY` | yes | HMAC key for the consent cookie (random bytes) |
135
143
 
144
+ Plain vars (`[vars]` in `wrangler.toml`, not secrets):
145
+
146
+ | Var | Notes |
147
+ | ----------------------- | ------------------------------------------------------------------- |
148
+ | `WORKOS_CLIENT_ID` | Connect OAuth app client id (public client; PKCE) |
149
+ | `WORKOS_AUTHKIT_DOMAIN` | AuthKit domain for `/oauth2/*` (e.g. `https://identity.nyuchi.com`) |
150
+ | `WORKOS_M2M_CLIENT_ID` | Fundi M2M app client id; required only when `FUNDI_URL` is set |
151
+ | `FUNDI_URL` | Base URL of the fundi worker; enables the `fundi_status` tool |
152
+
153
+ > The Connect OAuth app is a **public client (PKCE)** — there is no `WORKOS_CLIENT_SECRET`
154
+ > or WorkOS API key on the worker.
155
+
156
+ **Optional: fundi-caller extras** (only needed when mzizi-mcp is the fundi caller):
157
+
158
+ | Name | Kind | Purpose |
159
+ | -------------------------- | ------ | --------------------------------------------------- |
160
+ | `WORKOS_M2M_CLIENT_SECRET` | secret | Fundi M2M app secret (Worker secret; never in code) |
161
+
136
162
  ### stdio / local dev (`.dev.vars` or environment)
137
163
 
138
164
  | Variable | Required | Notes |
@@ -1,27 +1,33 @@
1
1
  /**
2
- * WorkOS AuthKit handler — the OAuth provider's `defaultHandler`.
2
+ * WorkOS Connect handler — the OAuth provider's `defaultHandler`.
3
3
  *
4
- * Ported from `nyuchi/mongodb-mcp`, with the gates removed: mongodb-mcp is
5
- * internal and enforces an org allowlist + a required permission. mzizi-mcp is
6
- * a FREE, PUBLIC tool — any WorkOS user who signs up is let through. There is
7
- * no org gate and no required-permission gate here.
4
+ * mzizi-mcp authenticates users against a WorkOS Connect **OAuth application**
5
+ * configured as a PUBLIC client: it has a client id only and NO secret, so the
6
+ * worker holds no WorkOS API key. The flow is standard OAuth 2.0
7
+ * authorization-code with **PKCE** against the AuthKit domain
8
+ * (`WORKOS_AUTHKIT_DOMAIN`, e.g. https://identity.nyuchi.com):
8
9
  *
9
- * Subscription gating for the future in-MCP fundi agent does NOT belong in this
10
- * callback (auth = free signup). It belongs at the fundi *tool* level, which
11
- * reads the entitlement off `ctx.props` (see `props.ts`). Keeping `permissions`
12
- * on the token is what makes that later check possible without a second login.
10
+ * /authorize → MCP-client consent, then 302 to <authkit>/oauth2/authorize
11
+ * with a PKCE code_challenge
12
+ * /callback → exchange code + code_verifier at <authkit>/oauth2/token (no
13
+ * secret), verify the id-token against <authkit>/oauth2/jwks,
14
+ * then complete the MCP authorization
15
+ *
16
+ * Free + public: every WorkOS user who signs up is let through (no org gate, no
17
+ * required-permission gate). Subscription gating for fundi is layered at the
18
+ * tool level off `ctx.props`, not here.
19
+ *
20
+ * This is the auth pattern every PUBLIC Mzizi MCP uses (internal MCPs use WorkOS
21
+ * M2M instead); it is intentionally self-contained (no WorkOS server SDK) so it
22
+ * ports to the other public workers.
13
23
  */
14
24
  import type { OAuthHelpers } from "@cloudflare/workers-oauth-provider";
15
- import { WorkOS } from "@workos-inc/node";
16
25
  import { Hono } from "hono";
17
26
  import type { Env } from "../env.js";
18
27
  type AuthEnv = {
19
28
  Bindings: Env & {
20
29
  OAUTH_PROVIDER: OAuthHelpers;
21
30
  };
22
- Variables: {
23
- workOS: WorkOS;
24
- };
25
31
  };
26
32
  export declare const AuthkitHandler: Hono<AuthEnv, import("hono/types").BlankSchema, "/">;
27
33
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"authkit-handler.d.ts","sourceRoot":"","sources":["../../src/auth/authkit-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,EAAiD,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACxF,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAA;AAEzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAcpC,KAAK,OAAO,GAAG;IAAE,QAAQ,EAAE,GAAG,GAAG;QAAE,cAAc,EAAE,YAAY,CAAA;KAAE,CAAC;IAAC,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAqLlG,eAAO,MAAM,cAAc,sDAAM,CAAA"}
1
+ {"version":3,"file":"authkit-handler.d.ts","sourceRoot":"","sources":["../../src/auth/authkit-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,EAAgB,IAAI,EAAE,MAAM,MAAM,CAAA;AAEzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAcpC,KAAK,OAAO,GAAG;IAAE,QAAQ,EAAE,GAAG,GAAG;QAAE,cAAc,EAAE,YAAY,CAAA;KAAE,CAAA;CAAE,CAAA;AA+PnE,eAAO,MAAM,cAAc,sDAAM,CAAA"}
@@ -1,34 +1,59 @@
1
1
  /**
2
- * WorkOS AuthKit handler — the OAuth provider's `defaultHandler`.
2
+ * WorkOS Connect handler — the OAuth provider's `defaultHandler`.
3
3
  *
4
- * Ported from `nyuchi/mongodb-mcp`, with the gates removed: mongodb-mcp is
5
- * internal and enforces an org allowlist + a required permission. mzizi-mcp is
6
- * a FREE, PUBLIC tool — any WorkOS user who signs up is let through. There is
7
- * no org gate and no required-permission gate here.
4
+ * mzizi-mcp authenticates users against a WorkOS Connect **OAuth application**
5
+ * configured as a PUBLIC client: it has a client id only and NO secret, so the
6
+ * worker holds no WorkOS API key. The flow is standard OAuth 2.0
7
+ * authorization-code with **PKCE** against the AuthKit domain
8
+ * (`WORKOS_AUTHKIT_DOMAIN`, e.g. https://identity.nyuchi.com):
8
9
  *
9
- * Subscription gating for the future in-MCP fundi agent does NOT belong in this
10
- * callback (auth = free signup). It belongs at the fundi *tool* level, which
11
- * reads the entitlement off `ctx.props` (see `props.ts`). Keeping `permissions`
12
- * on the token is what makes that later check possible without a second login.
10
+ * /authorize → MCP-client consent, then 302 to <authkit>/oauth2/authorize
11
+ * with a PKCE code_challenge
12
+ * /callback → exchange code + code_verifier at <authkit>/oauth2/token (no
13
+ * secret), verify the id-token against <authkit>/oauth2/jwks,
14
+ * then complete the MCP authorization
15
+ *
16
+ * Free + public: every WorkOS user who signs up is let through (no org gate, no
17
+ * required-permission gate). Subscription gating for fundi is layered at the
18
+ * tool level off `ctx.props`, not here.
19
+ *
20
+ * This is the auth pattern every PUBLIC Mzizi MCP uses (internal MCPs use WorkOS
21
+ * M2M instead); it is intentionally self-contained (no WorkOS server SDK) so it
22
+ * ports to the other public workers.
13
23
  */
14
- import { WorkOS } from "@workos-inc/node";
15
24
  import { Hono } from "hono";
16
25
  import * as jose from "jose";
17
26
  import { addApprovedClient, bindStateToSession, createOAuthState, generateCSRFProtection, isClientApproved, OAuthError, renderApprovalDialog, validateCSRFToken, validateOAuthState, } from "./oauth-utils.js";
18
27
  const SERVER_NAME = "Mzizi Design System Registry";
19
28
  const SERVER_DESCRIPTION = "Free, public MCP over the Mzizi design-system registry — components, design tokens, brand, and the N1–N10 ecosystem architecture. Sign in or create a free account to connect.";
20
29
  const ICON_REDIRECT = "https://www.nyuchi.com/icon-light.png";
30
+ const OAUTH_SCOPE = "openid profile email";
31
+ const PKCE_TTL_SECONDS = 600;
21
32
  const app = new Hono();
22
- function requireWorkOS(c) {
23
- const existing = c.get("workOS");
24
- if (existing)
25
- return existing;
26
- if (!c.env.WORKOS_CLIENT_SECRET) {
27
- throw new Error("WORKOS_CLIENT_SECRET is not configured. Add it as a Worker secret before using auth routes.");
28
- }
29
- const workOS = new WorkOS(c.env.WORKOS_CLIENT_SECRET);
30
- c.set("workOS", workOS);
31
- return workOS;
33
+ // ── PKCE helpers ─────────────────────────────────────────────────────────────
34
+ function base64url(buf) {
35
+ const bytes = new Uint8Array(buf);
36
+ let binary = "";
37
+ for (const b of bytes)
38
+ binary += String.fromCharCode(b);
39
+ return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
40
+ }
41
+ function newCodeVerifier() {
42
+ const bytes = new Uint8Array(32);
43
+ crypto.getRandomValues(bytes);
44
+ return base64url(bytes.buffer);
45
+ }
46
+ async function deriveCodeChallenge(verifier) {
47
+ const digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(verifier));
48
+ return base64url(digest);
49
+ }
50
+ function authkitOrigin(c) {
51
+ // Accept a bare host or a full origin in the var; normalise to an https origin.
52
+ const raw = c.env.WORKOS_AUTHKIT_DOMAIN.trim().replace(/\/+$/, "");
53
+ return /^https?:\/\//.test(raw) ? raw : `https://${raw}`;
54
+ }
55
+ function callbackUrl(c) {
56
+ return new URL("/callback", c.req.url).href;
32
57
  }
33
58
  function redirectToIcon() {
34
59
  return new Response(null, {
@@ -47,7 +72,7 @@ app.get("/authorize", async (c) => {
47
72
  if (await isClientApproved(c.req.raw, clientId, c.env.COOKIE_ENCRYPTION_KEY)) {
48
73
  const { stateToken } = await createOAuthState(oauthReqInfo, c.env.OAUTH_KV);
49
74
  const { setCookie: sessionBindingCookie } = await bindStateToSession(stateToken);
50
- return redirectToAuthKit(c, stateToken, { "Set-Cookie": sessionBindingCookie });
75
+ return startLogin(c, stateToken, { "Set-Cookie": sessionBindingCookie });
51
76
  }
52
77
  const { token: csrfToken, setCookie } = generateCSRFProtection();
53
78
  return renderApprovalDialog(c.req.raw, {
@@ -82,7 +107,7 @@ app.post("/authorize", async (c) => {
82
107
  const headers = new Headers();
83
108
  headers.append("Set-Cookie", approvedClientCookie);
84
109
  headers.append("Set-Cookie", sessionBindingCookie);
85
- return redirectToAuthKit(c, stateToken, Object.fromEntries(headers));
110
+ return startLogin(c, stateToken, Object.fromEntries(headers));
86
111
  }
87
112
  catch (error) {
88
113
  console.error("POST /authorize error:", error);
@@ -92,19 +117,25 @@ app.post("/authorize", async (c) => {
92
117
  return c.text(`Internal server error: ${message}`, 500);
93
118
  }
94
119
  });
95
- function redirectToAuthKit(c, stateToken, headers = {}) {
96
- const workOS = requireWorkOS(c);
120
+ /** Redirect to the AuthKit Connect authorize endpoint, starting a PKCE flow. */
121
+ async function startLogin(c, stateToken, headers = {}) {
122
+ const codeVerifier = newCodeVerifier();
123
+ const codeChallenge = await deriveCodeChallenge(codeVerifier);
124
+ // The verifier is held server-side, keyed by the state token, for /callback.
125
+ await c.env.OAUTH_KV.put(`oauth:pkce:${stateToken}`, codeVerifier, {
126
+ expirationTtl: PKCE_TTL_SECONDS,
127
+ });
128
+ const authorizeUrl = new URL("/oauth2/authorize", authkitOrigin(c));
129
+ authorizeUrl.searchParams.set("response_type", "code");
130
+ authorizeUrl.searchParams.set("client_id", c.env.WORKOS_CLIENT_ID);
131
+ authorizeUrl.searchParams.set("redirect_uri", callbackUrl(c));
132
+ authorizeUrl.searchParams.set("scope", OAUTH_SCOPE);
133
+ authorizeUrl.searchParams.set("state", stateToken);
134
+ authorizeUrl.searchParams.set("code_challenge", codeChallenge);
135
+ authorizeUrl.searchParams.set("code_challenge_method", "S256");
97
136
  return new Response(null, {
98
- headers: {
99
- ...headers,
100
- location: workOS.userManagement.getAuthorizationUrl({
101
- provider: "authkit",
102
- clientId: c.env.WORKOS_CLIENT_ID,
103
- redirectUri: new URL("/callback", c.req.url).href,
104
- state: stateToken,
105
- }),
106
- },
107
137
  status: 302,
138
+ headers: { ...headers, location: authorizeUrl.href },
108
139
  });
109
140
  }
110
141
  app.get("/callback", async (c) => {
@@ -125,35 +156,67 @@ app.get("/callback", async (c) => {
125
156
  const code = c.req.query("code");
126
157
  if (!code)
127
158
  return c.text("Missing code", 400);
128
- const workOS = requireWorkOS(c);
129
- let response;
130
- try {
131
- response = await workOS.userManagement.authenticateWithCode({
132
- clientId: c.env.WORKOS_CLIENT_ID,
159
+ const stateToken = new URL(c.req.url).searchParams.get("state");
160
+ const verifierKey = stateToken ? `oauth:pkce:${stateToken}` : null;
161
+ const codeVerifier = verifierKey ? await c.env.OAUTH_KV.get(verifierKey) : null;
162
+ if (!codeVerifier)
163
+ return c.text("Missing PKCE verifier — restart the sign-in", 400);
164
+ if (verifierKey)
165
+ await c.env.OAUTH_KV.delete(verifierKey);
166
+ // Public-client token exchange: PKCE verifier, NO client secret.
167
+ const tokenResponse = await fetch(new URL("/oauth2/token", authkitOrigin(c)), {
168
+ method: "POST",
169
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
170
+ body: new URLSearchParams({
171
+ grant_type: "authorization_code",
133
172
  code,
134
- });
173
+ client_id: c.env.WORKOS_CLIENT_ID,
174
+ redirect_uri: callbackUrl(c),
175
+ code_verifier: codeVerifier,
176
+ }),
177
+ });
178
+ if (!tokenResponse.ok) {
179
+ console.error("Token exchange failed:", tokenResponse.status, await tokenResponse.text());
180
+ return c.text("Sign-in failed at the token exchange", 502);
181
+ }
182
+ const tokens = (await tokenResponse.json());
183
+ const idToken = tokens.id_token ?? tokens.access_token;
184
+ if (!idToken)
185
+ return c.text("No id token returned", 502);
186
+ // Verify the token's signature against the AuthKit JWKS (authenticity); the
187
+ // token was obtained over a direct TLS exchange, so this is defense in depth.
188
+ let claims;
189
+ try {
190
+ const jwks = jose.createRemoteJWKSet(new URL("/oauth2/jwks", authkitOrigin(c)));
191
+ const verified = await jose.jwtVerify(idToken, jwks);
192
+ claims = verified.payload;
135
193
  }
136
194
  catch (error) {
137
- console.error("Authentication error:", error);
138
- return c.text("Invalid authorization code", 400);
195
+ console.error("id-token verification failed:", error);
196
+ return c.text("Invalid token returned", 502);
139
197
  }
140
- const { accessToken, organizationId, refreshToken, user } = response;
141
- const { permissions = [] } = jose.decodeJwt(accessToken);
198
+ const userId = typeof claims.sub === "string" ? claims.sub : null;
199
+ if (!userId)
200
+ return c.text("Token missing subject", 502);
201
+ const name = claims.name ?? [claims.given_name, claims.family_name].filter(Boolean).join(" ") ?? undefined;
202
+ const permissions = Array.isArray(claims.permissions) ? claims.permissions : [];
142
203
  // No org allowlist, no required-permission gate: mzizi-mcp is free + public,
143
- // so every authenticated WorkOS user is let through. `permissions` is carried
144
- // on the token only so a future fundi subscription check can read it.
204
+ // so every authenticated WorkOS user is let through. `permissions` rides on
205
+ // the token only so a future fundi subscription check can read it.
206
+ const props = {
207
+ userId,
208
+ email: claims.email,
209
+ name: name || undefined,
210
+ accessToken: tokens.access_token ?? "",
211
+ refreshToken: tokens.refresh_token,
212
+ permissions,
213
+ };
145
214
  const { redirectTo } = await c.env.OAUTH_PROVIDER.completeAuthorization({
146
215
  request: oauthReqInfo,
147
- userId: user.id,
216
+ userId,
148
217
  metadata: {},
149
218
  scope: permissions,
150
- props: {
151
- accessToken,
152
- organizationId,
153
- permissions,
154
- refreshToken,
155
- user,
156
- },
219
+ props,
157
220
  });
158
221
  const headers = new Headers({ Location: redirectTo });
159
222
  if (clearSessionCookie)
@@ -1 +1 @@
1
- {"version":3,"file":"authkit-handler.js","sourceRoot":"","sources":["../../src/auth/authkit-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authkit-handler.js","sourceRoot":"","sources":["../../src/auth/authkit-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-api-handler.d.ts","sourceRoot":"","sources":["../../src/auth/mcp-api-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,KAAK,aAAa,GAAG,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAEzD,eAAO,MAAM,aAAa;mBACH,OAAO,OAAO,GAAG,QAAQ,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CAiBhF,CAAA"}
1
+ {"version":3,"file":"mcp-api-handler.d.ts","sourceRoot":"","sources":["../../src/auth/mcp-api-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,KAAK,aAAa,GAAG,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAEzD,eAAO,MAAM,aAAa;mBACH,OAAO,OAAO,GAAG,QAAQ,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CA0BhF,CAAA"}
@@ -8,9 +8,18 @@
8
8
  * entitlement — the subscription gate, layered on top of the free auth gate.
9
9
  */
10
10
  import { createMziziHttpHandler } from "../http.js";
11
+ import { createFundiCaller, fundiConfigured } from "../fundi-client.js";
11
12
  export const mcpApiHandler = {
12
13
  async fetch(request, env, _ctx) {
14
+ // fundi is M2M and only runs through a sanctioned tool: when this Worker
15
+ // holds the M2M credential and the caller is an authenticated user, expose
16
+ // the fundi trigger bound to that user's token.
17
+ const userAccessToken = _ctx.props?.accessToken;
18
+ const fundi = userAccessToken && fundiConfigured(env)
19
+ ? { caller: createFundiCaller(env), userAccessToken }
20
+ : undefined;
13
21
  const handler = createMziziHttpHandler({
22
+ fundi,
14
23
  supabaseConfig: {
15
24
  auth: "none",
16
25
  cors: false,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-api-handler.js","sourceRoot":"","sources":["../../src/auth/mcp-api-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAMnD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE,GAAQ,EAAE,IAAmB;QACzD,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,cAAc,EAAE;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE;oBACH,GAAG,EAAE,GAAG,CAAC,YAAY;oBACrB,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,EAAE;oBAC1D,wEAAwE;oBACxE,sEAAsE;oBACtE,4DAA4D;oBAC5D,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,wBAAwB,EAAE;iBACjF;aACF;SACF,CAAC,CAAA;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"mcp-api-handler.js","sourceRoot":"","sources":["../../src/auth/mcp-api-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAMvE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE,GAAQ,EAAE,IAAmB;QACzD,yEAAyE;QACzE,2EAA2E;QAC3E,gDAAgD;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAA;QAC/C,MAAM,KAAK,GACT,eAAe,IAAI,eAAe,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE;YACrD,CAAC,CAAC,SAAS,CAAA;QACf,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,KAAK;YACL,cAAc,EAAE;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE;oBACH,GAAG,EAAE,GAAG,CAAC,YAAY;oBACrB,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,EAAE;oBAC1D,wEAAwE;oBACxE,sEAAsE;oBACtE,4DAA4D;oBAC5D,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,wBAAwB,EAAE;iBACjF;aACF;SACF,CAAC,CAAA;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC;CACF,CAAA"}
@@ -1,18 +1,20 @@
1
- import type { User } from "@workos-inc/node";
2
1
  /**
3
2
  * Identity carried on the access token the OAuth provider issues to an MCP
4
- * client. Populated in the AuthKit `/callback` and made available to the MCP
5
- * API handler as `ctx.props`.
3
+ * client. Populated in the Connect `/callback` from the WorkOS id-token claims
4
+ * and made available to the MCP API handler as `ctx.props`.
6
5
  *
7
- * mzizi-mcp does not gate on `organizationId` or `permissions` — they are kept
8
- * only so downstream tooling (fundi, gated collections) can read them later.
6
+ * mzizi-mcp does not gate on `permissions` — they are kept only so downstream
7
+ * tooling (fundi, gated collections) can read them later.
9
8
  */
10
9
  export interface Props {
11
- user: User;
10
+ /** WorkOS user id — the id-token `sub` claim. */
11
+ userId: string;
12
+ email?: string;
13
+ name?: string;
14
+ /** The WorkOS-issued access token (JWT). */
12
15
  accessToken: string;
13
- refreshToken: string;
16
+ refreshToken?: string;
14
17
  permissions: string[];
15
- organizationId?: string;
16
18
  [key: string]: unknown;
17
19
  }
18
20
  //# sourceMappingURL=props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/auth/props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE5C;;;;;;;GAOG;AACH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/auth/props.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,KAAK;IACpB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,EAAE,CAAA;IAGrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB"}
package/dist/env.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * Worker environment bindings — shared across the OAuth provider, the WorkOS
3
- * AuthKit handler, and the MCP API handler.
3
+ * Connect (OAuth-application) handler, and the MCP API handler.
4
4
  *
5
5
  * mzizi-mcp is a free, public tool: anyone can sign up through WorkOS AuthKit
6
6
  * and use it. There is deliberately NO org allowlist and NO required-permission
7
7
  * gate (that is what `nyuchi/mongodb-mcp` does, because it is internal). This
8
8
  * auth layer is the reusable foundation the rest of the Mzizi tooling (fundi
9
- * and friends) can sit behind later.
9
+ * and friends) sit behind — every public MCP uses this same Connect/PKCE flow
10
+ * (internal MCPs use WorkOS M2M instead).
10
11
  */
11
12
  import type { OAuthHelpers } from "@cloudflare/workers-oauth-provider";
12
13
  export interface Env {
@@ -14,7 +15,10 @@ export interface Env {
14
15
  SUPABASE_PUBLISHABLE_KEY: string;
15
16
  SUPABASE_SECRET_KEY?: string;
16
17
  WORKOS_CLIENT_ID: string;
17
- WORKOS_CLIENT_SECRET: string;
18
+ WORKOS_AUTHKIT_DOMAIN: string;
19
+ WORKOS_M2M_CLIENT_ID?: string;
20
+ WORKOS_M2M_CLIENT_SECRET?: string;
21
+ FUNDI_URL?: string;
18
22
  COOKIE_ENCRYPTION_KEY: string;
19
23
  OAUTH_KV: KVNamespace;
20
24
  OAUTH_PROVIDER: OAuthHelpers;
package/dist/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,WAAW,GAAG;IAElB,YAAY,EAAE,MAAM,CAAA;IACpB,wBAAwB,EAAE,MAAM,CAAA;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAG5B,qBAAqB,EAAE,MAAM,CAAA;IAG7B,QAAQ,EAAE,WAAW,CAAA;IACrB,cAAc,EAAE,YAAY,CAAA;CAC7B"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,MAAM,WAAW,GAAG;IAElB,YAAY,EAAE,MAAM,CAAA;IACpB,wBAAwB,EAAE,MAAM,CAAA;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAM5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAO7B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAGlB,qBAAqB,EAAE,MAAM,CAAA;IAG7B,QAAQ,EAAE,WAAW,CAAA;IACrB,cAAc,EAAE,YAAY,CAAA;CAC7B"}
package/dist/env.js CHANGED
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * Worker environment bindings — shared across the OAuth provider, the WorkOS
3
- * AuthKit handler, and the MCP API handler.
3
+ * Connect (OAuth-application) handler, and the MCP API handler.
4
4
  *
5
5
  * mzizi-mcp is a free, public tool: anyone can sign up through WorkOS AuthKit
6
6
  * and use it. There is deliberately NO org allowlist and NO required-permission
7
7
  * gate (that is what `nyuchi/mongodb-mcp` does, because it is internal). This
8
8
  * auth layer is the reusable foundation the rest of the Mzizi tooling (fundi
9
- * and friends) can sit behind later.
9
+ * and friends) sit behind — every public MCP uses this same Connect/PKCE flow
10
+ * (internal MCPs use WorkOS M2M instead).
10
11
  */
11
12
  export {};
12
13
  //# sourceMappingURL=env.js.map
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * mzizi-mcp as a sanctioned fundi caller.
3
+ *
4
+ * fundi (the self-healing agent Worker) is M2M and never runs in isolation — it
5
+ * only accepts calls that present a valid M2M token AND forward an
6
+ * authenticated-user token. mzizi-mcp is such a tool: it holds the WorkOS M2M
7
+ * secret (a Worker secret), mints a short-lived client-credentials token, and
8
+ * calls fundi forwarding the signed-in user's access token (from ctx.props). The
9
+ * CLI never holds the secret — it reaches fundi *through* this Worker.
10
+ */
11
+ import type { Env } from "./env.js";
12
+ export interface FundiCaller {
13
+ /** Call a fundi route, forwarding the authenticated user's token. */
14
+ call(path: string, userAccessToken: string, init?: RequestInit): Promise<Response>;
15
+ }
16
+ export interface FundiToolContext {
17
+ caller: FundiCaller;
18
+ /** The signed-in user's WorkOS access token (from ctx.props). */
19
+ userAccessToken: string;
20
+ }
21
+ /** True when every binding needed to call fundi is present. */
22
+ export declare function fundiConfigured(env: Env): boolean;
23
+ export declare function createFundiCaller(env: Env): FundiCaller;
24
+ //# sourceMappingURL=fundi-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fundi-client.d.ts","sourceRoot":"","sources":["../src/fundi-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AA+BnC,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CACnF;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAA;IACnB,iEAAiE;IACjE,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAOjD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAUvD"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * mzizi-mcp as a sanctioned fundi caller.
3
+ *
4
+ * fundi (the self-healing agent Worker) is M2M and never runs in isolation — it
5
+ * only accepts calls that present a valid M2M token AND forward an
6
+ * authenticated-user token. mzizi-mcp is such a tool: it holds the WorkOS M2M
7
+ * secret (a Worker secret), mints a short-lived client-credentials token, and
8
+ * calls fundi forwarding the signed-in user's access token (from ctx.props). The
9
+ * CLI never holds the secret — it reaches fundi *through* this Worker.
10
+ */
11
+ import { decodeJwt } from "jose";
12
+ let cached = null;
13
+ async function mintM2MToken(env) {
14
+ const now = Math.floor(Date.now() / 1000);
15
+ if (cached && cached.exp > now + 60)
16
+ return cached.jwt;
17
+ const res = await fetch(new URL("/oauth2/token", env.WORKOS_AUTHKIT_DOMAIN), {
18
+ method: "POST",
19
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
20
+ body: new URLSearchParams({
21
+ grant_type: "client_credentials",
22
+ client_id: env.WORKOS_M2M_CLIENT_ID ?? "",
23
+ client_secret: env.WORKOS_M2M_CLIENT_SECRET ?? "",
24
+ }),
25
+ });
26
+ if (!res.ok) {
27
+ throw new Error(`fundi M2M token mint failed (${res.status}): ${(await res.text()).slice(0, 300)}`);
28
+ }
29
+ const data = (await res.json());
30
+ let exp = now + (data.expires_in ?? 3600);
31
+ try {
32
+ const claims = decodeJwt(data.access_token);
33
+ if (typeof claims.exp === "number")
34
+ exp = claims.exp;
35
+ }
36
+ catch {
37
+ // keep the expires_in fallback
38
+ }
39
+ cached = { jwt: data.access_token, exp };
40
+ return data.access_token;
41
+ }
42
+ /** True when every binding needed to call fundi is present. */
43
+ export function fundiConfigured(env) {
44
+ return Boolean(env.WORKOS_M2M_CLIENT_ID &&
45
+ env.WORKOS_M2M_CLIENT_SECRET &&
46
+ env.FUNDI_URL &&
47
+ env.WORKOS_AUTHKIT_DOMAIN);
48
+ }
49
+ export function createFundiCaller(env) {
50
+ return {
51
+ async call(path, userAccessToken, init = {}) {
52
+ const m2m = await mintM2MToken(env);
53
+ const headers = new Headers(init.headers);
54
+ headers.set("Authorization", `Bearer ${m2m}`);
55
+ headers.set("X-Fundi-User-Token", userAccessToken);
56
+ return fetch(new URL(path, env.FUNDI_URL), { ...init, headers });
57
+ },
58
+ };
59
+ }
60
+ //# sourceMappingURL=fundi-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fundi-client.js","sourceRoot":"","sources":["../src/fundi-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAGhC,IAAI,MAAM,GAAwC,IAAI,CAAA;AAEtD,KAAK,UAAU,YAAY,CAAC,GAAQ;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACzC,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAA;IACtD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE;QAC3E,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI,EAAE,IAAI,eAAe,CAAC;YACxB,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,GAAG,CAAC,oBAAoB,IAAI,EAAE;YACzC,aAAa,EAAE,GAAG,CAAC,wBAAwB,IAAI,EAAE;SAClD,CAAC;KACH,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkD,CAAA;IAChF,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC3C,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAA;IACxC,OAAO,IAAI,CAAC,YAAY,CAAA;AAC1B,CAAC;AAaD,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAAC,GAAQ;IACtC,OAAO,OAAO,CACZ,GAAG,CAAC,oBAAoB;QACtB,GAAG,CAAC,wBAAwB;QAC5B,GAAG,CAAC,SAAS;QACb,GAAG,CAAC,qBAAqB,CAC5B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACxC,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE;YACzC,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACzC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,GAAG,EAAE,CAAC,CAAA;YAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAA;YAClD,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAClE,CAAC;KACF,CAAA;AACH,CAAC"}
package/dist/http.d.ts CHANGED
@@ -7,12 +7,15 @@
7
7
  * `component_documents` enforces read-only.
8
8
  */
9
9
  import { type WithSupabaseConfig } from "@supabase/server";
10
+ import type { FundiToolContext } from "./fundi-client.js";
10
11
  export interface HttpHandlerOptions {
11
12
  /**
12
13
  * Override the default `@supabase/server` config. Defaults to
13
14
  * `{ auth: 'none', cors: false }` — public read via the anon client.
14
15
  */
15
16
  supabaseConfig?: WithSupabaseConfig;
17
+ /** When set, expose the fundi trigger tool bound to the signed-in user. */
18
+ fundi?: FundiToolContext;
16
19
  }
17
20
  /**
18
21
  * Build a fetch handler that serves the Mzizi MCP over Streamable HTTP.
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAoCjF,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAA;CACpC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,kBAAuB,IAGxC,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA8BlE"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAmCzD,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAA;IACnC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,gBAAgB,CAAA;CACzB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,kBAAuB,IAGxC,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CA8BlE"}
package/dist/http.js CHANGED
@@ -63,7 +63,7 @@ export function createMziziHttpHandler(options = {}) {
63
63
  sessionIdGenerator: undefined,
64
64
  enableJsonResponse: true,
65
65
  });
66
- const server = await createMziziMcpServer(ctx.supabase);
66
+ const server = await createMziziMcpServer(ctx.supabase, { fundi: options.fundi });
67
67
  await server.connect(transport);
68
68
  const response = await transport.handleRequest(request);
69
69
  return withCors(response);
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -22,12 +22,15 @@
22
22
  */
23
23
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
24
24
  import type { SupabaseClient } from "@supabase/supabase-js";
25
- export declare const MZIZI_MCP_VERSION = "0.3.0";
25
+ import type { FundiToolContext } from "./fundi-client.js";
26
+ export declare const MZIZI_MCP_VERSION = "0.4.0";
26
27
  /**
27
28
  * Build the Mzizi MCP server bound to a Supabase client with public read on
28
29
  * `mcp_tool_registry` / `component_documents` and EXECUTE on the backing RPCs.
29
30
  * The tool catalog is loaded from the registry; write-kind tools are excluded
30
31
  * from this (anonymous, public) surface.
31
32
  */
32
- export declare function createMziziMcpServer(supabase: SupabaseClient): Promise<McpServer>;
33
+ export declare function createMziziMcpServer(supabase: SupabaseClient, opts?: {
34
+ fundi?: FundiToolContext;
35
+ }): Promise<McpServer>;
33
36
  //# sourceMappingURL=server.d.ts.map
@@ -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,CAAA;AAMnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D,eAAO,MAAM,iBAAiB,UAAU,CAAA;AAiGxC;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAqLvF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAMnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,eAAO,MAAM,iBAAiB,UAAU,CAAA;AAiGxC;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAO,GACtC,OAAO,CAAC,SAAS,CAAC,CA4MpB"}
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.3.0";
25
+ export const MZIZI_MCP_VERSION = "0.4.0";
26
26
  const str = (description) => ({ type: ["string", "null"], description });
27
27
  const reqStr = (description) => ({ type: "string", description });
28
28
  const int = (description) => ({ type: ["integer", "null"], description });
@@ -103,7 +103,7 @@ function schemaFor(row) {
103
103
  * The tool catalog is loaded from the registry; write-kind tools are excluded
104
104
  * from this (anonymous, public) surface.
105
105
  */
106
- export async function createMziziMcpServer(supabase) {
106
+ export async function createMziziMcpServer(supabase, opts = {}) {
107
107
  const server = new McpServer({
108
108
  name: "mzizi-mcp",
109
109
  version: MZIZI_MCP_VERSION,
@@ -147,6 +147,16 @@ export async function createMziziMcpServer(supabase) {
147
147
  inputSchema: EMPTY_SCHEMA,
148
148
  },
149
149
  ];
150
+ // fundi trigger — exposed only when this Worker is wired as a fundi caller
151
+ // (holds the M2M secret). fundi never runs in isolation: this routes the
152
+ // signed-in user's request to fundi with an M2M token + the user's token.
153
+ if (opts.fundi) {
154
+ coreTools.push({
155
+ name: "fundi_status",
156
+ 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.",
157
+ inputSchema: EMPTY_SCHEMA,
158
+ });
159
+ }
150
160
  const tools = [
151
161
  ...rows.map((r) => ({
152
162
  name: r.tool_name,
@@ -186,6 +196,20 @@ export async function createMziziMcpServer(supabase) {
186
196
  readOnly: true,
187
197
  });
188
198
  }
199
+ if (name === "fundi_status") {
200
+ if (!opts.fundi)
201
+ return toolError("fundi is not configured on this server");
202
+ const res = await opts.fundi.caller.call("/admin/whoami", opts.fundi.userAccessToken);
203
+ const body = await res.text();
204
+ if (!res.ok)
205
+ return toolError(`fundi call failed (${res.status}): ${body}`);
206
+ try {
207
+ return jsonContent(JSON.parse(body));
208
+ }
209
+ catch {
210
+ return jsonContent({ ok: true, raw: body });
211
+ }
212
+ }
189
213
  const row = byName.get(name);
190
214
  if (!row)
191
215
  return toolError(`Unknown tool: ${name}`);
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nyuchi/mzizi-mcp",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -46,7 +46,7 @@
46
46
  "@supabase/server": "^1.1.0",
47
47
  "@supabase/supabase-js": "^2.104.0",
48
48
  "@workos-inc/node": "^9.3.0",
49
- "hono": "^4.12.19",
49
+ "hono": "^4.12.25",
50
50
  "jose": "^6.2.3",
51
51
  "zod": "^4.3.6"
52
52
  },