@nyuchi/mzizi-mcp 0.9.0 → 0.10.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/LICENSE +202 -0
- package/README.md +115 -85
- package/dist/access.d.ts +69 -0
- package/dist/access.d.ts.map +1 -0
- package/dist/access.js +72 -0
- package/dist/access.js.map +1 -0
- package/dist/auth/authkit-handler.d.ts +4 -3
- package/dist/auth/authkit-handler.d.ts.map +1 -1
- package/dist/auth/authkit-handler.js +52 -6
- package/dist/auth/authkit-handler.js.map +1 -1
- package/dist/auth/front.d.ts +17 -0
- package/dist/auth/front.d.ts.map +1 -0
- package/dist/auth/front.js +25 -0
- package/dist/auth/front.js.map +1 -0
- package/dist/auth/mcp-api-handler.d.ts +20 -7
- package/dist/auth/mcp-api-handler.d.ts.map +1 -1
- package/dist/auth/mcp-api-handler.js +43 -29
- package/dist/auth/mcp-api-handler.js.map +1 -1
- package/dist/desk-context.d.ts +33 -0
- package/dist/desk-context.d.ts.map +1 -0
- package/dist/desk-context.js +49 -0
- package/dist/desk-context.js.map +1 -0
- package/dist/docs-federation.d.ts +68 -0
- package/dist/docs-federation.d.ts.map +1 -0
- package/dist/docs-federation.js +282 -0
- package/dist/docs-federation.js.map +1 -0
- package/dist/env.d.ts +7 -8
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +5 -5
- package/dist/fundi-a2a.d.ts +1 -1
- package/dist/fundi-a2a.js +2 -2
- package/dist/fundi-a2a.js.map +1 -1
- package/dist/fundi-client.d.ts +24 -4
- package/dist/fundi-client.d.ts.map +1 -1
- package/dist/fundi-client.js +91 -4
- package/dist/fundi-client.js.map +1 -1
- package/dist/generated/registry-pin.d.ts +5 -0
- package/dist/generated/registry-pin.d.ts.map +1 -0
- package/dist/generated/registry-pin.js +3 -0
- package/dist/generated/registry-pin.js.map +1 -0
- package/dist/generated/registry.d.ts +23 -0
- package/dist/generated/registry.d.ts.map +1 -0
- package/dist/generated/registry.js +1204 -0
- package/dist/generated/registry.js.map +1 -0
- package/dist/generated/skills.d.ts +18 -0
- package/dist/generated/skills.d.ts.map +1 -0
- package/dist/generated/skills.js +67 -0
- package/dist/generated/skills.js.map +1 -0
- package/dist/http.d.ts +18 -9
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +16 -13
- package/dist/http.js.map +1 -1
- package/dist/issue-desk.d.ts +152 -0
- package/dist/issue-desk.d.ts.map +1 -0
- package/dist/issue-desk.js +392 -0
- package/dist/issue-desk.js.map +1 -0
- package/dist/issue-log.d.ts +80 -0
- package/dist/issue-log.d.ts.map +1 -0
- package/dist/issue-log.js +146 -0
- package/dist/issue-log.js.map +1 -0
- package/dist/issue-report.d.ts +138 -0
- package/dist/issue-report.d.ts.map +1 -0
- package/dist/issue-report.js +112 -0
- package/dist/issue-report.js.map +1 -0
- package/dist/rate-limit.d.ts +41 -0
- package/dist/rate-limit.d.ts.map +1 -0
- package/dist/rate-limit.js +58 -0
- package/dist/rate-limit.js.map +1 -0
- package/dist/registry.d.ts +126 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +280 -0
- package/dist/registry.js.map +1 -0
- package/dist/server.d.ts +96 -22
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +76 -32
- package/dist/server.js.map +1 -1
- package/dist/stdio.d.ts +6 -13
- package/dist/stdio.d.ts.map +1 -1
- package/dist/stdio.js +6 -29
- package/dist/stdio.js.map +1 -1
- package/dist/tools.d.ts +45 -6
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +313 -82
- package/dist/tools.js.map +1 -1
- package/dist/worker.d.ts +26 -14
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +42 -14
- package/dist/worker.js.map +1 -1
- package/package.json +24 -19
- package/dist/api-client.d.ts +0 -101
- package/dist/api-client.d.ts.map +0 -1
- package/dist/api-client.js +0 -200
- package/dist/api-client.js.map +0 -1
- package/dist/defaults.d.ts +0 -29
- package/dist/defaults.d.ts.map +0 -1
- package/dist/defaults.js +0 -29
- package/dist/defaults.js.map +0 -1
package/dist/stdio.js
CHANGED
|
@@ -3,40 +3,17 @@
|
|
|
3
3
|
* stdio entry — for the MCP registry (`npx mzizi-mcp`) and local MCP clients
|
|
4
4
|
* (Claude Code, etc.).
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Zero-config and credential-free: the registry data and skills are bundled
|
|
7
|
+
* into this package at build time (from the mzizi-registry commit pinned in
|
|
8
|
+
* `registry.pin.json`), so the registry tools need no network at all. The
|
|
9
|
+
* `docs_*` tools forward to the public docs MCP at docs.mzizi.dev.
|
|
8
10
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* works with no environment set. This is the sanctioned headless path: the
|
|
12
|
-
* hosted mcp.mzizi.dev endpoint sits behind an interactive, browser-only
|
|
13
|
-
* WorkOS signup gate that a headless agent cannot complete, whereas this bin
|
|
14
|
-
* reads the same public registry directly.
|
|
15
|
-
*
|
|
16
|
-
* Env (optional — override the defaults to point at a fork / self-hosted
|
|
17
|
-
* mirror):
|
|
18
|
-
* SUPABASE_URL (or NEXT_PUBLIC_SUPABASE_URL)
|
|
19
|
-
* SUPABASE_PUBLISHABLE_KEY (or NEXT_PUBLIC_SUPABASE_ANON_KEY)
|
|
11
|
+
* `MZIZI_API_BASE` is gone: there is no registry API to point at any more. To
|
|
12
|
+
* serve different registry content, build with a different pin.
|
|
20
13
|
*/
|
|
21
14
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
22
|
-
import { createClient } from "@supabase/supabase-js";
|
|
23
15
|
import { createMziziMcpServer } from "./server.js";
|
|
24
|
-
import { DEFAULT_SUPABASE_URL, DEFAULT_SUPABASE_PUBLISHABLE_KEY } from "./defaults.js";
|
|
25
16
|
async function main() {
|
|
26
|
-
const url = process.env.SUPABASE_URL ?? process.env.NEXT_PUBLIC_SUPABASE_URL ?? DEFAULT_SUPABASE_URL;
|
|
27
|
-
const key = process.env.SUPABASE_PUBLISHABLE_KEY ??
|
|
28
|
-
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY ??
|
|
29
|
-
DEFAULT_SUPABASE_PUBLISHABLE_KEY;
|
|
30
|
-
if (!url || !key) {
|
|
31
|
-
// Unreachable with the baked defaults, but keep an actionable message in
|
|
32
|
-
// case someone explicitly sets one var to an empty string.
|
|
33
|
-
process.stderr.write("mzizi-mcp: missing SUPABASE_URL or SUPABASE_PUBLISHABLE_KEY. Leave both unset to use " +
|
|
34
|
-
"the public Mzizi registry defaults, or set them to point at a fork / self-hosted mirror.\n");
|
|
35
|
-
process.exit(1);
|
|
36
|
-
}
|
|
37
|
-
const supabase = createClient(url, key, {
|
|
38
|
-
auth: { persistSession: false, autoRefreshToken: false },
|
|
39
|
-
});
|
|
40
17
|
const server = await createMziziMcpServer();
|
|
41
18
|
const transport = new StdioServerTransport();
|
|
42
19
|
await server.connect(transport);
|
package/dist/stdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAA;IAC3C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;AACjC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,IAAI,CAAC,CAAA;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The Mzizi MCP tool surface — 10 tools, defined in code.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Eight are free. `fundi` and `report_issue` act as a console user and need
|
|
5
|
+
* the WorkOS sign-in; `access.ts` says which is which and how to sign in.
|
|
6
|
+
*
|
|
7
|
+
* The registry tools answer from files bundled into this build (`registry.ts`,
|
|
8
|
+
* generated from mzizi-dev/mzizi-registry at the commit in `registry.pin.json`), and
|
|
9
|
+
* skills from the skill files in this repo. There is no database and no request-time
|
|
10
|
+
* registry API call. Docs are federated separately (`docs-federation.ts`).
|
|
8
11
|
*
|
|
9
12
|
* Defining the tools here rather than loading them from a table is the point. A
|
|
10
13
|
* registry-driven surface changed what the server exposed whenever someone edited a
|
|
@@ -16,15 +19,51 @@
|
|
|
16
19
|
* be checked mechanically rather than argued about.
|
|
17
20
|
*/
|
|
18
21
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
19
|
-
import {
|
|
22
|
+
import { type Registry } from "./registry.js";
|
|
20
23
|
import type { FundiToolContext } from "./fundi-client.js";
|
|
21
24
|
export declare const TOOL_PREFIX = "mzizi_";
|
|
22
25
|
/** What each tool absorbed, so coverage against the old 62 is checkable. */
|
|
23
26
|
export declare const TOOL_COVERAGE: Record<string, readonly string[]>;
|
|
27
|
+
/**
|
|
28
|
+
* The caller's own issue desk, already bound to their identity.
|
|
29
|
+
*
|
|
30
|
+
* A narrow structural type rather than the `IssueDesk` class: `tools.ts` runs
|
|
31
|
+
* in the stdio bin too, where `cloudflare:workers` does not resolve, and
|
|
32
|
+
* importing the class for its type alone would pull the module in. The Worker
|
|
33
|
+
* passes a `DurableObjectStub`, which satisfies this shape.
|
|
34
|
+
*/
|
|
35
|
+
export type IssueDeskContext = {
|
|
36
|
+
open(input: {
|
|
37
|
+
kind: "feedback" | "observability" | "chaos";
|
|
38
|
+
message: string;
|
|
39
|
+
component?: string;
|
|
40
|
+
severity?: "low" | "medium" | "high" | "critical";
|
|
41
|
+
skill?: string;
|
|
42
|
+
}): Promise<unknown>;
|
|
43
|
+
get(id: string): Promise<unknown | null>;
|
|
44
|
+
list(limit?: number): Promise<unknown[]>;
|
|
45
|
+
retry(id: string): Promise<unknown | null>;
|
|
46
|
+
};
|
|
24
47
|
export type RegisterOptions = {
|
|
25
|
-
|
|
48
|
+
/** The registry to answer from. Defaults to the one bundled into this build. */
|
|
49
|
+
registry?: () => Promise<Registry>;
|
|
26
50
|
/** Registers the `fundi` tool only when this server is wired as a fundi caller. */
|
|
27
51
|
fundi?: FundiToolContext;
|
|
52
|
+
/**
|
|
53
|
+
* The signed-in user's issue desk. Absent on the stdio bin and in
|
|
54
|
+
* `wrangler dev` — there is no Durable Object namespace and no user to key
|
|
55
|
+
* one by — in which case `report_issue` says so rather than pretending.
|
|
56
|
+
*/
|
|
57
|
+
desk?: IssueDeskContext;
|
|
58
|
+
/**
|
|
59
|
+
* Set when the caller is anonymous on a server that offers sign-in (the
|
|
60
|
+
* Worker's free tier, see `access.ts`). The signed-in tools are still listed,
|
|
61
|
+
* and each refuses with a sign-in error rather than vanishing. `fundi` lists
|
|
62
|
+
* `mzizi_fundi` as well, and is true only when this server can reach fundi.
|
|
63
|
+
*/
|
|
64
|
+
anonymous?: {
|
|
65
|
+
fundi: boolean;
|
|
66
|
+
};
|
|
28
67
|
};
|
|
29
68
|
export declare function registerMziziTools(server: McpServer, opts: RegisterOptions): string[];
|
|
30
69
|
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAmB,KAAK,QAAQ,EAAe,MAAM,eAAe,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAW1D,eAAO,MAAM,WAAW,WAAW,CAAC;AA0DpC,4EAA4E;AAC5E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA0D3D,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,KAAK,EAAE;QACV,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,OAAO,CAAC;QAC7C,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;QAClD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,mFAAmF;IACnF,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAChC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,eAAe,GACpB,MAAM,EAAE,CAwjBV"}
|