@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.
- package/dist/api-client.d.ts +11 -11
- package/dist/api-client.js +41 -36
- package/dist/api-client.js.map +1 -1
- package/dist/auth/index.d.ts +9 -5
- package/dist/auth/index.js +33 -17
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/keychain.d.ts +6 -5
- package/dist/auth/keychain.js +82 -69
- package/dist/auth/keychain.js.map +1 -1
- package/dist/auth/oauth.d.ts +18 -0
- package/dist/auth/oauth.js +55 -6
- package/dist/auth/oauth.js.map +1 -1
- package/dist/auth/sessions.d.ts +5 -4
- package/dist/auth/sessions.js +20 -14
- package/dist/auth/sessions.js.map +1 -1
- package/dist/auth/token-refresh.d.ts +2 -2
- package/dist/auth/token-refresh.js +42 -9
- package/dist/auth/token-refresh.js.map +1 -1
- package/dist/cli.d.ts +7 -15
- package/dist/cli.js +36 -904
- package/dist/cli.js.map +1 -1
- package/dist/lib/next-steps.d.ts +57 -0
- package/dist/lib/next-steps.js +45 -0
- package/dist/lib/next-steps.js.map +1 -0
- package/dist/project-binding.d.ts +19 -2
- package/dist/project-binding.js +57 -3
- package/dist/project-binding.js.map +1 -1
- package/dist/prompts/audit-dependencies.d.ts +10 -0
- package/dist/prompts/audit-dependencies.js +56 -0
- package/dist/prompts/audit-dependencies.js.map +1 -0
- package/dist/prompts/getting-started.d.ts +12 -0
- package/dist/prompts/getting-started.js +48 -0
- package/dist/prompts/getting-started.js.map +1 -0
- package/dist/prompts/index.d.ts +14 -0
- package/dist/prompts/index.js +25 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/prep-for-launch.d.ts +9 -0
- package/dist/prompts/prep-for-launch.js +62 -0
- package/dist/prompts/prep-for-launch.js.map +1 -0
- package/dist/prompts/secure-my-app.d.ts +9 -0
- package/dist/prompts/secure-my-app.js +70 -0
- package/dist/prompts/secure-my-app.js.map +1 -0
- package/dist/prompts/weekly-check.d.ts +9 -0
- package/dist/prompts/weekly-check.js +48 -0
- package/dist/prompts/weekly-check.js.map +1 -0
- package/dist/server.d.ts +1 -1
- package/dist/server.js +119 -43
- package/dist/server.js.map +1 -1
- package/dist/tools/check-project.d.ts +7 -7
- package/dist/tools/check-project.js +127 -95
- package/dist/tools/check-project.js.map +1 -1
- package/dist/tools/check-repo-trust.d.ts +4 -10
- package/dist/tools/check-repo-trust.js +56 -27
- package/dist/tools/check-repo-trust.js.map +1 -1
- package/dist/tools/enterprise/get-campaign.d.ts +27 -0
- package/dist/tools/enterprise/get-campaign.js +31 -0
- package/dist/tools/enterprise/get-campaign.js.map +1 -0
- package/dist/tools/enterprise/list-agents.d.ts +1 -1
- package/dist/tools/enterprise/list-attack-scenarios.d.ts +29 -0
- package/dist/tools/enterprise/list-attack-scenarios.js +69 -0
- package/dist/tools/enterprise/list-attack-scenarios.js.map +1 -0
- package/dist/tools/enterprise/list-attack-step-library-tests.d.ts +29 -0
- package/dist/tools/enterprise/list-attack-step-library-tests.js +61 -0
- package/dist/tools/enterprise/list-attack-step-library-tests.js.map +1 -0
- package/dist/tools/enterprise/list-campaigns.d.ts +37 -0
- package/dist/tools/enterprise/list-campaigns.js +60 -0
- package/dist/tools/enterprise/list-campaigns.js.map +1 -0
- package/dist/tools/enterprise/list-threat-model-review-items.d.ts +35 -0
- package/dist/tools/enterprise/list-threat-model-review-items.js +60 -0
- package/dist/tools/enterprise/list-threat-model-review-items.js.map +1 -0
- package/dist/tools/enterprise/list-threat-model-versions.d.ts +29 -0
- package/dist/tools/enterprise/list-threat-model-versions.js +60 -0
- package/dist/tools/enterprise/list-threat-model-versions.js.map +1 -0
- package/dist/tools/enterprise/manage-campaign-agent-instance.d.ts +42 -0
- package/dist/tools/enterprise/manage-campaign-agent-instance.js +68 -0
- package/dist/tools/enterprise/manage-campaign-agent-instance.js.map +1 -0
- package/dist/tools/enterprise/manage-campaign-target.d.ts +44 -0
- package/dist/tools/enterprise/manage-campaign-target.js +70 -0
- package/dist/tools/enterprise/manage-campaign-target.js.map +1 -0
- package/dist/tools/enterprise/manage-campaign.d.ts +62 -0
- package/dist/tools/enterprise/manage-campaign.js +114 -0
- package/dist/tools/enterprise/manage-campaign.js.map +1 -0
- package/dist/tools/enterprise/manage-finding.d.ts +1 -1
- package/dist/tools/enterprise/manage-threat-model-analysis.d.ts +52 -0
- package/dist/tools/enterprise/manage-threat-model-analysis.js +92 -0
- package/dist/tools/enterprise/manage-threat-model-analysis.js.map +1 -0
- package/dist/tools/enterprise/manage-threat-model-review.d.ts +47 -0
- package/dist/tools/enterprise/manage-threat-model-review.js +82 -0
- package/dist/tools/enterprise/manage-threat-model-review.js.map +1 -0
- package/dist/tools/get-application-auth-config.d.ts +27 -0
- package/dist/tools/get-application-auth-config.js +44 -0
- package/dist/tools/get-application-auth-config.js.map +1 -0
- package/dist/tools/get-finding-details.d.ts +4 -10
- package/dist/tools/get-finding-details.js +28 -10
- package/dist/tools/get-finding-details.js.map +1 -1
- package/dist/tools/get-findings.d.ts +4 -10
- package/dist/tools/get-findings.js +44 -23
- package/dist/tools/get-findings.js.map +1 -1
- package/dist/tools/get-started.d.ts +28 -0
- package/dist/tools/get-started.js +364 -0
- package/dist/tools/get-started.js.map +1 -0
- package/dist/tools/list-applications.d.ts +1 -1
- package/dist/tools/list-scans.d.ts +4 -10
- package/dist/tools/list-scans.js +55 -21
- package/dist/tools/list-scans.js.map +1 -1
- package/dist/tools/list-test-scenarios.d.ts +4 -10
- package/dist/tools/list-test-scenarios.js +41 -13
- package/dist/tools/list-test-scenarios.js.map +1 -1
- package/dist/tools/local-scan.d.ts +1 -1
- package/dist/tools/manage-application.d.ts +72 -0
- package/dist/tools/manage-application.js +138 -0
- package/dist/tools/manage-application.js.map +1 -0
- package/dist/tools/manage-endpoint-lifecycle.d.ts +90 -0
- package/dist/tools/manage-endpoint-lifecycle.js +191 -0
- package/dist/tools/manage-endpoint-lifecycle.js.map +1 -0
- package/dist/tools/open-in-ide.d.ts +1 -1
- package/dist/tools/setup-red-team-target.d.ts +6 -12
- package/dist/tools/setup-red-team-target.js +51 -20
- package/dist/tools/setup-red-team-target.js.map +1 -1
- package/dist/tools/triage-finding.d.ts +4 -10
- package/dist/tools/triage-finding.js +30 -21
- package/dist/tools/triage-finding.js.map +1 -1
- package/dist/types.d.ts +42 -2
- package/dist/types.js +29 -23
- package/dist/types.js.map +1 -1
- 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(
|
|
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 {
|
|
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
|
-
*
|
|
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
|
-
*
|
|
23
|
-
*
|
|
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
|
|
22
|
+
async function validateApiKeyMatchesBinding(binding, config) {
|
|
26
23
|
if (!binding.workosOrgId) {
|
|
27
|
-
|
|
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
|
|
33
|
-
if (!
|
|
34
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
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:
|
|
48
|
-
console.error(`[zivis]
|
|
49
|
-
console.error(`[zivis]
|
|
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]
|
|
53
|
-
console.error(`[zivis] zivis auth
|
|
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]
|
|
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(
|
|
153
|
-
//
|
|
154
|
-
//
|
|
155
|
-
//
|
|
156
|
-
|
|
157
|
-
const detected = detectProjectBinding(
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
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
|
|
430
|
-
console.error(
|
|
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
|
-
// ──
|
|
435
|
-
// Must run AFTER session check
|
|
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
|
|
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:
|
|
521
|
+
console.error(`[zivis] Tools: public + ${enterpriseTools.length} enterprise registered`);
|
|
446
522
|
}
|
|
447
523
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -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
|
|
9
|
-
* 3. API — GET /api/mcp/session (what the server resolves
|
|
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 = "
|
|
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,
|
|
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
|
|
30
|
+
}>;
|
|
31
|
+
isError?: boolean;
|
|
32
32
|
}>;
|