@zivis/mcp 0.1.0-alpha.2 → 0.1.0-alpha.20

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 (126) hide show
  1. package/dist/api-client.d.ts +11 -11
  2. package/dist/api-client.js +41 -36
  3. package/dist/api-client.js.map +1 -1
  4. package/dist/auth/index.d.ts +9 -5
  5. package/dist/auth/index.js +33 -17
  6. package/dist/auth/index.js.map +1 -1
  7. package/dist/auth/keychain.d.ts +6 -5
  8. package/dist/auth/keychain.js +82 -69
  9. package/dist/auth/keychain.js.map +1 -1
  10. package/dist/auth/oauth.d.ts +18 -0
  11. package/dist/auth/oauth.js +55 -6
  12. package/dist/auth/oauth.js.map +1 -1
  13. package/dist/auth/sessions.d.ts +5 -4
  14. package/dist/auth/sessions.js +20 -14
  15. package/dist/auth/sessions.js.map +1 -1
  16. package/dist/auth/token-refresh.d.ts +2 -2
  17. package/dist/auth/token-refresh.js +42 -9
  18. package/dist/auth/token-refresh.js.map +1 -1
  19. package/dist/cli.d.ts +7 -15
  20. package/dist/cli.js +36 -904
  21. package/dist/cli.js.map +1 -1
  22. package/dist/lib/next-steps.d.ts +57 -0
  23. package/dist/lib/next-steps.js +45 -0
  24. package/dist/lib/next-steps.js.map +1 -0
  25. package/dist/project-binding.d.ts +19 -2
  26. package/dist/project-binding.js +57 -3
  27. package/dist/project-binding.js.map +1 -1
  28. package/dist/prompts/audit-dependencies.d.ts +10 -0
  29. package/dist/prompts/audit-dependencies.js +56 -0
  30. package/dist/prompts/audit-dependencies.js.map +1 -0
  31. package/dist/prompts/getting-started.d.ts +12 -0
  32. package/dist/prompts/getting-started.js +48 -0
  33. package/dist/prompts/getting-started.js.map +1 -0
  34. package/dist/prompts/index.d.ts +14 -0
  35. package/dist/prompts/index.js +25 -0
  36. package/dist/prompts/index.js.map +1 -0
  37. package/dist/prompts/prep-for-launch.d.ts +9 -0
  38. package/dist/prompts/prep-for-launch.js +62 -0
  39. package/dist/prompts/prep-for-launch.js.map +1 -0
  40. package/dist/prompts/secure-my-app.d.ts +9 -0
  41. package/dist/prompts/secure-my-app.js +70 -0
  42. package/dist/prompts/secure-my-app.js.map +1 -0
  43. package/dist/prompts/weekly-check.d.ts +9 -0
  44. package/dist/prompts/weekly-check.js +48 -0
  45. package/dist/prompts/weekly-check.js.map +1 -0
  46. package/dist/server.d.ts +1 -1
  47. package/dist/server.js +114 -43
  48. package/dist/server.js.map +1 -1
  49. package/dist/tools/check-project.d.ts +7 -7
  50. package/dist/tools/check-project.js +127 -95
  51. package/dist/tools/check-project.js.map +1 -1
  52. package/dist/tools/check-repo-trust.d.ts +4 -10
  53. package/dist/tools/check-repo-trust.js +56 -27
  54. package/dist/tools/check-repo-trust.js.map +1 -1
  55. package/dist/tools/enterprise/get-campaign.d.ts +27 -0
  56. package/dist/tools/enterprise/get-campaign.js +31 -0
  57. package/dist/tools/enterprise/get-campaign.js.map +1 -0
  58. package/dist/tools/enterprise/list-agents.d.ts +1 -1
  59. package/dist/tools/enterprise/list-attack-scenarios.d.ts +29 -0
  60. package/dist/tools/enterprise/list-attack-scenarios.js +69 -0
  61. package/dist/tools/enterprise/list-attack-scenarios.js.map +1 -0
  62. package/dist/tools/enterprise/list-attack-step-library-tests.d.ts +29 -0
  63. package/dist/tools/enterprise/list-attack-step-library-tests.js +61 -0
  64. package/dist/tools/enterprise/list-attack-step-library-tests.js.map +1 -0
  65. package/dist/tools/enterprise/list-campaigns.d.ts +37 -0
  66. package/dist/tools/enterprise/list-campaigns.js +60 -0
  67. package/dist/tools/enterprise/list-campaigns.js.map +1 -0
  68. package/dist/tools/enterprise/list-threat-model-review-items.d.ts +35 -0
  69. package/dist/tools/enterprise/list-threat-model-review-items.js +60 -0
  70. package/dist/tools/enterprise/list-threat-model-review-items.js.map +1 -0
  71. package/dist/tools/enterprise/list-threat-model-versions.d.ts +29 -0
  72. package/dist/tools/enterprise/list-threat-model-versions.js +60 -0
  73. package/dist/tools/enterprise/list-threat-model-versions.js.map +1 -0
  74. package/dist/tools/enterprise/manage-campaign-agent-instance.d.ts +42 -0
  75. package/dist/tools/enterprise/manage-campaign-agent-instance.js +68 -0
  76. package/dist/tools/enterprise/manage-campaign-agent-instance.js.map +1 -0
  77. package/dist/tools/enterprise/manage-campaign-target.d.ts +44 -0
  78. package/dist/tools/enterprise/manage-campaign-target.js +70 -0
  79. package/dist/tools/enterprise/manage-campaign-target.js.map +1 -0
  80. package/dist/tools/enterprise/manage-campaign.d.ts +62 -0
  81. package/dist/tools/enterprise/manage-campaign.js +114 -0
  82. package/dist/tools/enterprise/manage-campaign.js.map +1 -0
  83. package/dist/tools/enterprise/manage-finding.d.ts +1 -1
  84. package/dist/tools/enterprise/manage-threat-model-analysis.d.ts +52 -0
  85. package/dist/tools/enterprise/manage-threat-model-analysis.js +92 -0
  86. package/dist/tools/enterprise/manage-threat-model-analysis.js.map +1 -0
  87. package/dist/tools/enterprise/manage-threat-model-review.d.ts +47 -0
  88. package/dist/tools/enterprise/manage-threat-model-review.js +82 -0
  89. package/dist/tools/enterprise/manage-threat-model-review.js.map +1 -0
  90. package/dist/tools/get-application-auth-config.d.ts +27 -0
  91. package/dist/tools/get-application-auth-config.js +44 -0
  92. package/dist/tools/get-application-auth-config.js.map +1 -0
  93. package/dist/tools/get-finding-details.d.ts +4 -10
  94. package/dist/tools/get-finding-details.js +28 -10
  95. package/dist/tools/get-finding-details.js.map +1 -1
  96. package/dist/tools/get-findings.d.ts +4 -10
  97. package/dist/tools/get-findings.js +44 -23
  98. package/dist/tools/get-findings.js.map +1 -1
  99. package/dist/tools/get-started.d.ts +28 -0
  100. package/dist/tools/get-started.js +364 -0
  101. package/dist/tools/get-started.js.map +1 -0
  102. package/dist/tools/list-applications.d.ts +1 -1
  103. package/dist/tools/list-scans.d.ts +4 -10
  104. package/dist/tools/list-scans.js +55 -21
  105. package/dist/tools/list-scans.js.map +1 -1
  106. package/dist/tools/list-test-scenarios.d.ts +4 -10
  107. package/dist/tools/list-test-scenarios.js +41 -13
  108. package/dist/tools/list-test-scenarios.js.map +1 -1
  109. package/dist/tools/local-scan.d.ts +1 -1
  110. package/dist/tools/manage-application.d.ts +72 -0
  111. package/dist/tools/manage-application.js +138 -0
  112. package/dist/tools/manage-application.js.map +1 -0
  113. package/dist/tools/manage-endpoint-lifecycle.d.ts +90 -0
  114. package/dist/tools/manage-endpoint-lifecycle.js +191 -0
  115. package/dist/tools/manage-endpoint-lifecycle.js.map +1 -0
  116. package/dist/tools/open-in-ide.d.ts +1 -1
  117. package/dist/tools/setup-red-team-target.d.ts +6 -12
  118. package/dist/tools/setup-red-team-target.js +51 -20
  119. package/dist/tools/setup-red-team-target.js.map +1 -1
  120. package/dist/tools/triage-finding.d.ts +4 -10
  121. package/dist/tools/triage-finding.js +30 -21
  122. package/dist/tools/triage-finding.js.map +1 -1
  123. package/dist/types.d.ts +42 -2
  124. package/dist/types.js +29 -23
  125. package/dist/types.js.map +1 -1
  126. package/package.json +1 -1
@@ -0,0 +1,70 @@
1
+ /**
2
+ * secure-my-app prompt
3
+ *
4
+ * For developers who know they have an app and want to test it.
5
+ * Skips the intro tour and goes straight to red team setup.
6
+ * In Cursor: /zivis-secure-my-app
7
+ */
8
+ import { z } from "zod";
9
+ export function registerSecureMyAppPrompt(server) {
10
+ server.registerPrompt("secure-my-app", {
11
+ description: "Set up security testing for an app I'm building. Walks through registering the target and picking a test to run.",
12
+ argsSchema: {
13
+ app_kind: z
14
+ .enum(["chatbot", "web_app", "api", "unknown"])
15
+ .optional()
16
+ .describe("What kind of app are you testing? chatbot = LLM/AI assistant, web_app = browser app, api = REST/GraphQL API, unknown = I'll describe it."),
17
+ target_url: z
18
+ .string()
19
+ .optional()
20
+ .describe("URL of the running app (e.g. https://chat.example.com/api/chat). Provide this if you have it."),
21
+ },
22
+ }, async (args) => {
23
+ const kindHint = args.app_kind && args.app_kind !== "unknown"
24
+ ? `The user says their app is a ${args.app_kind}.`
25
+ : "The user hasn't specified what kind of app they have yet — ask them.";
26
+ const urlHint = args.target_url
27
+ ? `The user provided this URL: ${args.target_url}`
28
+ : "No URL was provided yet — you'll need to ask.";
29
+ return {
30
+ messages: [
31
+ {
32
+ role: "user",
33
+ content: {
34
+ type: "text",
35
+ text: `I want to set up security testing for an app I'm building.
36
+
37
+ Context:
38
+ - ${kindHint}
39
+ - ${urlHint}
40
+
41
+ Please follow these steps:
42
+
43
+ 1. If you don't already know what kind of app it is, ask: "Is this a chatbot/AI assistant, a website, or a REST/GraphQL API?"
44
+
45
+ 2. If you don't have a URL yet, ask: "What's the URL of your running app? (e.g. https://myapp.com)"
46
+
47
+ 3. Once you have the app kind and URL, call \`zivis_setup_red_team_target\` with:
48
+ - target_url = the URL they gave you
49
+ - target_type = "ai_chat" for chatbots, "web_app" for websites, "api" for APIs
50
+ - auto_scan = false (ask before running a scan)
51
+
52
+ 4. After the target is set up, call \`zivis_list_test_scenarios\` and show the user the top 3 relevant scenarios as a numbered list. Use plain names — not IDs.
53
+
54
+ 5. Ask: "Which of these do you want to run? I'll start with a quick scan (5-10 minutes) unless you want a thorough one."
55
+
56
+ 6. When the user picks one, call \`zivis_run_test_scenario\` with:
57
+ - scenario_id = the ID of their chosen scenario
58
+ - intensity = 1 (quick) unless they explicitly ask for thorough (3)
59
+
60
+ Ground rules:
61
+ - Speak in plain English. No security jargon unless the user uses it first.
62
+ - Never run a paid scan without confirming with the user first.
63
+ - Never assume you know the URL — always confirm.`,
64
+ },
65
+ },
66
+ ],
67
+ };
68
+ });
69
+ }
70
+ //# sourceMappingURL=secure-my-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-my-app.js","sourceRoot":"","sources":["../../src/prompts/secure-my-app.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,cAAc,CACnB,eAAe,EACf;QACE,WAAW,EACT,kHAAkH;QACpH,UAAU,EAAE;YACV,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;iBAC9C,QAAQ,EAAE;iBACV,QAAQ,CACP,0IAA0I,CAC3I;YACH,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;SACJ;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3D,CAAC,CAAC,gCAAgC,IAAI,CAAC,QAAQ,GAAG;YAClD,CAAC,CAAC,sEAAsE,CAAC;QAE3E,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU;YAC7B,CAAC,CAAC,+BAA+B,IAAI,CAAC,UAAU,EAAE;YAClD,CAAC,CAAC,+CAA+C,CAAC;QAEpD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;;;IAGhB,QAAQ;IACR,OAAO;;;;;;;;;;;;;;;;;;;;;;;;kDAwBuC;qBACrC;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * weekly-check prompt
3
+ *
4
+ * Re-runs the security pulse for this project. Designed to be triggered
5
+ * every Monday (or whenever the user wants a status update).
6
+ * In Cursor: /zivis-weekly-check
7
+ */
8
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
9
+ export declare function registerWeeklyCheckPrompt(server: McpServer): void;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * weekly-check prompt
3
+ *
4
+ * Re-runs the security pulse for this project. Designed to be triggered
5
+ * every Monday (or whenever the user wants a status update).
6
+ * In Cursor: /zivis-weekly-check
7
+ */
8
+ export function registerWeeklyCheckPrompt(server) {
9
+ server.registerPrompt("weekly-check", {
10
+ description: "Get a quick security status update for this week. Shows new findings, scan activity, and what to focus on.",
11
+ argsSchema: {},
12
+ }, async () => ({
13
+ messages: [
14
+ {
15
+ role: "user",
16
+ content: {
17
+ type: "text",
18
+ text: `Give me a quick security status update for this project — what's changed or needs attention this week.
19
+
20
+ Please do the following:
21
+
22
+ **1. Open findings pulse**
23
+ Call \`zivis_get_findings\` with status="open".
24
+ - How many open issues are there total?
25
+ - List any critical or high findings by title (one line each).
26
+ - How does this compare to last week? (If you don't know, just show the current state.)
27
+
28
+ **2. Recent scan activity**
29
+ Call \`zivis_list_scans\` with limit=5.
30
+ - What scans ran this week?
31
+ - Did any complete with new findings?
32
+ - Are any still running?
33
+
34
+ **3. Top priority action**
35
+ Based on the above, what is the single most important security action to take this week?
36
+ - If there are critical findings: "Fix [finding title] — it's a critical issue."
37
+ - If a scan is overdue: "Run a scan — the last one was X days ago."
38
+ - If everything looks good: "Keep the streak going — schedule a scan for next week."
39
+
40
+ Format the response as a brief weekly digest, not a full security report. Bullet points are better than paragraphs. Keep it under 300 words.
41
+
42
+ If I want to dig into a specific issue, I'll ask — don't pre-load all the details.`,
43
+ },
44
+ },
45
+ ],
46
+ }));
47
+ }
48
+ //# sourceMappingURL=weekly-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weekly-check.js","sourceRoot":"","sources":["../../src/prompts/weekly-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,cAAc,CACnB,cAAc,EACd;QACE,WAAW,EACT,4GAA4G;QAC9G,UAAU,EAAE,EAAE;KACf,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;mFAwBiE;iBACxE;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
package/dist/server.d.ts CHANGED
@@ -11,4 +11,4 @@ import type { ZivisConfig } from "./types.js";
11
11
  /**
12
12
  * Create and start the MCP server with all tools registered
13
13
  */
14
- export declare function startServer(config?: ZivisConfig): Promise<void>;
14
+ export declare function startServer(incoming?: ZivisConfig): Promise<void>;
package/dist/server.js CHANGED
@@ -11,50 +11,62 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
11
11
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
12
12
  import { ApiClient } from "./api-client.js";
13
13
  import { resolveAuth } from "./auth/index.js";
14
- import { decodeJwtPayload } from "./auth/jwt.js";
15
- import { loadTokens } from "./auth/token-refresh.js";
16
- import { detectProjectBinding, validateProjectBinding } from "./project-binding.js";
14
+ import { detectProjectBinding, resolveConfigFromBinding, resolveMcpSessionForWorkspace, validateProjectBinding, } from "./project-binding.js";
17
15
  import { DEFAULT_CONFIG } from "./types.js";
18
16
  /**
19
- * Validate that the stored JWT's org matches the project binding's expected org.
20
- * This prevents cross-org data leaks when a user is a member of multiple orgs.
17
+ * Verify the minted API key resolves to the same WorkOS org as `.zivis/project.json`.
21
18
  *
22
- * The JWT org_id is the WorkOS org ID. The project binding stores both the
23
- * Zivis org UUID (orgId) and the WorkOS org ID (workosOrgId).
19
+ * MCP does not send OAuth access tokens — only API keys minted via `zivis auth bind`.
20
+ * We probe GET /api/mcp/session with X-API-Key and compare resolved org.workosOrgId.
24
21
  */
25
- async function validateJwtOrgBinding(binding, config) {
22
+ async function validateApiKeyMatchesBinding(binding, config) {
26
23
  if (!binding.workosOrgId) {
27
- // No WorkOS org ID in binding — can't validate. Log warning but don't block.
28
- console.error("[zivis] WARNING: Project binding has no workosOrgId — cannot verify JWT org scope.");
24
+ console.error("[zivis] WARNING: Project binding has no workosOrgId — cannot verify API key org scope.");
29
25
  console.error("[zivis] Run: zivis auth init --session <session> --org-id <zivis-uuid> --workos-org-id <workos-org-id>");
30
26
  return;
31
27
  }
32
- const tokens = await loadTokens(config.session);
33
- if (!tokens)
34
- return; // No tokens stored yet — will fail at session check
35
- const payload = decodeJwtPayload(tokens.access_token);
36
- if (!payload) {
37
- console.error("[zivis] WARNING: Could not decode JWT — cannot verify org scope");
28
+ const creds = await resolveAuth(config, "apikey");
29
+ if (creds.method !== "apikey" || !creds.apiKey) {
30
+ console.error("[zivis] INTERNAL: org verification skipped — no API key (session gate should have prevented this)");
38
31
  return;
39
32
  }
40
- const jwtOrgId = payload.org_id;
41
- if (!jwtOrgId) {
42
- console.error("[zivis] WARNING: JWT has no org_id claim — cannot verify org scope");
33
+ let response;
34
+ try {
35
+ response = await fetch(`${config.apiBaseUrl}/api/mcp/session`, {
36
+ headers: {
37
+ "X-API-Key": creds.apiKey,
38
+ "User-Agent": "@zivis/mcp",
39
+ },
40
+ });
41
+ }
42
+ catch (err) {
43
+ console.error(`[zivis] WARNING: Could not reach API to verify org (${err instanceof Error ? err.message : err})`);
44
+ return;
45
+ }
46
+ if (!response.ok) {
47
+ const body = await response.text().catch(() => "");
48
+ console.error(`[zivis] WARNING: API key org probe failed (${response.status}): ${body.slice(0, 200)}`);
43
49
  return;
44
50
  }
45
- if (jwtOrgId !== binding.workosOrgId) {
51
+ const payload = (await response.json());
52
+ const resolved = payload.org?.workosOrgId;
53
+ if (resolved !== binding.workosOrgId) {
46
54
  const orgLabel = binding.orgName ? ` (${binding.orgName})` : "";
47
- console.error("[zivis] SECURITY ERROR: JWT org does not match project binding!");
48
- console.error(`[zivis] JWT org_id: ${jwtOrgId}`);
49
- console.error(`[zivis] Expected org_id: ${binding.workosOrgId}${orgLabel}`);
55
+ console.error("[zivis] SECURITY ERROR: API key org does not match project binding!");
56
+ console.error(`[zivis] API resolved WorkOS org: ${resolved ?? "missing"}`);
57
+ console.error(`[zivis] Binding expects org: ${binding.workosOrgId}${orgLabel}`);
50
58
  console.error("");
51
59
  console.error("[zivis] This prevents cross-org data leaks.");
52
- console.error(`[zivis] Fix: Re-login for this project's org:`);
53
- console.error(`[zivis] zivis auth login --session ${config.session || "default"}`);
60
+ console.error(`[zivis] Mint a binding token for this repo's org:`);
61
+ console.error(`[zivis] zivis auth bind`);
54
62
  process.exit(1);
55
63
  }
56
- console.error(`[zivis] JWT org verified: ${jwtOrgId}${binding.orgName ? ` (${binding.orgName})` : ""}`);
64
+ console.error(`[zivis] API key org verified: ${resolved}${binding.orgName ? ` (${binding.orgName})` : ""}`);
57
65
  }
66
+ // Prompts — guided slash commands
67
+ import { registerAllPrompts } from "./prompts/index.js";
68
+ // Tools — Onboarding (registered first so it appears first in tools/list)
69
+ import { GET_STARTED_NAME, GET_STARTED_DESCRIPTION, GET_STARTED_SCHEMA, createGetStartedHandler, } from "./tools/get-started.js";
58
70
  // Tools — Findings
59
71
  import { GET_FINDINGS_NAME, GET_FINDINGS_DESCRIPTION, GET_FINDINGS_SCHEMA, createGetFindingsHandler, } from "./tools/get-findings.js";
60
72
  import { GET_FINDING_DETAILS_NAME, GET_FINDING_DETAILS_DESCRIPTION, GET_FINDING_DETAILS_SCHEMA, createGetFindingDetailsHandler, } from "./tools/get-finding-details.js";
@@ -82,10 +94,13 @@ import { SETUP_RED_TEAM_TARGET_NAME, SETUP_RED_TEAM_TARGET_DESCRIPTION, SETUP_RE
82
94
  // Tools — Application & Endpoint Management
83
95
  import { LIST_APPLICATIONS_NAME, LIST_APPLICATIONS_DESCRIPTION, LIST_APPLICATIONS_SCHEMA, createListApplicationsHandler, } from "./tools/list-applications.js";
84
96
  import { GET_APPLICATION_NAME, GET_APPLICATION_DESCRIPTION, GET_APPLICATION_SCHEMA, createGetApplicationHandler, } from "./tools/get-application.js";
97
+ import { GET_APPLICATION_AUTH_CONFIG_NAME, GET_APPLICATION_AUTH_CONFIG_DESCRIPTION, GET_APPLICATION_AUTH_CONFIG_SCHEMA, createGetApplicationAuthConfigHandler, } from "./tools/get-application-auth-config.js";
85
98
  import { GET_APPLICATION_OVERVIEW_NAME, GET_APPLICATION_OVERVIEW_DESCRIPTION, GET_APPLICATION_OVERVIEW_SCHEMA, createGetApplicationOverviewHandler, } from "./tools/get-application-overview.js";
86
99
  import { LIST_ENDPOINTS_NAME, LIST_ENDPOINTS_DESCRIPTION, LIST_ENDPOINTS_SCHEMA, createListEndpointsHandler, } from "./tools/list-endpoints.js";
87
100
  import { IMPORT_OPENAPI_ENDPOINTS_NAME, IMPORT_OPENAPI_ENDPOINTS_DESCRIPTION, IMPORT_OPENAPI_ENDPOINTS_SCHEMA, createImportOpenApiEndpointsHandler, } from "./tools/import-openapi-endpoints.js";
88
101
  import { UPDATE_ENDPOINT_NAME, UPDATE_ENDPOINT_DESCRIPTION, UPDATE_ENDPOINT_SCHEMA, createUpdateEndpointHandler, } from "./tools/update-endpoint.js";
102
+ import { MANAGE_APPLICATION_NAME, MANAGE_APPLICATION_DESCRIPTION, MANAGE_APPLICATION_SCHEMA, createManageApplicationHandler, } from "./tools/manage-application.js";
103
+ import { MANAGE_ENDPOINT_LIFECYCLE_NAME, MANAGE_ENDPOINT_LIFECYCLE_DESCRIPTION, MANAGE_ENDPOINT_LIFECYCLE_SCHEMA, createManageEndpointLifecycleHandler, } from "./tools/manage-endpoint-lifecycle.js";
89
104
  // Tools — Local Scan
90
105
  import { LOCAL_SCAN_NAME, LOCAL_SCAN_DESCRIPTION, LOCAL_SCAN_SCHEMA, createLocalScanHandler, } from "./tools/local-scan.js";
91
106
  // Tools — Local Infrastructure Discovery
@@ -116,14 +131,25 @@ import { RUN_TEST_SCENARIO_NAME, RUN_TEST_SCENARIO_DESCRIPTION, RUN_TEST_SCENARI
116
131
  // ── Enterprise Tools — Threat Model Management ──
117
132
  import { GET_THREAT_MODEL_NAME, GET_THREAT_MODEL_DESCRIPTION, GET_THREAT_MODEL_SCHEMA, createGetThreatModelHandler } from "./tools/enterprise/get-threat-model.js";
118
133
  import { LIST_THREAT_MODELS_NAME, LIST_THREAT_MODELS_DESCRIPTION, LIST_THREAT_MODELS_SCHEMA, createListThreatModelsHandler } from "./tools/enterprise/list-threat-models.js";
134
+ import { LIST_THREAT_MODEL_VERSIONS_NAME, LIST_THREAT_MODEL_VERSIONS_DESCRIPTION, LIST_THREAT_MODEL_VERSIONS_SCHEMA, createListThreatModelVersionsHandler } from "./tools/enterprise/list-threat-model-versions.js";
135
+ import { LIST_ATTACK_SCENARIOS_NAME, LIST_ATTACK_SCENARIOS_DESCRIPTION, LIST_ATTACK_SCENARIOS_SCHEMA, createListAttackScenariosHandler } from "./tools/enterprise/list-attack-scenarios.js";
136
+ import { LIST_ATTACK_STEP_LIBRARY_TESTS_NAME, LIST_ATTACK_STEP_LIBRARY_TESTS_DESCRIPTION, LIST_ATTACK_STEP_LIBRARY_TESTS_SCHEMA, createListAttackStepLibraryTestsHandler } from "./tools/enterprise/list-attack-step-library-tests.js";
137
+ import { LIST_THREAT_MODEL_REVIEW_ITEMS_NAME, LIST_THREAT_MODEL_REVIEW_ITEMS_DESCRIPTION, LIST_THREAT_MODEL_REVIEW_ITEMS_SCHEMA, createListThreatModelReviewItemsHandler } from "./tools/enterprise/list-threat-model-review-items.js";
119
138
  import { MANAGE_ACTOR_NAME, MANAGE_ACTOR_DESCRIPTION, MANAGE_ACTOR_SCHEMA, createManageActorHandler } from "./tools/enterprise/manage-actor.js";
120
139
  import { MANAGE_COMPONENT_NAME, MANAGE_COMPONENT_DESCRIPTION, MANAGE_COMPONENT_SCHEMA, createManageComponentHandler } from "./tools/enterprise/manage-component.js";
121
140
  import { MANAGE_DATA_FLOW_NAME, MANAGE_DATA_FLOW_DESCRIPTION, MANAGE_DATA_FLOW_SCHEMA, createManageDataFlowHandler } from "./tools/enterprise/manage-data-flow.js";
122
141
  import { MANAGE_ATTACK_SCENARIO_NAME, MANAGE_ATTACK_SCENARIO_DESCRIPTION, MANAGE_ATTACK_SCENARIO_SCHEMA, createManageAttackScenarioHandler } from "./tools/enterprise/manage-attack-scenario.js";
142
+ import { MANAGE_THREAT_MODEL_ANALYSIS_NAME, MANAGE_THREAT_MODEL_ANALYSIS_DESCRIPTION, MANAGE_THREAT_MODEL_ANALYSIS_SCHEMA, createManageThreatModelAnalysisHandler } from "./tools/enterprise/manage-threat-model-analysis.js";
143
+ import { MANAGE_THREAT_MODEL_REVIEW_NAME, MANAGE_THREAT_MODEL_REVIEW_DESCRIPTION, MANAGE_THREAT_MODEL_REVIEW_SCHEMA, createManageThreatModelReviewHandler } from "./tools/enterprise/manage-threat-model-review.js";
123
144
  import { MANAGE_SECURITY_CONTROL_NAME, MANAGE_SECURITY_CONTROL_DESCRIPTION, MANAGE_SECURITY_CONTROL_SCHEMA, createManageSecurityControlHandler } from "./tools/enterprise/manage-security-control.js";
124
145
  import { MANAGE_DATA_ASSET_NAME, MANAGE_DATA_ASSET_DESCRIPTION, MANAGE_DATA_ASSET_SCHEMA, createManageDataAssetHandler } from "./tools/enterprise/manage-data-asset.js";
125
146
  import { MANAGE_TEST_CASE_NAME, MANAGE_TEST_CASE_DESCRIPTION, MANAGE_TEST_CASE_SCHEMA, createManageTestCaseHandler } from "./tools/enterprise/manage-test-case.js";
126
147
  import { MANAGE_FINDING_NAME, MANAGE_FINDING_DESCRIPTION, MANAGE_FINDING_SCHEMA, createManageFindingHandler } from "./tools/enterprise/manage-finding.js";
148
+ import { LIST_CAMPAIGNS_NAME, LIST_CAMPAIGNS_DESCRIPTION, LIST_CAMPAIGNS_SCHEMA, createListCampaignsHandler } from "./tools/enterprise/list-campaigns.js";
149
+ import { GET_CAMPAIGN_NAME, GET_CAMPAIGN_DESCRIPTION, GET_CAMPAIGN_SCHEMA, createGetCampaignHandler } from "./tools/enterprise/get-campaign.js";
150
+ import { MANAGE_CAMPAIGN_NAME, MANAGE_CAMPAIGN_DESCRIPTION, MANAGE_CAMPAIGN_SCHEMA, createManageCampaignHandler } from "./tools/enterprise/manage-campaign.js";
151
+ import { MANAGE_CAMPAIGN_TARGET_NAME, MANAGE_CAMPAIGN_TARGET_DESCRIPTION, MANAGE_CAMPAIGN_TARGET_SCHEMA, createManageCampaignTargetHandler } from "./tools/enterprise/manage-campaign-target.js";
152
+ import { MANAGE_CAMPAIGN_AGENT_INSTANCE_NAME, MANAGE_CAMPAIGN_AGENT_INSTANCE_DESCRIPTION, MANAGE_CAMPAIGN_AGENT_INSTANCE_SCHEMA, createManageCampaignAgentInstanceHandler } from "./tools/enterprise/manage-campaign-agent-instance.js";
127
153
  // ── Enterprise Tools — Pen Test Sessions ──
128
154
  import { START_PENTEST_SESSION_NAME, START_PENTEST_SESSION_DESCRIPTION, START_PENTEST_SESSION_SCHEMA, createStartPentestSessionHandler } from "./tools/enterprise/start-pentest-session.js";
129
155
  import { RECORD_TEST_RESULT_NAME, RECORD_TEST_RESULT_DESCRIPTION, RECORD_TEST_RESULT_SCHEMA, createRecordTestResultHandler } from "./tools/enterprise/record-test-result.js";
@@ -149,21 +175,40 @@ import { OPEN_IN_IDE_NAME, OPEN_IN_IDE_DESCRIPTION, OPEN_IN_IDE_SCHEMA, createOp
149
175
  /**
150
176
  * Create and start the MCP server with all tools registered
151
177
  */
152
- export async function startServer(config = DEFAULT_CONFIG) {
153
- // Detect the project binding FIRST so we can auto-adopt its session
154
- // when no explicit ZIVIS_SESSION was passed. This makes .zivis/project.json
155
- // the single source of truth — cd into a project and the correct tokens
156
- // are used without any IDE config to go stale.
157
- const detected = detectProjectBinding(process.cwd());
158
- if (detected && !config.session) {
159
- config = { ...config, session: detected.binding.session };
160
- console.error(`[zivis] Auto-adopted session "${config.session}" from ${detected.filePath}`);
178
+ export async function startServer(incoming = DEFAULT_CONFIG) {
179
+ // Workspaces are identified by `--workspace` (IDE) or cwd. Merge `.zivis/project.json`
180
+ // into config here — critical for staging/prod OAuth + keychain: `zivis mcp serve` only
181
+ // passes DEFAULT_CONFIG + workspacePath without going through MCP package `runCli()`.
182
+ const workspacePath = incoming.workspacePath ?? process.cwd();
183
+ const detected = detectProjectBinding(workspacePath);
184
+ const fromBinding = resolveConfigFromBinding(workspacePath);
185
+ const overlay = {
186
+ ...fromBinding,
187
+ ...incoming,
188
+ workspacePath: incoming.workspacePath,
189
+ };
190
+ const config = {
191
+ ...overlay,
192
+ session: resolveMcpSessionForWorkspace(incoming, workspacePath, detected, fromBinding),
193
+ };
194
+ if (detected) {
195
+ console.error(`[zivis] Project binding: ${detected.filePath} (session "${detected.binding.session}")`);
161
196
  }
162
197
  const server = new McpServer({
163
198
  name: "zivis-security",
164
199
  version: "0.2.0",
200
+ }, {
201
+ capabilities: {
202
+ tools: {},
203
+ prompts: {},
204
+ },
165
205
  });
166
206
  const apiClient = new ApiClient(config);
207
+ // ── Register Tools: Onboarding (first so it appears at the top of tools/list) ──
208
+ server.registerTool(GET_STARTED_NAME, {
209
+ description: GET_STARTED_DESCRIPTION,
210
+ inputSchema: GET_STARTED_SCHEMA,
211
+ }, createGetStartedHandler(apiClient, config));
167
212
  // ── Register Tools: Findings ──
168
213
  server.registerTool(GET_FINDINGS_NAME, {
169
214
  description: GET_FINDINGS_DESCRIPTION,
@@ -251,6 +296,10 @@ export async function startServer(config = DEFAULT_CONFIG) {
251
296
  description: GET_APPLICATION_DESCRIPTION,
252
297
  inputSchema: GET_APPLICATION_SCHEMA,
253
298
  }, createGetApplicationHandler(apiClient));
299
+ server.registerTool(GET_APPLICATION_AUTH_CONFIG_NAME, {
300
+ description: GET_APPLICATION_AUTH_CONFIG_DESCRIPTION,
301
+ inputSchema: GET_APPLICATION_AUTH_CONFIG_SCHEMA,
302
+ }, createGetApplicationAuthConfigHandler(apiClient));
254
303
  server.registerTool(GET_APPLICATION_OVERVIEW_NAME, {
255
304
  description: GET_APPLICATION_OVERVIEW_DESCRIPTION,
256
305
  inputSchema: GET_APPLICATION_OVERVIEW_SCHEMA,
@@ -267,6 +316,14 @@ export async function startServer(config = DEFAULT_CONFIG) {
267
316
  description: UPDATE_ENDPOINT_DESCRIPTION,
268
317
  inputSchema: UPDATE_ENDPOINT_SCHEMA,
269
318
  }, createUpdateEndpointHandler(apiClient));
319
+ server.registerTool(MANAGE_APPLICATION_NAME, {
320
+ description: MANAGE_APPLICATION_DESCRIPTION,
321
+ inputSchema: MANAGE_APPLICATION_SCHEMA,
322
+ }, createManageApplicationHandler(apiClient));
323
+ server.registerTool(MANAGE_ENDPOINT_LIFECYCLE_NAME, {
324
+ description: MANAGE_ENDPOINT_LIFECYCLE_DESCRIPTION,
325
+ inputSchema: MANAGE_ENDPOINT_LIFECYCLE_SCHEMA,
326
+ }, createManageEndpointLifecycleHandler(apiClient));
270
327
  // ── Register Tools: Local Scan ──
271
328
  server.registerTool(LOCAL_SCAN_NAME, {
272
329
  description: LOCAL_SCAN_DESCRIPTION,
@@ -381,13 +438,24 @@ export async function startServer(config = DEFAULT_CONFIG) {
381
438
  // Agent Instances
382
439
  const enterpriseTools = [
383
440
  [LIST_AGENTS_NAME, LIST_AGENTS_DESCRIPTION, LIST_AGENTS_SCHEMA, createListAgentsHandler(apiClient)],
441
+ [LIST_CAMPAIGNS_NAME, LIST_CAMPAIGNS_DESCRIPTION, LIST_CAMPAIGNS_SCHEMA, createListCampaignsHandler(apiClient)],
442
+ [GET_CAMPAIGN_NAME, GET_CAMPAIGN_DESCRIPTION, GET_CAMPAIGN_SCHEMA, createGetCampaignHandler(apiClient)],
443
+ [MANAGE_CAMPAIGN_NAME, MANAGE_CAMPAIGN_DESCRIPTION, MANAGE_CAMPAIGN_SCHEMA, createManageCampaignHandler(apiClient)],
444
+ [MANAGE_CAMPAIGN_TARGET_NAME, MANAGE_CAMPAIGN_TARGET_DESCRIPTION, MANAGE_CAMPAIGN_TARGET_SCHEMA, createManageCampaignTargetHandler(apiClient)],
445
+ [MANAGE_CAMPAIGN_AGENT_INSTANCE_NAME, MANAGE_CAMPAIGN_AGENT_INSTANCE_DESCRIPTION, MANAGE_CAMPAIGN_AGENT_INSTANCE_SCHEMA, createManageCampaignAgentInstanceHandler(apiClient)],
384
446
  // Threat Model Management
385
447
  [GET_THREAT_MODEL_NAME, GET_THREAT_MODEL_DESCRIPTION, GET_THREAT_MODEL_SCHEMA, createGetThreatModelHandler(apiClient)],
386
448
  [LIST_THREAT_MODELS_NAME, LIST_THREAT_MODELS_DESCRIPTION, LIST_THREAT_MODELS_SCHEMA, createListThreatModelsHandler(apiClient)],
449
+ [LIST_THREAT_MODEL_VERSIONS_NAME, LIST_THREAT_MODEL_VERSIONS_DESCRIPTION, LIST_THREAT_MODEL_VERSIONS_SCHEMA, createListThreatModelVersionsHandler(apiClient)],
450
+ [LIST_ATTACK_SCENARIOS_NAME, LIST_ATTACK_SCENARIOS_DESCRIPTION, LIST_ATTACK_SCENARIOS_SCHEMA, createListAttackScenariosHandler(apiClient)],
451
+ [LIST_ATTACK_STEP_LIBRARY_TESTS_NAME, LIST_ATTACK_STEP_LIBRARY_TESTS_DESCRIPTION, LIST_ATTACK_STEP_LIBRARY_TESTS_SCHEMA, createListAttackStepLibraryTestsHandler(apiClient)],
452
+ [LIST_THREAT_MODEL_REVIEW_ITEMS_NAME, LIST_THREAT_MODEL_REVIEW_ITEMS_DESCRIPTION, LIST_THREAT_MODEL_REVIEW_ITEMS_SCHEMA, createListThreatModelReviewItemsHandler(apiClient)],
387
453
  [MANAGE_ACTOR_NAME, MANAGE_ACTOR_DESCRIPTION, MANAGE_ACTOR_SCHEMA, createManageActorHandler(apiClient)],
388
454
  [MANAGE_COMPONENT_NAME, MANAGE_COMPONENT_DESCRIPTION, MANAGE_COMPONENT_SCHEMA, createManageComponentHandler(apiClient)],
389
455
  [MANAGE_DATA_FLOW_NAME, MANAGE_DATA_FLOW_DESCRIPTION, MANAGE_DATA_FLOW_SCHEMA, createManageDataFlowHandler(apiClient)],
390
456
  [MANAGE_ATTACK_SCENARIO_NAME, MANAGE_ATTACK_SCENARIO_DESCRIPTION, MANAGE_ATTACK_SCENARIO_SCHEMA, createManageAttackScenarioHandler(apiClient)],
457
+ [MANAGE_THREAT_MODEL_ANALYSIS_NAME, MANAGE_THREAT_MODEL_ANALYSIS_DESCRIPTION, MANAGE_THREAT_MODEL_ANALYSIS_SCHEMA, createManageThreatModelAnalysisHandler(apiClient)],
458
+ [MANAGE_THREAT_MODEL_REVIEW_NAME, MANAGE_THREAT_MODEL_REVIEW_DESCRIPTION, MANAGE_THREAT_MODEL_REVIEW_SCHEMA, createManageThreatModelReviewHandler(apiClient)],
391
459
  [MANAGE_SECURITY_CONTROL_NAME, MANAGE_SECURITY_CONTROL_DESCRIPTION, MANAGE_SECURITY_CONTROL_SCHEMA, createManageSecurityControlHandler(apiClient)],
392
460
  [MANAGE_DATA_ASSET_NAME, MANAGE_DATA_ASSET_DESCRIPTION, MANAGE_DATA_ASSET_SCHEMA, createManageDataAssetHandler(apiClient)],
393
461
  [MANAGE_TEST_CASE_NAME, MANAGE_TEST_CASE_DESCRIPTION, MANAGE_TEST_CASE_SCHEMA, createManageTestCaseHandler(apiClient)],
@@ -424,24 +492,27 @@ export async function startServer(config = DEFAULT_CONFIG) {
424
492
  if (config.session) {
425
493
  console.error(`[zivis] Session: ${config.session}`);
426
494
  // Verify the session has credentials before starting
427
- const creds = await resolveAuth(config);
495
+ const creds = await resolveAuth(config, "apikey");
428
496
  if (creds.method === "none") {
429
- console.error(`[zivis] ERROR: Session "${config.session}" has no credentials.`);
430
- console.error(`[zivis] Run: zivis auth login --session ${config.session}`);
497
+ console.error(`[zivis] ERROR: Session "${config.session}" has no API key for MCP.`);
498
+ console.error("[zivis] OAuth is used only to mint an org-scoped API key:");
499
+ console.error("[zivis] zivis auth bind");
500
+ console.error(`[zivis] Or paste a platform token: zivis auth token sk_<...> --session ${config.session}`);
431
501
  process.exit(1);
432
502
  }
433
503
  }
434
- // ── JWT org isolation check ──
435
- // Must run AFTER session check (needs valid tokens) but BEFORE connecting.
436
- // Prevents cross-org data leaks by verifying the JWT's org matches the project binding.
504
+ // ── API key ↔ binding org isolation ──
505
+ // Must run AFTER session check but BEFORE connecting. Probes the API with X-API-Key.
437
506
  if (detected?.binding.workosOrgId) {
438
- await validateJwtOrgBinding(detected.binding, config);
507
+ await validateApiKeyMatchesBinding(detected.binding, config);
439
508
  }
509
+ // ── Register Prompts (guided slash commands) ──
510
+ registerAllPrompts(server);
440
511
  // ── Connect via stdio ──
441
512
  const transport = new StdioServerTransport();
442
513
  await server.connect(transport);
443
514
  console.error("[zivis] MCP server running on stdio");
444
515
  console.error(`[zivis] API: ${config.apiBaseUrl}`);
445
- console.error(`[zivis] Tools: 31 public + ${enterpriseTools.length} enterprise`);
516
+ console.error(`[zivis] Tools: public + ${enterpriseTools.length} enterprise registered`);
446
517
  }
447
518
  //# sourceMappingURL=server.js.map
@@ -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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"}
@@ -5,8 +5,8 @@
5
5
  *
6
6
  * Verifies all three sources of truth agree on the org:
7
7
  * 1. BINDING — .zivis/project.json's workosOrgId (what the project expects)
8
- * 2. LOCAL JWT — the stored access token's org_id claim (what the token says)
9
- * 3. API — GET /api/mcp/session (what the server resolves from the JWT)
8
+ * 2. LOCAL — MCP API key for this session (minted via `zivis auth bind`; no OAuth Bearer here)
9
+ * 3. API — GET /api/mcp/session (what the server resolves for your key)
10
10
  *
11
11
  * If any mismatch: returns isError=true with a concrete fix action.
12
12
  * If no binding exists: isError=true (refuses to operate without cross-org safety).
@@ -15,18 +15,18 @@ import { z } from "zod";
15
15
  import type { ApiClient } from "../api-client.js";
16
16
  import type { ZivisConfig } from "../types.js";
17
17
  export declare const CHECK_PROJECT_NAME = "zivis_check_project";
18
- export declare const CHECK_PROJECT_DESCRIPTION = "Pre-flight: verify the project, the stored JWT, and the API ALL agree on the org.\n\nThis is a defense-in-depth check that must pass before any tenant-scoped MCP\noperation (triage, create scan, manage threat model, etc.). It compares three\nindependent sources of truth:\n\n 1. Project binding (.zivis/project.json workosOrgId)\n 2. Local JWT org_id claim\n 3. API's resolved org (round-trip to /api/mcp/session)\n\nReturns isError=true on ANY mismatch or missing binding. Call this at the\nstart of any workflow where polluting another tenant with data would be bad.\n\nSet local_only=true to skip the API round-trip (faster, but weaker guarantee).";
18
+ export declare const CHECK_PROJECT_DESCRIPTION = "Check that this project is correctly connected to your ZIVIS org. Run this at the start of any security workflow, or when something seems off.\n\nConfirms three things agree on the same org:\n 1. The project binding (.zivis/project.json)\n 2. A minted MCP API key for this session (`zivis auth bind` stores it \u2014 MCP does not use OAuth Bearer tokens for API calls)\n 3. The ZIVIS API (probe via your key)\n\nReturns an error with a specific fix command if anything is mismatched. This prevents data from going to the wrong org when you work across multiple clients.\n\nSet local_only=true to skip the API round-trip (faster, but weaker guarantee).";
19
19
  export declare const CHECK_PROJECT_SCHEMA: {
20
20
  cwd: z.ZodOptional<z.ZodString>;
21
21
  local_only: z.ZodOptional<z.ZodBoolean>;
22
22
  };
23
- export declare function createCheckProjectHandler(apiClient: ApiClient, config: ZivisConfig): (params: {
23
+ export declare function createCheckProjectHandler(apiClient: ApiClient, _config: ZivisConfig): (params: {
24
24
  cwd?: string;
25
25
  local_only?: boolean;
26
26
  }) => Promise<{
27
- content: {
27
+ content: Array<{
28
28
  type: "text";
29
29
  text: string;
30
- }[];
31
- isError: boolean;
30
+ }>;
31
+ isError?: boolean;
32
32
  }>;