@turbopentest/mcp-server 0.1.5 → 0.1.7

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/server.js CHANGED
@@ -10,7 +10,7 @@ import { registerListDomains } from "./tools/list-domains.js";
10
10
  export function createServer(client) {
11
11
  const server = new McpServer({
12
12
  name: "turbopentest",
13
- version: "0.1.0",
13
+ version: "0.1.7",
14
14
  });
15
15
  registerStartPentest(server, client);
16
16
  registerGetPentest(server, client);
@@ -1,15 +1,28 @@
1
1
  import { z } from "zod";
2
2
  export function registerDownloadReport(server, client) {
3
- server.registerTool("download_report", {
4
- title: "Download Report",
5
- description: "Download a pentest report. Use format=markdown for AI-readable content, " +
6
- "format=json for structured data, or format=pdf for the full formatted report. " +
7
- "The scan must be complete.",
3
+ server.registerTool("turbopentest_download_report", {
4
+ title: "Download Pentest Report",
5
+ description: "Download a full penetration test report in the specified format. " +
6
+ "The scan must have status 'complete' before a report can be generated. " +
7
+ "Use format 'markdown' for AI-readable analysis, 'json' for structured programmatic data, " +
8
+ "or 'pdf' for a professionally formatted document suitable for stakeholders.",
9
+ annotations: {
10
+ readOnlyHint: true,
11
+ destructiveHint: false,
12
+ openWorldHint: false,
13
+ },
8
14
  inputSchema: z.object({
9
- pentest_id: z.string().uuid().describe("The pentest ID (UUID)"),
15
+ pentest_id: z
16
+ .string()
17
+ .uuid()
18
+ .describe("The unique identifier (UUID) of the completed penetration test to generate a report for. " +
19
+ "Returned by turbopentest_start_pentest or turbopentest_list_pentests."),
10
20
  format: z
11
21
  .enum(["json", "markdown", "pdf"])
12
- .describe("Report format: markdown (best for AI reading), json (structured data), pdf (formatted document)"),
22
+ .describe("The output format for the report. " +
23
+ "'markdown': human and AI-readable text — best for analysis and summarization. " +
24
+ "'json': structured data with all fields — best for programmatic processing. " +
25
+ "'pdf': professionally formatted document — best for sharing with stakeholders (returns a download URL)."),
13
26
  }),
14
27
  }, async ({ pentest_id, format }) => {
15
28
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"download-report.js","sourceRoot":"","sources":["../../src/tools/download-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAA0B;IAClF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,0EAA0E;YAC1E,gFAAgF;YAChF,4BAA4B;QAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC/D,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;iBACjC,QAAQ,CACP,iGAAiG,CAClG;SACJ,CAAC;KACH,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE1D,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EACF,0BAA0B,UAAU,kCAAkC;gCACtE,yCAAyC,UAAU,wBAAwB;gCAC3E,4FAA4F;yBAC/F;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,WAAW;YACX,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAgB,EAAE,CAAC;aAC7D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8BAA8B,OAAO,EAAE,EAAE,CAAC;gBACnF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"download-report.js","sourceRoot":"","sources":["../../src/tools/download-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAA0B;IAClF,MAAM,CAAC,YAAY,CACjB,8BAA8B,EAC9B;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,mEAAmE;YACnE,yEAAyE;YACzE,2FAA2F;YAC3F,6EAA6E;QAC/E,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,IAAI,EAAE;iBACN,QAAQ,CACP,2FAA2F;gBACzF,uEAAuE,CAC1E;YACH,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;iBACjC,QAAQ,CACP,oCAAoC;gBAClC,gFAAgF;gBAChF,8EAA8E;gBAC9E,yGAAyG,CAC5G;SACJ,CAAC;KACH,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE1D,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EACF,0BAA0B,UAAU,kCAAkC;gCACtE,yCAAyC,UAAU,wBAAwB;gCAC3E,4FAA4F;yBAC/F;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,WAAW;YACX,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAgB,EAAE,CAAC;aAC7D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8BAA8B,OAAO,EAAE,EAAE,CAAC;gBACnF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
2
  export function registerGetCredits(server, client) {
3
- server.registerTool("get_credits", {
4
- title: "Get Credits",
5
- description: "Check your credit balance and available scan tiers with pricing. " +
6
- "Credits are required to launch pentests.",
3
+ server.registerTool("turbopentest_get_credits", {
4
+ title: "Get Credit Balance",
5
+ description: "Check your current credit balance, usage breakdown by tier, and available scan tiers with pricing. " +
6
+ "Credits are consumed when launching penetration tests — each tier costs one credit of the matching type. " +
7
+ "Call this before turbopentest_start_pentest to verify you have sufficient credits for the desired tier.",
8
+ annotations: {
9
+ readOnlyHint: true,
10
+ destructiveHint: false,
11
+ openWorldHint: false,
12
+ },
7
13
  inputSchema: z.object({}),
8
14
  }, async () => {
9
15
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"get-credits.js","sourceRoot":"","sources":["../../src/tools/get-credits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAA0B;IAC9E,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,mEAAmE;YACnE,0CAA0C;QAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC7C,MAAM,CAAC,gBAAgB,EAAE;gBACzB,MAAM,CAAC,cAAc,EAAE;aACxB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG;gBACZ,wBAAwB;gBACxB,gBAAgB,OAAO,CAAC,SAAS,EAAE;gBACnC,gBAAgB,OAAO,CAAC,IAAI,EAAE;gBAC9B,gBAAgB,OAAO,CAAC,SAAS,EAAE;gBACnC,gBAAgB,OAAO,CAAC,OAAO,EAAE;aAClC,CAAC;YAEF,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,8BAA8B,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,sBAAsB,EACtB,iBAAiB,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,EAC5C,iBAAiB,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE,EAC/C,iBAAiB,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,EAC3C,iBAAiB,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,EAC5C,EAAE,EACF,yBAAyB,CAC1B,CAAC;YAEF,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAC1D,eAAe,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,WAAW,qBAAqB,IAAI,CAAC,UAAU,EAAE,CAChG,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;oBAChD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,cAAc,CAAC,CAAC,eAAe,OAAO,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0BAA0B,OAAO,EAAE,EAAE,CAAC;gBAC/E,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-credits.js","sourceRoot":"","sources":["../../src/tools/get-credits.ts"],"names":[],"mappings":"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"}
@@ -25,17 +25,33 @@ function formatFinding(f, index) {
25
25
  return lines.join("\n");
26
26
  }
27
27
  export function registerGetFindings(server, client) {
28
- server.registerTool("get_findings", {
29
- title: "Get Findings",
30
- description: "Get structured vulnerability findings for a pentest. " +
31
- "Each finding includes severity, CVSS, CWE, description, PoC, remediation, and retest command. " +
32
- "Use the severity filter to narrow results.",
28
+ server.registerTool("turbopentest_get_findings", {
29
+ title: "Get Vulnerability Findings",
30
+ description: "Retrieve structured vulnerability findings for a completed penetration test. " +
31
+ "Each finding includes severity, CVSS score, CWE classification, detailed description, " +
32
+ "proof of concept, remediation steps, and a retest command. " +
33
+ "Returns up to 20 findings at a time — use the severity filter to focus on specific risk levels. " +
34
+ "Use turbopentest_download_report for a complete exportable report.",
35
+ annotations: {
36
+ readOnlyHint: true,
37
+ destructiveHint: false,
38
+ openWorldHint: false,
39
+ },
33
40
  inputSchema: z.object({
34
- pentest_id: z.string().uuid().describe("The pentest ID (UUID)"),
41
+ pentest_id: z
42
+ .string()
43
+ .uuid()
44
+ .describe("The unique identifier (UUID) of the penetration test to retrieve findings for. " +
45
+ "Returned by turbopentest_start_pentest or turbopentest_list_pentests."),
35
46
  severity: z
36
47
  .enum(["critical", "high", "medium", "low", "info"])
37
48
  .optional()
38
- .describe("Filter findings by severity level"),
49
+ .describe("Filter findings by severity level. " +
50
+ "'critical': exploitable vulnerabilities with severe business impact. " +
51
+ "'high': significant vulnerabilities requiring prompt remediation. " +
52
+ "'medium': moderate-risk issues that should be addressed. " +
53
+ "'low': minor issues with limited impact. " +
54
+ "'info': informational observations and hardening suggestions."),
39
55
  }),
40
56
  }, async ({ pentest_id, severity }) => {
41
57
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"get-findings.js","sourceRoot":"","sources":["../../src/tools/get-findings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-findings.js","sourceRoot":"","sources":["../../src/tools/get-findings.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,23 @@
1
1
  import { z } from "zod";
2
2
  export function registerGetPentest(server, client) {
3
- server.registerTool("get_pentest", {
4
- title: "Get Pentest",
5
- description: "Get full details for a pentest including status, progress, findings summary, " +
6
- "executive summary, attack surface map, and STRIDE threat model.",
3
+ server.registerTool("turbopentest_get_pentest", {
4
+ title: "Get Penetration Test Details",
5
+ description: "Retrieve full details for a specific penetration test by its ID. " +
6
+ "Returns current status, scan progress percentage, findings summary by severity, " +
7
+ "executive summary, attack surface map, and STRIDE threat model. " +
8
+ "Use this to monitor a running scan or review completed results. " +
9
+ "For detailed vulnerability data, follow up with turbopentest_get_findings.",
10
+ annotations: {
11
+ readOnlyHint: true,
12
+ destructiveHint: false,
13
+ openWorldHint: false,
14
+ },
7
15
  inputSchema: z.object({
8
- pentest_id: z.string().uuid().describe("The pentest ID (UUID)"),
16
+ pentest_id: z
17
+ .string()
18
+ .uuid()
19
+ .describe("The unique identifier (UUID) of the penetration test. " +
20
+ "Returned by turbopentest_start_pentest or turbopentest_list_pentests."),
9
21
  }),
10
22
  }, async ({ pentest_id }) => {
11
23
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"get-pentest.js","sourceRoot":"","sources":["../../src/tools/get-pentest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-pentest.js","sourceRoot":"","sources":["../../src/tools/get-pentest.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
2
  export function registerListDomains(server, client) {
3
- server.registerTool("list_domains", {
4
- title: "List Domains",
5
- description: "List your verified domains and their verification status. " +
6
- "Domains must be verified before you can run pentests against them.",
3
+ server.registerTool("turbopentest_list_domains", {
4
+ title: "List Verified Domains",
5
+ description: "List all domains in your account with their verification status and expiry dates. " +
6
+ "A domain must have status 'verified' before it can be used as a target in turbopentest_start_pentest. " +
7
+ "To verify a new domain, add a DNS TXT record via the TurboPentest dashboard at turbopentest.com/domains.",
8
+ annotations: {
9
+ readOnlyHint: true,
10
+ destructiveHint: false,
11
+ openWorldHint: false,
12
+ },
7
13
  inputSchema: z.object({}),
8
14
  }, async () => {
9
15
  try {
@@ -21,9 +27,13 @@ export function registerListDomains(server, client) {
21
27
  }
22
28
  const lines = [`Domains (${domains.length})`, ""];
23
29
  for (const d of domains) {
24
- const verified = d.verifiedAt ? "Verified" : "Pending";
30
+ const verified = d.verifiedAt
31
+ ? "Verified"
32
+ : d.status === "pending"
33
+ ? "Pending"
34
+ : d.status;
25
35
  const expiry = d.expiresAt ? `Expires: ${d.expiresAt}` : "";
26
- lines.push(` ${d.domain}`, ` Status: ${verified}`, ` Token: ${d.token}`, expiry ? ` ${expiry}` : "", ` Added: ${d.createdAt}`, "");
36
+ lines.push(` ${d.domain}`, ` Status: ${verified}`, ` Token: ${d.verificationToken}`, expiry ? ` ${expiry}` : "", ` Added: ${d.createdAt}`, "");
27
37
  }
28
38
  return {
29
39
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"list-domains.js","sourceRoot":"","sources":["../../src/tools/list-domains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAA0B;IAC/E,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,4DAA4D;YAC5D,oEAAoE;QACtE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EACF,uBAAuB;gCACvB,uEAAuE;yBAC1E;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,CAAC,YAAY,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;YAElD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE5D,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,MAAM,EAAE,EACf,gBAAgB,QAAQ,EAAE,EAC1B,gBAAgB,CAAC,CAAC,KAAK,EAAE,EACzB,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAC7B,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAC7B,EAAE,CACH,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC/C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,OAAO,EAAE,EAAE,CAAC;gBAChF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"list-domains.js","sourceRoot":"","sources":["../../src/tools/list-domains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAA0B;IAC/E,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,oFAAoF;YACpF,wGAAwG;YACxG,0GAA0G;QAC5G,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EACF,uBAAuB;gCACvB,uEAAuE;yBAC1E;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,CAAC,YAAY,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;YAElD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU;oBAC3B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS;wBACtB,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACf,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE5D,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,MAAM,EAAE,EACf,gBAAgB,QAAQ,EAAE,EAC1B,gBAAgB,CAAC,CAAC,iBAAiB,EAAE,EACrC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAC7B,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAC7B,EAAE,CACH,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC/C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,OAAO,EAAE,EAAE,CAAC;gBAChF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,9 +1,16 @@
1
1
  import { z } from "zod";
2
2
  export function registerListPentests(server, client) {
3
- server.registerTool("list_pentests", {
4
- title: "List Pentests",
5
- description: "List all your pentests with status and finding counts. " +
6
- "Results are ordered newest first.",
3
+ server.registerTool("turbopentest_list_pentests", {
4
+ title: "List Penetration Tests",
5
+ description: "List all your penetration tests with their status and finding counts, ordered newest first. " +
6
+ "Use this to find pentest IDs, check which scans are running, or review past results. " +
7
+ "Supports filtering by status and limiting result count. " +
8
+ "Use turbopentest_get_pentest with a specific ID for full details.",
9
+ annotations: {
10
+ readOnlyHint: true,
11
+ destructiveHint: false,
12
+ openWorldHint: false,
13
+ },
7
14
  inputSchema: z.object({
8
15
  limit: z
9
16
  .number()
@@ -11,11 +18,15 @@ export function registerListPentests(server, client) {
11
18
  .min(1)
12
19
  .max(100)
13
20
  .default(10)
14
- .describe("Maximum number of results to return"),
21
+ .describe("Maximum number of penetration tests to return, between 1 and 100. Defaults to 10."),
15
22
  status: z
16
23
  .enum(["queued", "scanning", "complete", "failed"])
17
24
  .optional()
18
- .describe("Filter by scan status"),
25
+ .describe("Filter results by scan status. " +
26
+ "'queued': waiting to start. " +
27
+ "'scanning': currently running. " +
28
+ "'complete': finished successfully. " +
29
+ "'failed': terminated with an error."),
19
30
  }),
20
31
  }, async ({ limit, status }) => {
21
32
  try {
@@ -31,17 +42,14 @@ export function registerListPentests(server, client) {
31
42
  type: "text",
32
43
  text: status
33
44
  ? `No pentests found with status "${status}".`
34
- : "No pentests found. Use start_pentest to launch one.",
45
+ : "No pentests found. Use turbopentest_start_pentest to launch one.",
35
46
  },
36
47
  ],
37
48
  };
38
49
  }
39
50
  const lines = [`Pentests (showing ${scans.length})`, ""];
40
51
  for (const scan of scans) {
41
- const severityCounts = {};
42
- for (const f of scan.findings ?? []) {
43
- severityCounts[f.severity] = (severityCounts[f.severity] || 0) + 1;
44
- }
52
+ const severityCounts = scan.severityCounts ?? {};
45
53
  const findingSummary = Object.entries(severityCounts)
46
54
  .map(([sev, count]) => `${count} ${sev}`)
47
55
  .join(", ");
@@ -1 +1 @@
1
- {"version":3,"file":"list-pentests.js","sourceRoot":"","sources":["../../src/tools/list-pentests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-pentests.js","sourceRoot":"","sources":["../../src/tools/list-pentests.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,36 @@
1
1
  import { z } from "zod";
2
2
  export function registerStartPentest(server, client) {
3
- server.registerTool("start_pentest", {
4
- title: "Start Pentest",
3
+ server.registerTool("turbopentest_start_pentest", {
4
+ title: "Start Penetration Test",
5
5
  description: "Launch an AI-powered penetration test against a target URL. " +
6
- "The domain must be verified first (see list_domains). " +
7
- "Requires an available credit matching the selected tier.",
6
+ "The target domain must be verified first use turbopentest_list_domains to check. " +
7
+ "Requires an available credit matching the selected tier — use turbopentest_get_credits to check balance. " +
8
+ "Returns a pentest ID that can be used with turbopentest_get_pentest to monitor progress.",
9
+ annotations: {
10
+ readOnlyHint: false,
11
+ destructiveHint: false,
12
+ openWorldHint: true,
13
+ },
8
14
  inputSchema: z.object({
9
- target_url: z.string().url().describe("The target URL to scan (must be a verified domain)"),
15
+ target_url: z
16
+ .string()
17
+ .url()
18
+ .describe("The full URL of the target to scan, including protocol (e.g. 'https://example.com'). " +
19
+ "The domain must be verified in your TurboPentest account before scanning."),
10
20
  repo_url: z
11
21
  .string()
12
22
  .url()
13
23
  .optional()
14
- .describe("GitHub repository URL for white-box scanning (SAST, secrets, SCA)"),
24
+ .describe("Optional GitHub repository URL (e.g. 'https://github.com/org/repo') to enable white-box scanning. " +
25
+ "When provided, the scan includes SAST (static analysis), secret detection, and SCA (dependency audit) in addition to black-box testing."),
15
26
  tier: z
16
27
  .enum(["recon", "standard", "deep", "blitz"])
17
28
  .default("standard")
18
- .describe("Scan tier: recon (1 agent, 30min), standard (4 agents, 1hr), deep (10 agents, 2hr), blitz (20 agents, 4hr)"),
29
+ .describe("Scan tier that determines scope and depth. " +
30
+ "'recon': 1 agent, ~30 min — quick surface-level reconnaissance. " +
31
+ "'standard': 4 agents, ~1 hr — balanced coverage for most targets (default). " +
32
+ "'deep': 10 agents, ~2 hrs — thorough testing for production applications. " +
33
+ "'blitz': 20 agents, ~4 hrs — maximum coverage for critical assets."),
19
34
  }),
20
35
  }, async ({ target_url, repo_url, tier }) => {
21
36
  try {
@@ -32,7 +47,7 @@ export function registerStartPentest(server, client) {
32
47
  "",
33
48
  ...(multi.scans ?? []).map((s) => ` - ${s.targetUrl} (ID: ${s.id})`),
34
49
  "",
35
- "Use get_pentest with each scan ID to check status.",
50
+ "Use turbopentest_get_pentest with each scan ID to check status.",
36
51
  ];
37
52
  return { content: [{ type: "text", text: lines.join("\n") }] };
38
53
  }
@@ -55,7 +70,7 @@ export function registerStartPentest(server, client) {
55
70
  ` Duration: ${info.duration}`,
56
71
  scan.repoUrl ? ` Repo: ${scan.repoUrl}` : null,
57
72
  "",
58
- `Use get_pentest("${scan.id}") to check progress.`,
73
+ `Use turbopentest_get_pentest("${scan.id}") to check progress.`,
59
74
  ];
60
75
  return {
61
76
  content: [{ type: "text", text: lines.filter(Boolean).join("\n") }],
@@ -1 +1 @@
1
- {"version":3,"file":"start-pentest.js","sourceRoot":"","sources":["../../src/tools/start-pentest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start-pentest.js","sourceRoot":"","sources":["../../src/tools/start-pentest.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,22 @@
1
1
  import { z } from "zod";
2
2
  export function registerVerifyAttestation(server, client) {
3
- server.registerTool("verify_attestation", {
4
- title: "Verify Attestation",
5
- description: "Verify a blockchain-anchored pentest attestation by its hash. " +
6
- "This is a public endpoint no API key required. " +
7
- "Use this to confirm that a pentest was actually performed and its results are authentic.",
3
+ server.registerTool("turbopentest_verify_attestation", {
4
+ title: "Verify Pentest Attestation",
5
+ description: "Verify a blockchain-anchored penetration test attestation by its SHA-256 hash. " +
6
+ "Returns scan metadata (tier, agents, duration, risk score, finding summary) " +
7
+ "and blockchain proof (chain ID, transaction hash, block number, merkle root) if anchored. " +
8
+ "This is a public endpoint — no API key is required. " +
9
+ "Use this to independently confirm that a pentest was performed and its results are tamper-proof.",
10
+ annotations: {
11
+ readOnlyHint: true,
12
+ destructiveHint: false,
13
+ openWorldHint: true,
14
+ },
8
15
  inputSchema: z.object({
9
- hash: z.string().describe("The attestation hash to verify"),
16
+ hash: z
17
+ .string()
18
+ .describe("The SHA-256 attestation hash to verify. " +
19
+ "This hash is included in completed pentest reports and can be shared publicly for third-party verification."),
10
20
  }),
11
21
  }, async ({ hash }) => {
12
22
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"verify-attestation.js","sourceRoot":"","sources":["../../src/tools/verify-attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAA0B;IACrF,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,gEAAgE;YAChE,mDAAmD;YACnD,0FAA0F;QAC5F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC5D,CAAC;KACH,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE/C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3B,MAAM,KAAK,GAAG;gBACZ,gBAAgB,IAAI,EAAE;gBACtB,aAAa,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,4BAA4B,EAAE;gBACzF,EAAE;gBACF,sBAAsB;gBACtB,mBAAmB,CAAC,CAAC,UAAU,EAAE;gBACjC,mBAAmB,CAAC,CAAC,UAAU,EAAE;gBACjC,mBAAmB,CAAC,CAAC,UAAU,EAAE;gBACjC,mBAAmB,CAAC,CAAC,WAAW,UAAU;gBAC1C,mBAAmB,CAAC,CAAC,QAAQ,EAAE;gBAC/B,mBAAmB,CAAC,CAAC,SAAS,EAAE;gBAChC,mBAAmB,CAAC,CAAC,WAAW,EAAE;aACnC,CAAC;YAEF,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,CAAC,CAAC,cAAwC,CAAC;gBAC3D,KAAK,CAAC,IAAI,CACR,EAAE,EACF,aAAa,EACb,iBAAiB,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE,EACxC,iBAAiB,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,EACpC,iBAAiB,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,EACtC,iBAAiB,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,EACnC,iBAAiB,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CACrC,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,0BAA0B,EAC1B,mBAAmB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EACxC,mBAAmB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EACvC,mBAAmB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAC5C,mBAAmB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAC1C,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,iCAAiC,OAAO,EAAE;qBACjD;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"verify-attestation.js","sourceRoot":"","sources":["../../src/tools/verify-attestation.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -65,10 +65,7 @@ export interface ScanSummary {
65
65
  startedAt: string | null;
66
66
  completedAt: string | null;
67
67
  tier?: string | null;
68
- findings: {
69
- severity: string;
70
- fingerprint: string | null;
71
- }[];
68
+ severityCounts?: Record<string, number>;
72
69
  toolResults: {
73
70
  toolName: string;
74
71
  status: string;
@@ -122,10 +119,15 @@ export interface Attestation {
122
119
  export interface Domain {
123
120
  id: string;
124
121
  domain: string;
125
- token: string;
122
+ verificationToken: string;
126
123
  verifiedAt: string | null;
127
124
  expiresAt: string | null;
125
+ status: string;
128
126
  createdAt: string;
127
+ targets?: {
128
+ id: string;
129
+ fqdn: string;
130
+ }[];
129
131
  }
130
132
  export interface MultiDomainResponse {
131
133
  groupId: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@turbopentest/mcp-server",
3
- "version": "0.1.5",
4
- "description": "MCP server for TurboPentest \u00e2\u20ac\u201d AI-powered penetration testing from your coding assistant",
3
+ "version": "0.1.7",
4
+ "description": "MCP server for TurboPentest — AI-powered penetration testing from your coding assistant",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {