@numa-tech/numa 1.15.0 → 1.16.1

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.
Files changed (49) hide show
  1. package/README.md +57 -6
  2. package/dist/ai-registry/commands.d.ts +8 -1
  3. package/dist/ai-registry/commands.js +70 -15
  4. package/dist/ai-registry/commands.js.map +1 -1
  5. package/dist/ai-registry/mcp-installer.js +17 -0
  6. package/dist/ai-registry/mcp-installer.js.map +1 -1
  7. package/dist/ai-registry/sync.js +3 -2
  8. package/dist/ai-registry/sync.js.map +1 -1
  9. package/dist/cli.js +26 -14
  10. package/dist/cli.js.map +1 -1
  11. package/dist/command-catalog.js +7 -3
  12. package/dist/command-catalog.js.map +1 -1
  13. package/dist/interactive/entry.d.ts +2 -0
  14. package/dist/interactive/entry.js +91 -0
  15. package/dist/interactive/entry.js.map +1 -0
  16. package/dist/interactive/mcp.d.ts +4 -0
  17. package/dist/interactive/mcp.js +98 -0
  18. package/dist/interactive/mcp.js.map +1 -0
  19. package/dist/interactive/prompts.d.ts +26 -0
  20. package/dist/interactive/prompts.js +79 -0
  21. package/dist/interactive/prompts.js.map +1 -0
  22. package/dist/interactive/registry.d.ts +28 -0
  23. package/dist/interactive/registry.js +147 -0
  24. package/dist/interactive/registry.js.map +1 -0
  25. package/dist/maintenance/modules.js +1 -1
  26. package/dist/maintenance/modules.js.map +1 -1
  27. package/dist/mcp/catalog.d.ts +35 -0
  28. package/dist/mcp/catalog.js +203 -0
  29. package/dist/mcp/catalog.js.map +1 -0
  30. package/dist/mcp/commands.d.ts +4 -1
  31. package/dist/mcp/commands.js +73 -29
  32. package/dist/mcp/commands.js.map +1 -1
  33. package/dist/mcp/environment.d.ts +5 -0
  34. package/dist/mcp/environment.js +35 -0
  35. package/dist/mcp/environment.js.map +1 -0
  36. package/dist/mcp/inspect.d.ts +35 -0
  37. package/dist/mcp/inspect.js +17 -0
  38. package/dist/mcp/inspect.js.map +1 -0
  39. package/dist/mcp/install.d.ts +9 -1
  40. package/dist/mcp/install.js +28 -9
  41. package/dist/mcp/install.js.map +1 -1
  42. package/dist/server.d.ts +2 -3
  43. package/dist/server.js +19 -7
  44. package/dist/server.js.map +1 -1
  45. package/package.json +4 -4
  46. package/skills/numa-cli/SKILL.md +2 -1
  47. package/skills/numa-cli/evals/evals.json +12 -0
  48. package/skills/numa-cli/numa-skill.json +1 -1
  49. package/skills/numa-cli/references/cli-mcp.md +50 -3
@@ -0,0 +1,35 @@
1
+ import { AiRegistryError, sanitizeRegistryOutput, } from "../ai-registry/errors.js";
2
+ import { sanitizeOssOutput } from "../oss/errors.js";
3
+ export function collectEnvironment(value, previous = []) {
4
+ return [...previous, value];
5
+ }
6
+ export function parseEnvironment(values = []) {
7
+ if (values.length > 64)
8
+ throw new AiRegistryError("At most 64 --env entries are allowed.", "ai_registry_mcp_invalid");
9
+ const entries = [], names = new Set();
10
+ for (const entry of values) {
11
+ const split = entry.indexOf("="), name = entry.slice(0, split), value = entry.slice(split + 1);
12
+ if (split < 1 ||
13
+ !/^[A-Za-z_][A-Za-z0-9_]*$/u.test(name) ||
14
+ value.includes("\0") ||
15
+ entry.length > 32768)
16
+ throw new AiRegistryError("--env requires NAME=VALUE with a valid environment name and no NUL. Values may contain = and may be empty.", "ai_registry_mcp_invalid");
17
+ if (names.has(name.toUpperCase()))
18
+ throw new AiRegistryError(`Duplicate --env name: ${name}.`, "ai_registry_mcp_invalid");
19
+ names.add(name.toUpperCase());
20
+ entries.push([name, value]);
21
+ }
22
+ return Object.fromEntries(entries);
23
+ }
24
+ export function appendEnvironment(definition, values = []) {
25
+ const env = parseEnvironment(values);
26
+ if (!values.length)
27
+ return definition;
28
+ if (!("command" in definition))
29
+ throw new AiRegistryError("--env configures a local MCP process only; remote HTTPS MCP has no local environment. Use --transport bridge for a supported Registry client.", "ai_registry_mcp_invalid");
30
+ return { ...definition, env: { ...definition.env, ...env } };
31
+ }
32
+ export function safeMcpOutput(value) {
33
+ return sanitizeRegistryOutput(sanitizeOssOutput(value));
34
+ }
35
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/mcp/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,QAAQ,GAAa,EAAE;IAEvB,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AACD,MAAM,UAAU,gBAAgB,CAC9B,MAAM,GAAa,EAAE;IAErB,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;QACpB,MAAM,IAAI,eAAe,CACvB,uCAAuC,EACvC,yBAAyB,CAC1B,CAAC;IACJ,MAAM,OAAO,GAA4B,EAAE,EACzC,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAC9B,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAC5B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACjC,IACE,KAAK,GAAG,CAAC;YACT,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;YACvC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,KAAK;YAEpB,MAAM,IAAI,eAAe,CACvB,4GAA4G,EAC5G,yBAAyB,CAC1B,CAAC;QACJ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,eAAe,CACvB,yBAAyB,IAAI,GAAG,EAChC,yBAAyB,CAC1B,CAAC;QACJ,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AACD,MAAM,UAAU,iBAAiB,CAC/B,UAA+B,EAC/B,MAAM,GAAa,EAAE;IAErB,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC;QAC5B,MAAM,IAAI,eAAe,CACvB,+IAA+I,EAC/I,yBAAyB,CAC1B,CAAC;IACJ,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC;AAC/D,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,sBAAsB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { McpSelectionOptions } from "./catalog.js";
2
+ export declare function inspectMcpTools(options?: McpSelectionOptions): Promise<{
3
+ inputSchema: {
4
+ [x: string]: unknown;
5
+ type: "object";
6
+ properties?: Record<string, object> | undefined;
7
+ required?: string[] | undefined;
8
+ };
9
+ name: string;
10
+ description?: string | undefined;
11
+ outputSchema?: {
12
+ [x: string]: unknown;
13
+ type: "object";
14
+ properties?: Record<string, object> | undefined;
15
+ required?: string[] | undefined;
16
+ } | undefined;
17
+ annotations?: {
18
+ title?: string | undefined;
19
+ readOnlyHint?: boolean | undefined;
20
+ destructiveHint?: boolean | undefined;
21
+ idempotentHint?: boolean | undefined;
22
+ openWorldHint?: boolean | undefined;
23
+ } | undefined;
24
+ execution?: {
25
+ taskSupport?: "optional" | "required" | "forbidden" | undefined;
26
+ } | undefined;
27
+ _meta?: Record<string, unknown> | undefined;
28
+ icons?: {
29
+ src: string;
30
+ mimeType?: string | undefined;
31
+ sizes?: string[] | undefined;
32
+ theme?: "light" | "dark" | undefined;
33
+ }[] | undefined;
34
+ title?: string | undefined;
35
+ }[]>;
@@ -0,0 +1,17 @@
1
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
+ import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
3
+ import { createServer } from "../server.js";
4
+ export async function inspectMcpTools(options = {}) {
5
+ const server = createServer(options), client = new Client({ name: "numa-tool-inspection", version: "1.0.0" });
6
+ const [a, b] = InMemoryTransport.createLinkedPair();
7
+ try {
8
+ await server.connect(b);
9
+ await client.connect(a);
10
+ return (await client.listTools()).tools;
11
+ }
12
+ finally {
13
+ await client.close();
14
+ await server.close();
15
+ }
16
+ }
17
+ //# sourceMappingURL=inspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/mcp/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAO,GAAwB,EAAE;IACrE,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,EAClC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -3,12 +3,18 @@ import { type McpModule } from "./modules.js";
3
3
  export declare const CLI_MCP_AGENTS: readonly ["workbuddy", "claude", "claude-desktop", "codex", "cursor", "openclaw", "custom", "chatgpt"];
4
4
  export type CliMcpAgent = typeof CLI_MCP_AGENTS[number];
5
5
  export interface CliMcpOptions {
6
- agent: string;
6
+ agent?: string;
7
+ env?: string[];
8
+ tools?: string;
9
+ excludeTools?: string;
10
+ serverName?: string;
11
+ serverDescription?: string;
7
12
  scope?: string;
8
13
  name?: string;
9
14
  modules?: string;
10
15
  authMode?: string;
11
16
  clientId?: string;
17
+ clientSecret?: string;
12
18
  clientSecretFile?: string;
13
19
  workspace?: string;
14
20
  customConfig?: string;
@@ -21,6 +27,8 @@ export interface CliMcpPlan {
21
27
  scope: "project" | "user";
22
28
  name: string;
23
29
  modules: McpModule[];
30
+ tools: string[];
31
+ instructionsDescription: string;
24
32
  definition: McpClientDefinition;
25
33
  status: "ready" | "manual_required";
26
34
  workspace?: string;
@@ -5,6 +5,8 @@ import { lstat, mkdir, unlink, writeFile } from "node:fs/promises";
5
5
  import { PACKAGE_NAME, PACKAGE_VERSION } from "../branding.js";
6
6
  import { installMcpClientDefinition } from "../ai-registry/mcp-installer.js";
7
7
  import { AiRegistryError } from "../ai-registry/errors.js";
8
+ import { appendEnvironment, parseEnvironment } from "./environment.js";
9
+ import { selectMcpTools } from "./catalog.js";
8
10
  import { DEFAULT_INSTALL_MODULES, parseMcpModules } from "./modules.js";
9
11
  export const CLI_MCP_AGENTS = ["workbuddy", "claude", "claude-desktop", "codex", "cursor", "openclaw", "custom", "chatgpt"];
10
12
  function invalid(message) { throw new AiRegistryError(message, "ai_registry_mcp_invalid"); }
@@ -21,6 +23,10 @@ function httpsEndpoint(value) {
21
23
  return url.toString();
22
24
  }
23
25
  export function planCliMcp(options, dependencies = {}) {
26
+ if (options.clientSecret !== undefined && options.clientSecretFile !== undefined)
27
+ invalid("--client-secret and --client-secret-file are mutually exclusive.");
28
+ if (options.clientSecret !== undefined && (!options.clientSecret.trim() || /[\u0000-\u001f\u007f]/u.test(options.clientSecret)))
29
+ invalid("--client-secret must be nonempty and contain no control characters.");
24
30
  if (!CLI_MCP_AGENTS.includes(options.agent))
25
31
  invalid(`Agent must be one of ${CLI_MCP_AGENTS.join(",")}.`);
26
32
  const agent = options.agent, scope = options.scope ?? "user", name = options.name ?? "numa-cli";
@@ -43,28 +49,41 @@ export function planCliMcp(options, dependencies = {}) {
43
49
  if (["codex", "openclaw"].includes(agent) && options.force)
44
50
  invalid("--force only applies to JSON configuration adapters; manage native CLI entries with the corresponding official CLI.");
45
51
  const modules = options.modules === undefined ? [...DEFAULT_INSTALL_MODULES] : parseMcpModules(options.modules);
52
+ const extra = parseEnvironment(options.env);
53
+ if (Object.keys(extra).some(k => ["NUMA_KEYCLOAK_AUTH_MODE", "NUMA_KEYCLOAK_CLIENT_ID", "NUMA_KEYCLOAK_CLIENT_SECRET", "NUMA_KEYCLOAK_CLIENT_SECRET_FILE"].includes(k.toUpperCase())))
54
+ invalid("Use --auth-mode, --client-id and either --client-secret or --client-secret-file for Numa identity; --env must not override these explicit identity controls.");
55
+ const selection = selectMcpTools({ ...options, modules });
46
56
  const mode = options.authMode ?? "browser";
47
57
  if (!["browser", "client_credentials"].includes(mode))
48
58
  invalid("Auth mode must be browser or client_credentials.");
49
- if (mode === "browser" && (options.clientId || options.clientSecretFile))
59
+ if (mode === "browser" && (options.clientId !== undefined || options.clientSecret !== undefined || options.clientSecretFile !== undefined))
50
60
  invalid("Machine client options require --auth-mode client_credentials.");
51
61
  const env = { NUMA_KEYCLOAK_AUTH_MODE: mode };
52
62
  if (mode === "client_credentials") {
53
- if (!options.clientId?.trim() || !options.clientSecretFile || !isAbsolute(options.clientSecretFile))
54
- invalid("Machine mode requires --client-id and an absolute --client-secret-file; never pass a literal secret.");
63
+ if (!options.clientId?.trim() || (options.clientSecret === undefined && !options.clientSecretFile))
64
+ invalid("Machine mode requires --client-id and either --client-secret or --client-secret-file.");
65
+ if (options.clientSecretFile !== undefined && !isAbsolute(options.clientSecretFile))
66
+ invalid("--client-secret-file must be an absolute path.");
55
67
  if (options.clientId === "mcp-client")
56
68
  invalid("The public browser mcp-client cannot be used as a machine identity.");
57
- if (/[\u0000-\u001f\u007f]/u.test(options.clientId + options.clientSecretFile))
69
+ if (/[\u0000-\u001f\u007f]/u.test(options.clientId + (options.clientSecretFile ?? "")))
58
70
  invalid("Machine configuration contains invalid controls.");
59
71
  env.NUMA_KEYCLOAK_CLIENT_ID = options.clientId;
60
- env.NUMA_KEYCLOAK_CLIENT_SECRET_FILE = options.clientSecretFile;
61
- // An inherited literal secret must not conflict with this explicitly selected file.
62
- env.NUMA_KEYCLOAK_CLIENT_SECRET = "";
72
+ // Clear the alternate inherited credential source so runtime exclusivity is preserved.
73
+ env.NUMA_KEYCLOAK_CLIENT_SECRET_FILE = options.clientSecretFile ?? "";
74
+ env.NUMA_KEYCLOAK_CLIENT_SECRET = options.clientSecret ?? "";
63
75
  }
64
76
  const platform = dependencies.platform ?? process.platform;
65
77
  let definition = { command: platform === "win32" ? "npx.cmd" : "npx", args: ["-y", `${PACKAGE_NAME}@${PACKAGE_VERSION}`, "serve", "--modules", modules.join(","), "--auth-mode", mode], env };
66
- const instructions = [mode === "browser" ? "先运行 numa login;MCP 使用同一用户的登录缓存与 platform profile。" : "MCP 进程使用指定机器 Client 和 Secret 文件;Issuer/API 地址从 platform profile 获取。", "重启或刷新 Agent 的 MCP 列表,信任 numa-cli 后核对工具。发送消息、上传、下载和删除仍需用户明确授权。"];
67
- const plan = { agent, scope, name, modules, definition, status: "ready", workspace: options.workspace, customConfig: options.customConfig, force: options.force, instructions };
78
+ if ("command" in definition)
79
+ for (const [flag, value] of [["--tools", options.tools], ["--exclude-tools", options.excludeTools], ["--server-name", options.serverName], ["--server-description", options.serverDescription]])
80
+ if (value !== undefined)
81
+ definition.args.push(flag, value);
82
+ definition = appendEnvironment(definition, options.env);
83
+ if (agent === "chatgpt" && options.endpoint && options.env?.length)
84
+ invalid("--env is only supported for local stdio or Tunnel, not a remote endpoint.");
85
+ const instructions = [mode === "browser" ? "先运行 numa login;MCP 使用同一用户的登录缓存与 platform profile。" : "MCP 进程使用指定机器 Client 和凭据;Issuer/API 地址从 platform profile 获取。", `重启或刷新 Agent 的 MCP 列表,信任 ${name} 后核对工具。发送消息、上传、下载和删除仍需用户明确授权。`];
86
+ const plan = { agent, scope, name, modules, tools: selection.tools, instructionsDescription: selection.instructions, definition, status: "ready", workspace: options.workspace, customConfig: options.customConfig, force: options.force, instructions };
68
87
  if (["codex", "openclaw"].includes(agent))
69
88
  instructions.push(`此适配器使用 ${agent} 官方 CLI 管理 ${name},同名条目按其原生命令语义处理,不提供 JSON 备份;安装前核对同名配置。`);
70
89
  if (agent === "chatgpt") {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/mcp/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/mcp/install.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { type WecomToolDependencies } from "./wecom/tools.js";
3
3
  import { type OssToolDependencies } from "./oss/tools.js";
4
- import { type McpModule } from "./mcp/modules.js";
4
+ import { type McpSelectionOptions } from "./mcp/catalog.js";
5
5
  export declare function createServer(dependencies?: {
6
6
  wecom?: WecomToolDependencies;
7
7
  oss?: OssToolDependencies;
8
- modules?: McpModule[];
9
- }): McpServer;
8
+ } & McpSelectionOptions): McpServer;
package/dist/server.js CHANGED
@@ -2,7 +2,6 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { z } from "zod";
3
3
  import { authenticatedBackendRequest } from "./backend.js";
4
4
  import { CLI_NAME, PACKAGE_VERSION, PRODUCT_NAME } from "./branding.js";
5
- import { COMMAND_CATALOG } from "./command-catalog.js";
6
5
  import { loadConfig } from "./config.js";
7
6
  import { initializeApplicationMembership } from "./authorization/enrollment.js";
8
7
  import { currentIdentity, requireAnyRole, RoleRequiredError } from "./identity.js";
@@ -10,7 +9,7 @@ import { AuthError, completeBrowserLogin, deleteTokenCache, readTokenCache, star
10
9
  import { registerWecomTools } from "./wecom/tools.js";
11
10
  import { registerNotionTools } from "./notion/tools.js";
12
11
  import { registerOssTools } from "./oss/tools.js";
13
- import { MCP_MODULES } from "./mcp/modules.js";
12
+ import { selectMcpTools, searchModules, moduleCommands } from "./mcp/catalog.js";
14
13
  const sessions = new Map();
15
14
  function textResult(text, structuredContent, isError = false) {
16
15
  return {
@@ -28,16 +27,29 @@ function errorResult(error) {
28
27
  return textResult(`Error: ${message}`, { ok: false, code, message }, true);
29
28
  }
30
29
  export function createServer(dependencies = {}) {
30
+ const selection = selectMcpTools(dependencies);
31
31
  const server = new McpServer({
32
- name: `${CLI_NAME}-platform-cli`,
32
+ name: dependencies.serverName ?? `${CLI_NAME}-platform-cli`,
33
33
  version: PACKAGE_VERSION
34
- });
35
- const modules = new Set(dependencies.modules ?? MCP_MODULES);
34
+ }, { instructions: selection.instructions });
35
+ const register = server.registerTool.bind(server);
36
+ server.registerTool = (...args) => {
37
+ const tool = register(...args);
38
+ if (!selection.tools.includes(args[0]))
39
+ tool.remove();
40
+ return tool;
41
+ };
42
+ const modules = new Set(selection.modules);
43
+ server.registerTool("numa_module_catalog", {
44
+ description: "Search Numa modules by task, keyword or Skill name. Discovery does not enable tools. Reports available and currently enabled tools; restart with a new configuration to change selection.",
45
+ inputSchema: { query: z.string().max(256).optional() },
46
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }
47
+ }, async ({ query }) => jsonResult({ modules: searchModules(query).map(m => ({ ...m, enabled: selection.modules.includes(m.id), enabledTools: m.tools.filter(t => selection.tools.includes(t)) })), enabledTools: selection.tools }));
36
48
  if (modules.has("notion"))
37
49
  registerNotionTools(server);
38
50
  server.registerTool("numa_command_catalog", {
39
51
  title: `Get ${PRODUCT_NAME} CLI Command Catalog`,
40
- description: "List CLI commands, authentication requirements, required roles, and examples for AI clients.",
52
+ description: "List CLI counterparts of enabled MCP tools. This is documentation, not a shell executor or a full CLI command catalog.",
41
53
  inputSchema: {},
42
54
  annotations: {
43
55
  readOnlyHint: true,
@@ -45,7 +57,7 @@ export function createServer(dependencies = {}) {
45
57
  idempotentHint: true,
46
58
  openWorldHint: false
47
59
  }
48
- }, async () => jsonResult({ schema_version: 1, commands: COMMAND_CATALOG }));
60
+ }, async () => jsonResult({ schema_version: 1, modules: selection.modules, tools: selection.tools, commands: moduleCommands(selection.modules, selection.tools) }));
49
61
  if (modules.has("auth")) {
50
62
  server.registerTool("numa_auth_status", {
51
63
  title: `Get ${PRODUCT_NAME} Auth Status`,
@@ -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": "@numa-tech/numa",
3
- "version": "1.15.0",
3
+ "version": "1.16.1",
4
4
  "description": "Cross-platform CLI for the Numa internal developer platform with Keycloak authentication and MCP support.",
5
5
  "author": "numa-tech",
6
6
  "keywords": [
@@ -34,7 +34,7 @@
34
34
  "typecheck": "turbo run typecheck root:typecheck",
35
35
  "root:typecheck": "tsc --noEmit",
36
36
  "test": "turbo run test root:test",
37
- "root:test": "node --import tsx --test src/branding.test.ts src/app-config.test.ts src/platform-profile.test.ts src/identity.test.ts src/backend.test.ts src/oauth.test.ts src/web-console.test.ts src/cli-options.test.ts src/mail/client.test.ts src/wecom/client.test.ts src/wecom/commands.test.ts src/wecom/tools.test.ts src/ai-registry/client.test.ts src/ai-registry/bootstrap.test.ts src/ai-registry/install-defaults.test.ts src/ai-registry/workspace.test.ts src/ai-registry/namespace.test.ts src/ai-registry/sync.test.ts src/ai-registry/bridge.test.ts src/ai-registry/skill-installer.test.ts src/ai-registry/skill-uninstaller.test.ts src/ai-registry/skill-dependencies.test.ts src/ai-registry/updates.test.ts src/maintenance/scheduler.test.ts src/maintenance/codex.test.ts src/ai-registry/mcp-installer.test.ts src/media/client.test.ts src/media/commands.test.ts src/media/transfers.test.ts src/oss/client.test.ts src/oss/commands.test.ts src/oss/bootstrap.test.ts src/oss/transfers.test.ts src/oss/search.test.ts src/oss/tools.test.ts src/mcp/install.test.ts src/pipeline/client.test.ts src/pipeline/commands.test.ts src/gitops/client.test.ts src/gitops/commands.test.ts src/repositories/client.test.ts src/repositories/commands.test.ts src/publications/scanner.test.ts src/publications/client.test.ts src/publications/commands.test.ts src/jenkins-jobs/client.test.ts src/jenkins-jobs/commands.test.ts src/clusters/client.test.ts src/clusters/commands.test.ts src/clusters/kubeconfig-discovery.test.ts src/teams/client.test.ts src/teams/commands.test.ts src/authorization/client.test.ts src/authorization/commands.test.ts src/authorization/access-request-client.test.ts src/authorization/access-request-commands.test.ts src/application-candidates/client.test.ts src/application-candidates/commands.test.ts src/application-onboarding/client.test.ts src/application-onboarding/commands.test.ts src/application-onboarding/tui.test.ts src/chatgpt-desktop.test.ts src/codex-integration.test.ts scripts/release-all.test.mjs src/authorization/enrollment.test.ts src/authorization/group-client.test.ts src/authorization/group-commands.test.ts src/notion/client.test.ts src/notion/commands.test.ts src/notion/tools.test.ts src/notion/machine-cli.test.ts src/cloud/accounts.test.ts src/cloud/bootstrap.test.ts src/cloud/business-bootstrap.test.ts src/cloud/maintenance.test.ts src/cloud/wizard.test.ts src/cloud/oss-bootstrap.test.ts",
37
+ "root:test": "node --import tsx --test src/branding.test.ts src/app-config.test.ts src/platform-profile.test.ts src/identity.test.ts src/backend.test.ts src/oauth.test.ts src/web-console.test.ts src/cli-options.test.ts src/mail/client.test.ts src/wecom/client.test.ts src/wecom/commands.test.ts src/wecom/tools.test.ts src/ai-registry/client.test.ts src/ai-registry/bootstrap.test.ts src/ai-registry/install-defaults.test.ts src/ai-registry/workspace.test.ts src/ai-registry/namespace.test.ts src/ai-registry/sync.test.ts src/ai-registry/bridge.test.ts src/ai-registry/skill-installer.test.ts src/ai-registry/skill-uninstaller.test.ts src/ai-registry/skill-dependencies.test.ts src/ai-registry/updates.test.ts src/maintenance/scheduler.test.ts src/maintenance/codex.test.ts src/ai-registry/mcp-installer.test.ts src/media/client.test.ts src/media/commands.test.ts src/media/transfers.test.ts src/oss/client.test.ts src/oss/commands.test.ts src/oss/bootstrap.test.ts src/oss/transfers.test.ts src/oss/search.test.ts src/oss/tools.test.ts src/mcp/install.test.ts src/mcp/catalog.test.ts src/interactive/wizard.test.ts src/pipeline/client.test.ts src/pipeline/commands.test.ts src/gitops/client.test.ts src/gitops/commands.test.ts src/repositories/client.test.ts src/repositories/commands.test.ts src/publications/scanner.test.ts src/publications/client.test.ts src/publications/commands.test.ts src/jenkins-jobs/client.test.ts src/jenkins-jobs/commands.test.ts src/clusters/client.test.ts src/clusters/commands.test.ts src/clusters/kubeconfig-discovery.test.ts src/teams/client.test.ts src/teams/commands.test.ts src/authorization/client.test.ts src/authorization/commands.test.ts src/authorization/access-request-client.test.ts src/authorization/access-request-commands.test.ts src/application-candidates/client.test.ts src/application-candidates/commands.test.ts src/application-onboarding/client.test.ts src/application-onboarding/commands.test.ts src/application-onboarding/tui.test.ts src/chatgpt-desktop.test.ts src/codex-integration.test.ts scripts/release-all.test.mjs src/authorization/enrollment.test.ts src/authorization/group-client.test.ts src/authorization/group-commands.test.ts src/notion/client.test.ts src/notion/commands.test.ts src/notion/tools.test.ts src/notion/machine-cli.test.ts src/cloud/accounts.test.ts src/cloud/bootstrap.test.ts src/cloud/business-bootstrap.test.ts src/cloud/maintenance.test.ts src/cloud/wizard.test.ts src/cloud/oss-bootstrap.test.ts",
38
38
  "pack:check": "turbo run pack:check root:pack:check",
39
39
  "root:pack:check": "node scripts/check-root-package.mjs",
40
40
  "boundaries": "node scripts/check-workspace-boundaries.mjs",
@@ -57,8 +57,8 @@
57
57
  "dependencies": {
58
58
  "@clack/prompts": "^1.7.0",
59
59
  "@modelcontextprotocol/sdk": "^1.29.0",
60
- "@numa-tech/cli-auth": "1.15.0",
61
- "@tokensrc/codex": "1.15.0",
60
+ "@numa-tech/cli-auth": "1.16.1",
61
+ "@tokensrc/codex": "1.16.1",
62
62
  "ali-oss": "^6.23.0",
63
63
  "commander": "^14.0.3",
64
64
  "ink": "^6.8.0",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: numa-cli
3
3
  metadata:
4
- version: "1.2.0"
4
+ version: "1.3.1"
5
5
  description: Numa CLI 与 Skills/MCP 统一入口。用于 numa command not found、npx/Windows 启动、登录及环境检查、发现和安装企业 Skill、依赖与自动更新、项目 registry 锁定同步、上传审核发布,以及 CLI 自身的 stdio MCP、OSS/企微工具和 Agent 安装接入。其他 Numa 业务 Skill 依赖本 Skill;企微、Notion、OSS 和部署任务交给对应专用 Skill,Nacos 基础设施管理交给 numa-nacos。
6
6
  ---
7
7
 
@@ -14,6 +14,7 @@ description: Numa CLI 与 Skills/MCP 统一入口。用于 numa command not foun
14
14
  - 首次执行 CLI:完整读取 [启动与版本契约](references/cli-bootstrap.md)。
15
15
  - 发现和安装 Skill:使用下文核心流程;依赖安装仍需确认。
16
16
  - 项目锁定/同步、上传/审核/发布或 MCP 接入:完整读取 [Skills 与 MCP 工作流](references/skills-workflows.md),执行命令前读取其链接的资源命令契约。
17
+ - 模块检索、交互安装和自定义 MCP 环境变量:完整读取 [CLI MCP 服务与安装](references/cli-mcp.md)。
17
18
  - 将 CLI 的 OSS/企微能力接入 WorkBuddy、Claude、Codex、ChatGPT 等 Agent:完整读取 [CLI MCP 服务与安装](references/cli-mcp.md)。
18
19
  - 自动更新开关、跟踪状态或维护检查:读取 [更新与维护](references/skills-updates.md)。
19
20
 
@@ -120,6 +120,18 @@
120
120
  "prompt": "用机器 Client worker 的 /protected/worker.secret 配置 Claude MCP,不要用我的个人账号。",
121
121
  "expected_output": "明确 client_credentials 与 Secret 文件路径,Issuer/API 由既有 profile 提供;不读取秘密,不回退 browser;安装精确版本并验证真实身份。",
122
122
  "files": []
123
+ },
124
+ {
125
+ "id": 13,
126
+ "prompt": "我想只查询 OSS 文件,安装到 WorkBuddy 用户范围。添加 LOG_LEVEL=debug,不要企微或上传工具。已经授权安装。",
127
+ "expected_output": "核实运行时帮助后通过 modules 和 mcp tools 查能力,选择 oss 及只读查询工具,保留目标与身份。传 --env LOG_LEVEL=debug,先 plan --json 后完整参数安装,不启无人操作的 TUI,不重复确认,不执行 OSS 写入。",
128
+ "files": []
129
+ },
130
+ {
131
+ "id": 14,
132
+ "prompt": "给同事一个交互安装 numa-wecom Skill 的办法;我用 CI 安装时不希望出现提示。",
133
+ "expected_output": "核实版本支持后,人类终端用 skills install --interactive 选择授权空间、online 版本、Agent、范围并确认依赖;CI 使用完整参数 --plan --json,再按授权加 --with-dependencies 执行。解释非 TTY/JSON 不询问,缺少必要参数报错。",
134
+ "files": []
123
135
  }
124
136
  ]
125
137
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "name": "numa-cli",
4
- "version": "1.2.0",
4
+ "version": "1.3.1",
5
5
  "dependencies": []
6
6
  }
@@ -9,7 +9,7 @@
9
9
  - `numa mcp install-cli`:安装上述 CLI 自身的服务,不需要查询 Nacos namespace。
10
10
  - `numa mcp install NAME` / `bridge`:安装或桥接企业 Registry 的 MCP 资源,继续遵循 [资源工作流](skills-workflows.md) 与 Router 授权。
11
11
 
12
- 安装默认模块为 `auth,oss,wecom`。可用 `--modules auth,oss,wecom,notion` 调整;`platform` 暴露通用平台请求工具,只有明确需要时才加入。`numa_command_catalog` 始终可见。直接 `serve` 不传模块时保留全部模块,以兼容已有配置。
12
+ 安装默认模块为 `auth,oss,wecom`。可用 `--modules auth,oss,wecom,notion` 调整;`platform` 暴露通用平台请求工具,只有明确需要时才加入。默认附带 `numa_command_catalog` 和 `numa_module_catalog`;工具过滤可以继续缩小公共工具集合。直接 `serve` 不传模块时保留全部模块,以兼容已有配置。
13
13
 
14
14
  ## 主动安装到 Agent
15
15
 
@@ -41,14 +41,14 @@ JSON 配置合并保留无关条目。同名替换只有已获覆盖授权时使
41
41
 
42
42
  默认 `--auth-mode browser`,先用相同系统用户运行 `numa login`,MCP 复用该用户的登录缓存。显式 browser 会清除 MCP 子进程继承的机器 Client ID/Secret 设置;不会替用户切换平台 profile。Issuer/API 由 platform profile 与既有配置规则提供,不在安装器里写死本地或生产地址。
43
43
 
44
- 机器身份使用用户明确指定的 Client 与 Secret 文件,不能仅凭三条地址/模式变量取得凭据:
44
+ 机器身份使用用户明确指定的 Client 与 Secret 或 Secret 文件,不能仅凭三条地址/模式变量取得凭据:
45
45
 
46
46
  ```sh
47
47
  numa mcp install-cli --agent workbuddy --auth-mode client_credentials \
48
48
  --client-id CONFIRMED_CLIENT --client-secret-file /ABS/PROTECTED_SECRET_FILE --plan --json
49
49
  ```
50
50
 
51
- 核对计划后执行时去掉 `--plan`。配置只记录文件路径,不读取或复制其内容;运行时由现有认证库校验文件保护。不要传字面 Secret,不使用公开 `mcp-client` 作为机器身份。机器模式失败不回退到个人登录。安装成功仅证明配置写入;使用 `numa_auth_status`、业务只读查询进一步核对实际身份和授权。
51
+ 核对计划后执行时去掉 `--plan`。配置只记录文件路径,不读取或复制其内容;运行时由现有认证库校验文件保护。从 CLI 1.16.1 起,也可使用 `--client-secret "$NUMA_KEYCLOAK_CLIENT_SECRET"` 直接传值,与 `--client-secret-file` 互斥。直接模式将实际值保存到客户端环境配置,并清空继承的 Secret 文件路径;预览脱敏,交互向导隐藏输入。不使用公开 `mcp-client` 作为机器身份。机器模式失败不回退到个人登录。安装成功仅证明配置写入;使用 `numa_auth_status`、业务只读查询进一步核对实际身份和授权。
52
52
 
53
53
  ## ChatGPT 本地 stdio 接入
54
54
 
@@ -72,3 +72,50 @@ ID 必须是真实的 `tunnel_` 加 32 位小写十六进制字符。自动初
72
72
  OSS 暴露 grants/list/search/stat/download/upload/delete,详见 `numa-oss-access`。企微暴露 capabilities/recipients/recipient_by_email/send/status 和受控映射工具,详见 `numa-wecom`。均沿用 CLI 的当前身份、平台授权和审计,不提供任意 shell 执行工具。
73
73
 
74
74
  从 Agent 刷新或重启 MCP 后读取 tools/list,核对所选模块;再执行用户任务需要的只读查询。不要为了验证安装发送消息、上传或删除文件。下载会写 MCP 服务所在机器,上传读取该机器路径;尤其 ChatGPT Tunnel 下不能假定聊天附件已存在本地。写入工具的 `confirmed:true` 只在用户已明确授权目标与内容时传入。最终分别报告配置写入、服务连接、工具发现及真实业务结果。
75
+
76
+
77
+ ## 模块检索与交互安装(下一版本能力)
78
+
79
+ 先核对实际运行时的 `modules --help`、`mcp install-cli --help` 和 `skills install --help`。
80
+ 这些新增功能准备随下一版发布,不能仅凭本 Skill 假定 npm latest 已支持。
81
+
82
+ 人类用户在 TTY 无参运行 `numa` 进入选择入口;`numa mcp`、`numa skills` 进入对应安装向导。
83
+ `mcp install-cli`、`mcp install`、`skills install` 缺少目标时引导补齐。显式 `--interactive` 强制向导,
84
+ 保留已有参数。`--no-interactive`、JSON 和非终端不询问;参数完整的调用直接使用默认值执行。
85
+
86
+ Agent 不启动无人操作的 TUI。先用 `numa modules --search QUERY --json` 找到适合用途的模块,
87
+ 再用 `numa mcp tools --modules MODULES --json` 核实真实工具、描述和 schema。
88
+ 只在目标、范围、版本或身份缺失时通过宿主提问能力收集信息;用户已指定或已授权的内容不重复确认。
89
+ 生成 `--plan --json` 的具体结果,然后按已批准范围使用完整参数执行。
90
+
91
+ - `--modules auth,oss,wecom,notion,platform` 选择业务模块;模块结果包含相关 Skills 名称。
92
+ - `--tools NAME,NAME` 仅暴露所选工具,`--exclude-tools NAME,NAME` 排除工具;未知或不属于模块的名称报错。
93
+ - `--server-name NAME` 设置协议名称,`--server-description TEXT` 设置用途;真实模块和工具范围自动追加。
94
+ - `numa_module_catalog` 仅用于发现,不会扩大工具权限。`numa_command_catalog` 只返回实际启用工具的 CLI 对应项。
95
+ - 人类向导可选择只读集合;该集合依据工具只读标注生成,不代替服务端授权。
96
+
97
+ ```sh
98
+ numa modules --search 文件 --json
99
+ numa mcp install-cli --agent workbuddy --scope user --modules oss \
100
+ --tools numa_oss_search,numa_oss_stat --server-description '授权文件查询' \
101
+ --env LOG_LEVEL=info --plan --json
102
+ ```
103
+
104
+ ## 追加环境变量
105
+
106
+ `mcp install-cli --env NAME=VALUE` 可重复,写入 MCP 子进程环境并保留生成器原有变量;值支持等号和空字符串。
107
+ 重复变量名会拒绝。敏感字段在输出计划中隐藏,向导用隐藏输入;实际值写入私有客户端配置或 Tunnel launcher。
108
+ 不要把秘密写进聊天、命令示例或共享日志。CLI 身份字段使用专门的 `--auth-mode`、`--client-id`、
109
+ `--client-secret` 或 `--client-secret-file`,禁止通过 `--env` 覆盖身份模式、Client ID、Secret 或 Secret 文件路径。
110
+ 普通业务配置可通过环境变量追加;不修改 `.zshenv`,不自行换平台地址。
111
+
112
+ 企业 `mcp install NAME --transport bridge --env NAME=VALUE` 也支持本地启动环境。
113
+ 远程 HTTP/ChatGPT endpoint 没有可配置的本地环境,不能使用 `--env`。
114
+ Registry 不把这些值存入 manifest/lock;在新机器恢复时重新提供自定义环境变量。
115
+
116
+ ## 交互安装 Skills
117
+
118
+ `numa skills install --interactive` 依次选择可安装的 namespace/instance、资源、已发布版本、Agent 和 scope。
119
+ 输入关键词检索当前页,使用下一页或精确名称继续定位。只安装 online 版本;草稿和待审版本不进入版本选项。
120
+ 写入前展示依赖、摘要、来源和目标路径,确认包含必要依赖。选择精确版本意味着固定版本;自动更新设置另按更新指引管理。
121
+ Agent 继续使用资源工作流的 inspect 与 plan,并在已批准依赖时传 `--with-dependencies`;完整参数调用不会等待终端确认。