@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 +35 -9
- package/dist/auth/authkit-handler.d.ts +19 -13
- package/dist/auth/authkit-handler.d.ts.map +1 -1
- package/dist/auth/authkit-handler.js +116 -53
- package/dist/auth/authkit-handler.js.map +1 -1
- package/dist/auth/mcp-api-handler.d.ts.map +1 -1
- package/dist/auth/mcp-api-handler.js +9 -0
- package/dist/auth/mcp-api-handler.js.map +1 -1
- package/dist/auth/props.d.ts +10 -8
- package/dist/auth/props.d.ts.map +1 -1
- package/dist/env.d.ts +7 -3
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +3 -2
- package/dist/env.js.map +1 -1
- package/dist/fundi-client.d.ts +24 -0
- package/dist/fundi-client.d.ts.map +1 -0
- package/dist/fundi-client.js +60 -0
- package/dist/fundi-client.js.map +1 -0
- package/dist/http.d.ts +3 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +1 -1
- package/dist/http.js.map +1 -1
- package/dist/server.d.ts +5 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +26 -2
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
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.
|
|
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
|
|
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
|
|
82
|
-
| --------------------- |
|
|
83
|
-
| `list_collections` | `component_documents` aggregate
|
|
84
|
-
| `get_database_status` | `component_documents` 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
|
|
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
|
|
2
|
+
* WorkOS Connect handler — the OAuth provider's `defaultHandler`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
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
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
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
|
|
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
|
|
2
|
+
* WorkOS Connect handler — the OAuth provider's `defaultHandler`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
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
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
96
|
-
|
|
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
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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("
|
|
138
|
-
return c.text("Invalid
|
|
195
|
+
console.error("id-token verification failed:", error);
|
|
196
|
+
return c.text("Invalid token returned", 502);
|
|
139
197
|
}
|
|
140
|
-
const
|
|
141
|
-
|
|
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`
|
|
144
|
-
//
|
|
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
|
|
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":"AAAA
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/auth/props.d.ts
CHANGED
|
@@ -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
|
|
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 `
|
|
8
|
-
*
|
|
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
|
|
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
|
|
16
|
+
refreshToken?: string;
|
|
14
17
|
permissions: string[];
|
|
15
|
-
organizationId?: string;
|
|
16
18
|
[key: string]: unknown;
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=props.d.ts.map
|
package/dist/auth/props.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/auth/props.ts"],"names":[],"mappings":"AAAA
|
|
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
|
-
*
|
|
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)
|
|
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
|
-
|
|
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
|
|
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
|
-
*
|
|
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)
|
|
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
|
|
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.
|
package/dist/http.d.ts.map
CHANGED
|
@@ -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;
|
|
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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,wCAAwC,EAAE,MAAM,+DAA+D,CAAA;AACxH,OAAO,EAAE,qBAAqB,EAA2B,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;
|
|
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
|
-
|
|
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
|
|
33
|
+
export declare function createMziziMcpServer(supabase: SupabaseClient, opts?: {
|
|
34
|
+
fundi?: FundiToolContext;
|
|
35
|
+
}): Promise<McpServer>;
|
|
33
36
|
//# sourceMappingURL=server.d.ts.map
|
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,CAAA;AAMnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;
|
|
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.
|
|
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}`);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAA;AAG3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAA;AAiBxC,MAAM,GAAG,GAAG,CAAC,WAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;AACjF,MAAM,MAAM,GAAG,CAAC,WAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;AAC1E,MAAM,GAAG,GAAG,CAAC,WAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;AAClF,MAAM,IAAI,GAAG,CAAC,WAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;AACnF,MAAM,GAAG,GAAG,CAAC,WAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;AAEjF;;;;;GAKG;AACH,MAAM,aAAa,GAA+B;IAChD,YAAY;IACZ,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,+BAA+B,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IACxH,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kBAAkB,CAAC,EAAE;IAC5K,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC/G,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE;IAC5N,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;IACpJ,YAAY;IACZ,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,2CAA2C,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,2CAA2C,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,CAAC,EAAE,EAAE;IACjS,SAAS;IACT,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IACjG,KAAK;IACL,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,wCAAwC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IACvI,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,EAAE,EAAE;IAC3F,QAAQ;IACR,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;IACpH,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE,EAAE;IACrG,aAAa;IACb,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IACjH,UAAU;IACV,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;IAC5H,4BAA4B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IACxH,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;IAChH,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,2BAA2B,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,6BAA6B,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;IAC1K,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE;IAClH,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE;IAC1J,gBAAgB;IAChB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,CAAC,EAAE,EAAE;IAClI,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,EAAE;IACvK,WAAW;IACX,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,yCAAyC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE;IAC5N,sBAAsB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kBAAkB,CAAC,EAAE;IACtI,0BAA0B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE;IAC9G,gBAAgB;IAChB,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,kCAAkC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;IAC7J,0BAA0B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE;IAChG,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,CAAC,EAAE,EAAE;IACxN,eAAe;IACf,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,oBAAoB,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,CAAC,EAAE,EAAE;IAC/M,OAAO;IACP,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;IAChM,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IACpG,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,8CAA8C,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;IACtL,uBAAuB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,+CAA+C,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,sCAAsC,CAAC,EAAE,EAAE;IACtM,OAAO;IACP,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE,EAAE;CAC1K,CAAA;AAED,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;AAEnE,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AACvF,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;AAC/E,CAAC;AAED,SAAS,aAAa,CAAC,MAAsC;IAC3D,MAAM,KAAK,GAAG,MAAM,IAAK,MAAmC,CAAC,UAAU,CAAA;IACvE,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AACxF,CAAC;AAED,SAAS,SAAS,CAAC,GAAgB;IACjC,IAAI,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,GAAG,CAAC,YAAY,CAAA;IAC5D,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,YAAY,CAAA;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAwB;IACjE,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,OAAO;KACf,EACD;QACE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;QAChF,YAAY,EACV,6gBAA6gB;KAChhB,CACF,CAAA;IAED,8EAA8E;IAC9E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ;SACnC,IAAI,CAAC,mBAAmB,CAAC;SACzB,MAAM,CACL,4HAA4H,CAC7H;SACA,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAEtB,IAAI,KAAK,EAAE,CAAC;QACV,8EAA8E;QAC9E,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACnE,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,WAAW,EAAE,4CAA4C,KAAK,CAAC,OAAO,EAAE;oBACxE,WAAW,EAAE,YAAY;iBACX;aACjB;SACF,CAAC,CAAC,CAAA;QACH,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAChE,SAAS,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAC7D,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,IAAI,GAAG,CAAE,IAA6B,IAAI,EAAE,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAC1D,CAAA;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzD,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,SAAS,GAAW;QACxB;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,gKAAgK;YAClK,WAAW,EAAE,YAA8C;SAC5D;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uEAAuE;YACpF,WAAW,EAAE,YAA8C;SAC5D;KACF,CAAA;IAED,MAAM,KAAK,GAAW;QACpB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,CAAC,CAAC,SAAS;YACjB,WAAW,EACT,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,0BAA0B;YAC9F,WAAW,EAAE,SAAS,CAAC,CAAC,CAAmC;SAC5D,CAAC,CAAC;QACH,GAAG,SAAS;KACb,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEhF,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;QAChC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAA;QAExE,mDAAmD;QACnD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ;iBACnC,IAAI,CAAC,qBAAqB,CAAC;iBAC3B,MAAM,CAAC,yBAAyB,CAAC,CAAA;YACpC,IAAI,KAAK;gBAAE,OAAO,SAAS,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACxE,OAAO,WAAW,CAAC,oBAAoB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,QAAQ;iBACxB,IAAI,CAAC,qBAAqB,CAAC;iBAC3B,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9C,MAAM,UAAU,GAAG,MAAM,QAAQ;iBAC9B,IAAI,CAAC,mBAAmB,CAAC;iBACzB,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;iBAC3C,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YACtB,OAAO,WAAW,CAAC;gBACjB,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;gBAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO;gBAC1B,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;gBAC1B,aAAa,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;gBACpC,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;gBACpD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;gBACpD,IAAI,KAAK;oBAAE,OAAO,SAAS,CAAC,GAAG,GAAG,CAAC,SAAS,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBACxE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;YACD,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1F,IAAI,KAAK;oBAAE,OAAO,SAAS,CAAC,GAAG,GAAG,CAAC,SAAS,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC/E,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;YACD,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACpF,IAAI,KAAK;oBAAE,OAAO,SAAS,CAAC,GAAG,GAAG,CAAC,SAAS,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBACxE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;YAC1B,CAAC;YACD,OAAO,SAAS,CAAC,GAAG,GAAG,CAAC,SAAS,0CAA0C,CAAC,CAAA;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,SAAS,CACd,GAAG,GAAG,CAAC,SAAS,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9E,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,MAAM,CAAC,QAAQ,CACb,aAAa,EACb,qBAAqB,EACrB;QACE,WAAW,EACT,qGAAqG;KACxG,EACD,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAA;QAC7F,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,qBAAqB;oBAC1B,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;iBAChE;aACF;SACF,CAAA;IACH,CAAC,CACF,CAAA;IAED,MAAM,CAAC,QAAQ,CACb,YAAY,EACZ,oBAAoB,EACpB;QACE,WAAW,EACT,sHAAsH;KACzH,EACD,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE;YACpD,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,MAAM,IAAI,GAAI,IAAyF,IAAI,EAAE,CAAA;QAC7G,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI;YACpC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI;YACxC,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,IAAI;SACnD,CAAC,CAAC,CAAA;QACH,OAAO;YACL,QAAQ,EAAE;gBACR,EAAE,GAAG,EAAE,oBAAoB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACjG;SACF,CAAA;IACH,CAAC,CACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,gFAAgF;AAChF,SAAS,oBAAoB,CAC3B,IAAuE;IAEvE,MAAM,OAAO,GAAG,IAAI,GAAG,EAGpB,CAAA;IACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI;YAC3C,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE;SACZ,CAAA;QACD,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;QAChB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AACvF,CAAC"}
|
|
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
|
+
"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.
|
|
49
|
+
"hono": "^4.12.25",
|
|
50
50
|
"jose": "^6.2.3",
|
|
51
51
|
"zod": "^4.3.6"
|
|
52
52
|
},
|