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

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 +119 -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 bindingcan'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 workosOrgIdcannot 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 skippedno 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,45 @@ 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
+ // Per ProjectBinding docstring: the binding "takes precedence over env vars"
186
+ // so a staging-bound repo always hits staging even if the IDE's env var is
187
+ // pointing elsewhere. `incoming` is built from DEFAULT_CONFIG (env+prod
188
+ // defaults) by index.ts; spreading `fromBinding` last lets workspace-scoped
189
+ // staging URLs/keychains beat the production defaults.
190
+ const overlay = {
191
+ ...incoming,
192
+ ...fromBinding,
193
+ workspacePath: incoming.workspacePath,
194
+ };
195
+ const config = {
196
+ ...overlay,
197
+ session: resolveMcpSessionForWorkspace(incoming, workspacePath, detected, fromBinding),
198
+ };
199
+ if (detected) {
200
+ console.error(`[zivis] Project binding: ${detected.filePath} (session "${detected.binding.session}")`);
161
201
  }
162
202
  const server = new McpServer({
163
203
  name: "zivis-security",
164
204
  version: "0.2.0",
205
+ }, {
206
+ capabilities: {
207
+ tools: {},
208
+ prompts: {},
209
+ },
165
210
  });
166
211
  const apiClient = new ApiClient(config);
212
+ // ── Register Tools: Onboarding (first so it appears at the top of tools/list) ──
213
+ server.registerTool(GET_STARTED_NAME, {
214
+ description: GET_STARTED_DESCRIPTION,
215
+ inputSchema: GET_STARTED_SCHEMA,
216
+ }, createGetStartedHandler(apiClient, config));
167
217
  // ── Register Tools: Findings ──
168
218
  server.registerTool(GET_FINDINGS_NAME, {
169
219
  description: GET_FINDINGS_DESCRIPTION,
@@ -251,6 +301,10 @@ export async function startServer(config = DEFAULT_CONFIG) {
251
301
  description: GET_APPLICATION_DESCRIPTION,
252
302
  inputSchema: GET_APPLICATION_SCHEMA,
253
303
  }, createGetApplicationHandler(apiClient));
304
+ server.registerTool(GET_APPLICATION_AUTH_CONFIG_NAME, {
305
+ description: GET_APPLICATION_AUTH_CONFIG_DESCRIPTION,
306
+ inputSchema: GET_APPLICATION_AUTH_CONFIG_SCHEMA,
307
+ }, createGetApplicationAuthConfigHandler(apiClient));
254
308
  server.registerTool(GET_APPLICATION_OVERVIEW_NAME, {
255
309
  description: GET_APPLICATION_OVERVIEW_DESCRIPTION,
256
310
  inputSchema: GET_APPLICATION_OVERVIEW_SCHEMA,
@@ -267,6 +321,14 @@ export async function startServer(config = DEFAULT_CONFIG) {
267
321
  description: UPDATE_ENDPOINT_DESCRIPTION,
268
322
  inputSchema: UPDATE_ENDPOINT_SCHEMA,
269
323
  }, createUpdateEndpointHandler(apiClient));
324
+ server.registerTool(MANAGE_APPLICATION_NAME, {
325
+ description: MANAGE_APPLICATION_DESCRIPTION,
326
+ inputSchema: MANAGE_APPLICATION_SCHEMA,
327
+ }, createManageApplicationHandler(apiClient));
328
+ server.registerTool(MANAGE_ENDPOINT_LIFECYCLE_NAME, {
329
+ description: MANAGE_ENDPOINT_LIFECYCLE_DESCRIPTION,
330
+ inputSchema: MANAGE_ENDPOINT_LIFECYCLE_SCHEMA,
331
+ }, createManageEndpointLifecycleHandler(apiClient));
270
332
  // ── Register Tools: Local Scan ──
271
333
  server.registerTool(LOCAL_SCAN_NAME, {
272
334
  description: LOCAL_SCAN_DESCRIPTION,
@@ -381,13 +443,24 @@ export async function startServer(config = DEFAULT_CONFIG) {
381
443
  // Agent Instances
382
444
  const enterpriseTools = [
383
445
  [LIST_AGENTS_NAME, LIST_AGENTS_DESCRIPTION, LIST_AGENTS_SCHEMA, createListAgentsHandler(apiClient)],
446
+ [LIST_CAMPAIGNS_NAME, LIST_CAMPAIGNS_DESCRIPTION, LIST_CAMPAIGNS_SCHEMA, createListCampaignsHandler(apiClient)],
447
+ [GET_CAMPAIGN_NAME, GET_CAMPAIGN_DESCRIPTION, GET_CAMPAIGN_SCHEMA, createGetCampaignHandler(apiClient)],
448
+ [MANAGE_CAMPAIGN_NAME, MANAGE_CAMPAIGN_DESCRIPTION, MANAGE_CAMPAIGN_SCHEMA, createManageCampaignHandler(apiClient)],
449
+ [MANAGE_CAMPAIGN_TARGET_NAME, MANAGE_CAMPAIGN_TARGET_DESCRIPTION, MANAGE_CAMPAIGN_TARGET_SCHEMA, createManageCampaignTargetHandler(apiClient)],
450
+ [MANAGE_CAMPAIGN_AGENT_INSTANCE_NAME, MANAGE_CAMPAIGN_AGENT_INSTANCE_DESCRIPTION, MANAGE_CAMPAIGN_AGENT_INSTANCE_SCHEMA, createManageCampaignAgentInstanceHandler(apiClient)],
384
451
  // Threat Model Management
385
452
  [GET_THREAT_MODEL_NAME, GET_THREAT_MODEL_DESCRIPTION, GET_THREAT_MODEL_SCHEMA, createGetThreatModelHandler(apiClient)],
386
453
  [LIST_THREAT_MODELS_NAME, LIST_THREAT_MODELS_DESCRIPTION, LIST_THREAT_MODELS_SCHEMA, createListThreatModelsHandler(apiClient)],
454
+ [LIST_THREAT_MODEL_VERSIONS_NAME, LIST_THREAT_MODEL_VERSIONS_DESCRIPTION, LIST_THREAT_MODEL_VERSIONS_SCHEMA, createListThreatModelVersionsHandler(apiClient)],
455
+ [LIST_ATTACK_SCENARIOS_NAME, LIST_ATTACK_SCENARIOS_DESCRIPTION, LIST_ATTACK_SCENARIOS_SCHEMA, createListAttackScenariosHandler(apiClient)],
456
+ [LIST_ATTACK_STEP_LIBRARY_TESTS_NAME, LIST_ATTACK_STEP_LIBRARY_TESTS_DESCRIPTION, LIST_ATTACK_STEP_LIBRARY_TESTS_SCHEMA, createListAttackStepLibraryTestsHandler(apiClient)],
457
+ [LIST_THREAT_MODEL_REVIEW_ITEMS_NAME, LIST_THREAT_MODEL_REVIEW_ITEMS_DESCRIPTION, LIST_THREAT_MODEL_REVIEW_ITEMS_SCHEMA, createListThreatModelReviewItemsHandler(apiClient)],
387
458
  [MANAGE_ACTOR_NAME, MANAGE_ACTOR_DESCRIPTION, MANAGE_ACTOR_SCHEMA, createManageActorHandler(apiClient)],
388
459
  [MANAGE_COMPONENT_NAME, MANAGE_COMPONENT_DESCRIPTION, MANAGE_COMPONENT_SCHEMA, createManageComponentHandler(apiClient)],
389
460
  [MANAGE_DATA_FLOW_NAME, MANAGE_DATA_FLOW_DESCRIPTION, MANAGE_DATA_FLOW_SCHEMA, createManageDataFlowHandler(apiClient)],
390
461
  [MANAGE_ATTACK_SCENARIO_NAME, MANAGE_ATTACK_SCENARIO_DESCRIPTION, MANAGE_ATTACK_SCENARIO_SCHEMA, createManageAttackScenarioHandler(apiClient)],
462
+ [MANAGE_THREAT_MODEL_ANALYSIS_NAME, MANAGE_THREAT_MODEL_ANALYSIS_DESCRIPTION, MANAGE_THREAT_MODEL_ANALYSIS_SCHEMA, createManageThreatModelAnalysisHandler(apiClient)],
463
+ [MANAGE_THREAT_MODEL_REVIEW_NAME, MANAGE_THREAT_MODEL_REVIEW_DESCRIPTION, MANAGE_THREAT_MODEL_REVIEW_SCHEMA, createManageThreatModelReviewHandler(apiClient)],
391
464
  [MANAGE_SECURITY_CONTROL_NAME, MANAGE_SECURITY_CONTROL_DESCRIPTION, MANAGE_SECURITY_CONTROL_SCHEMA, createManageSecurityControlHandler(apiClient)],
392
465
  [MANAGE_DATA_ASSET_NAME, MANAGE_DATA_ASSET_DESCRIPTION, MANAGE_DATA_ASSET_SCHEMA, createManageDataAssetHandler(apiClient)],
393
466
  [MANAGE_TEST_CASE_NAME, MANAGE_TEST_CASE_DESCRIPTION, MANAGE_TEST_CASE_SCHEMA, createManageTestCaseHandler(apiClient)],
@@ -424,24 +497,27 @@ export async function startServer(config = DEFAULT_CONFIG) {
424
497
  if (config.session) {
425
498
  console.error(`[zivis] Session: ${config.session}`);
426
499
  // Verify the session has credentials before starting
427
- const creds = await resolveAuth(config);
500
+ const creds = await resolveAuth(config, "apikey");
428
501
  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}`);
502
+ console.error(`[zivis] ERROR: Session "${config.session}" has no API key for MCP.`);
503
+ console.error("[zivis] OAuth is used only to mint an org-scoped API key:");
504
+ console.error("[zivis] zivis auth bind");
505
+ console.error(`[zivis] Or paste a platform token: zivis auth token sk_<...> --session ${config.session}`);
431
506
  process.exit(1);
432
507
  }
433
508
  }
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.
509
+ // ── API key ↔ binding org isolation ──
510
+ // Must run AFTER session check but BEFORE connecting. Probes the API with X-API-Key.
437
511
  if (detected?.binding.workosOrgId) {
438
- await validateJwtOrgBinding(detected.binding, config);
512
+ await validateApiKeyMatchesBinding(detected.binding, config);
439
513
  }
514
+ // ── Register Prompts (guided slash commands) ──
515
+ registerAllPrompts(server);
440
516
  // ── Connect via stdio ──
441
517
  const transport = new StdioServerTransport();
442
518
  await server.connect(transport);
443
519
  console.error("[zivis] MCP server running on stdio");
444
520
  console.error(`[zivis] API: ${config.apiBaseUrl}`);
445
- console.error(`[zivis] Tools: 31 public + ${enterpriseTools.length} enterprise`);
521
+ console.error(`[zivis] Tools: public + ${enterpriseTools.length} enterprise registered`);
446
522
  }
447
523
  //# 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
  }>;