Skip to main content
Glama

@turbopentest/mcp-server

MCP server for TurboPentest — launch AI-powered penetration tests, review vulnerability findings, and generate security reports, all without leaving your coding assistant.

What it does

Ask your AI assistant to run a pentest, check progress, and walk you through remediation — the server handles all the API calls. Every completed scan is anchored to the blockchain, giving you a tamper-proof attestation you can share with customers or auditors.

Related MCP server: redteam-mcp

Quick start

1. Get your API key

Sign up and create an API key at turbopentest.com/settings/api-keys.

2. Verify a domain

Before scanning, verify that you own the target domain at turbopentest.com/domains.

3. Add the server to your MCP client

Claude Code (.mcp.json in your project root):

{
  "mcpServers": {
    "turbopentest": {
      "command": "npx",
      "args": ["@turbopentest/mcp-server"],
      "env": {
        "TURBOPENTEST_API_KEY": "tp_live_..."
      }
    }
  }
}

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "turbopentest": {
      "command": "npx",
      "args": ["@turbopentest/mcp-server"],
      "env": {
        "TURBOPENTEST_API_KEY": "tp_live_..."
      }
    }
  }
}

Cursor (Settings > MCP Servers > Add):

{
  "command": "npx",
  "args": ["@turbopentest/mcp-server"],
  "env": {
    "TURBOPENTEST_API_KEY": "tp_live_..."
  }
}

OpenAI Codex CLI (~/.codex/config.toml, or run codex mcp add turbopentest -- npx @turbopentest/mcp-server and set the env var when prompted):

[mcp_servers.turbopentest]
command = "npx"
args = ["@turbopentest/mcp-server"]

[mcp_servers.turbopentest.env]
TURBOPENTEST_API_KEY = "tp_live_..."

Then run /mcp inside Codex to confirm turbopentest is listed. Codex's MCP client doesn't support the "prompts" primitive, so the four guided workflows are also exposed as plain tools (turbopentest_workflow_*, see below) and described in this repo's AGENTS.md, which Codex reads automatically.

Example session

You:    "Run a standard pentest on staging.example.com"
Claude: Checks domain is verified, confirms credit balance,
        calls start_pentest → "Started tp_abc123, 4 agents, ~1 hour"

You:    "Any findings yet?"
Claude: Calls get_pentest → "62% complete — 3 findings (1 high, 2 medium)"

You:    "Show me the high severity ones"
Claude: Calls get_findings(severity: "high") →
        [1] HIGH: SQL Injection in /api/search
            CVSS: 8.6 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N)
            CWE: CWE-89
            PoC: POST /api/search?q=' OR 1=1--
            Remediation: Use parameterized queries...
            Retest: sqlmap -u "https://staging.example.com/api/search" ...

You:    "Give me a prioritized remediation plan"
Claude: Uses the analyze_findings prompt → produces a full markdown
        remediation plan grouped by severity and effort

White-box scanning

Pass a GitHub repository URL to start_pentest to enable white-box mode. In addition to black-box testing, the scan will include:

  • SAST — static code analysis for common vulnerability patterns

  • Secret detection — leaked API keys, credentials, and tokens in source

  • SCA — dependency audit for known CVEs

You:  "Pentest staging.example.com, the repo is github.com/myorg/myapp"

Tools

Tool

Description

turbopentest_start_pentest

Launch a pentest against a verified domain. Supports four tiers and optional GitHub repo for white-box scanning.

turbopentest_get_pentest

Get scan status, progress, findings summary, executive summary, attack surface map, and STRIDE threat model.

turbopentest_list_pentests

List all pentests with status and finding counts. Filterable by status.

turbopentest_get_findings

Retrieve structured findings with severity, CVSS, CWE, OWASP category, PoC, remediation steps, and retest commands. Filterable by severity.

turbopentest_download_report

Download a report in markdown (best for AI), JSON, or PDF format.

turbopentest_get_credits

Check your credit balance and available scan tiers with pricing.

turbopentest_verify_attestation

Verify a blockchain-anchored attestation by SHA-256 hash. No API key required — public endpoint.

turbopentest_list_domains

List your verified domains and their verification status.

turbopentest_workflow_run_pentest

Returns the run_pentest workflow instructions as tool output (for clients without prompts support, e.g. Codex).

turbopentest_workflow_analyze_findings

Returns the analyze_findings workflow instructions as tool output.

turbopentest_workflow_compare_pentests

Returns the compare_pentests workflow instructions as tool output.

turbopentest_workflow_security_posture

Returns the security_posture workflow instructions as tool output.

Security note: turbopentest_start_pentest checks domain verification itself before calling the API — it will refuse (isError: true) to launch against a target whose domain isn't verified on your account, rather than relying solely on the agent to check first.

Prompts

Built-in prompts guide your AI assistant through multi-step workflows. Invoke them by name in any MCP client that supports prompts (Claude Code, Claude Desktop, Cursor). In clients that only support tools (Codex), use the matching turbopentest_workflow_* tool above instead — the text is identical.

Prompt

Equivalent tool

Description

run_pentest

turbopentest_workflow_run_pentest

Full-lifecycle pentest: domain check → credit verification → launch → progress monitoring → findings summary → report download

analyze_findings

turbopentest_workflow_analyze_findings

Deep-dive analysis of a single pentest's findings, producing a prioritized remediation plan with effort estimates and retest commands

compare_pentests

turbopentest_workflow_compare_pentests

Diff two pentests on the same target — shows what's new, what's been fixed, and what's still unresolved

security_posture

turbopentest_workflow_security_posture

Executive briefing across your 5 most recent pentests: risk trends, highest-risk targets, and top 3 recommended actions

Scan tiers

Tier

Agents

Duration

Price

Recon

1

~30 min

$49

Standard

4

~1 hour

$99

Deep

10

~2 hours

$299

Blitz

20

~4 hours

$699

Default tier is standard. Use recon for a quick surface sweep or blitz for maximum coverage on critical assets.

Blockchain attestation

Every completed pentest is anchored on-chain as a tamper-proof attestation. The SHA-256 hash is included in the report and can be independently verified — by you, your customers, or auditors — with no API key required:

You:  "Verify attestation abc123def456..."

turbopentest_verify_attestation returns the scan metadata (tier, agents, duration, risk score, findings summary) alongside the blockchain proof (chain ID, transaction hash, block number, merkle root).

Configuration

Variable

Required

Default

Description

TURBOPENTEST_API_KEY

Yes

—

API key from turbopentest.com/settings/api-keys

TURBOPENTEST_API_URL

No

https://turbopentest.com/api

Override the API base URL (for testing)

Requirements

  • Node.js 18+

  • A TurboPentest account with at least one verified domain

Using with OpenAI Codex

See docs/CODEX.md for the full Codex guide — configuration, the tool list, the authorization model, and why the guided workflows are exposed as turbopentest_workflow_* tools instead of MCP prompts.

Privacy & support

Your API key is sent only to turbopentest.com/api as a bearer token over HTTPS. It is never logged and never transmitted anywhere else. Customer pentest content is not used to train public AI models.

License

MIT

Available Tools

12 tools
turbopentest_download_reportDownload Pentest ReportA
Read-only

Download a full penetration test report in the specified format. The scan must have status 'complete' before a report can be generated. Use format 'markdown' for AI-readable analysis, 'json' for structured programmatic data, or 'pdf' for a professionally formatted document suitable for stakeholders.

NameRequiredDescriptionDefault
formatYesThe output format for the report. 'markdown': human and AI-readable text — best for analysis and summarization. 'json': structured data with all fields — best for programmatic processing. 'pdf': professionally formatted document — best for sharing with stakeholders (returns a download URL).
pentest_idYesThe unique identifier (UUID) of the completed penetration test to generate a report for. Returned by turbopentest_start_pentest or turbopentest_list_pentests.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's marginal job is to add the state prerequisite, which it does ('must have status complete before a report can be generated'). That is useful non-obvious behavior; the only minor gap is not stating whether download is synchronous or costs credits, but with annotations covering the safety profile this is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action, then the precondition, then the format decision guidance — no filler and every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter read-only tool with full schema coverage and safety annotations, the description covers the key gating condition and format choice. It could note the asynchronous nature or that pdf yields a URL rather than inline content, but the schema already carries that detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the format enum is already fully documented in the schema, including the pdf-returns-URL detail. The description repeats the format guidance rather than adding new syntax or constraints, so it lands at the baseline for a well-documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (download) and resource (full penetration test report) plus the format dimension, which clearly distinguishes it from siblings like turbopentest_get_findings or turbopentest_get_pentest that return raw scan data rather than a formatted report.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete precondition — the scan must have status 'complete' — which tells the agent when the call will succeed, and it explains which format to pick for which use case. It stops short of explicitly naming alternatives, but the gating condition and format routing are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_get_creditsGet Credit BalanceA
Read-only

Check your current credit balance, usage breakdown by tier, and available scan tiers with pricing. Credits are consumed when launching penetration tests — each tier costs one credit of the matching type. Call this before turbopentest_start_pentest to verify you have sufficient credits for the desired tier.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a safe read-only, non-destructive, closed-world operation, and the description adds valuable domain context: credits are consumed on launch and each tier costs one credit of the matching type. This economics model is genuinely useful and not in the structured fields. Slightly short of a 5 because it doesn't mention whether the call itself costs anything or whether balances are cached/stale.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both front-loaded with actionable information: what you get, then when to call it. The credit-consumption clause earns its place because it explains the precondition's rationale; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description enumerates the return contents (balance, per-tier usage, available tiers with pricing), and the only sibling it interacts with is named. For a zero-param read tool, an agent has everything needed to call it and use the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing to document and the baseline of 4 applies. The description correctly focuses its language on return-value contents rather than inventing parameter behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('check') and precisely enumerates the resources returned: credit balance, usage breakdown by tier, and available scan tiers with pricing. This is clearly distinguishable from siblings like start_pentest or get_pentest, which deal with actual scans.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent when to call it ('before turbopentest_start_pentest') and why ('to verify you have sufficient credits for the desired tier'). The alternative — just launching the test — is implicitly excluded by this precondition, leaving nothing to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_get_findingsGet Vulnerability FindingsA
Read-only

Retrieve structured vulnerability findings for a completed penetration test. Each finding includes severity, CVSS score, CWE classification, detailed description, proof of concept, remediation steps, and a retest command. Returns up to 20 findings at a time — use the severity filter to focus on specific risk levels. Use turbopentest_download_report for a complete exportable report.

NameRequiredDescriptionDefault
severityNoFilter findings by severity level. 'critical': exploitable vulnerabilities with severe business impact. 'high': significant vulnerabilities requiring prompt remediation. 'medium': moderate-risk issues that should be addressed. 'low': minor issues with limited impact. 'info': informational observations and hardening suggestions.
pentest_idYesThe unique identifier (UUID) of the penetration test to retrieve findings for. Returned by turbopentest_start_pentest or turbopentest_list_pentests.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, non-destructive and closed-world, so safety needs no repeating. The description adds the useful 'up to 20 findings at a time' cap but never explains how to retrieve the rest — and the schema has no pagination, offset or cursor parameter, so the limit disclosure creates a question it does not answer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action and returning payload before the limit and the alternative. The field enumeration is slightly long but earns its place since there is no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description responsibly enumerates what a finding contains (severity, CVSS, CWE, PoC, remediation). The one real gap is the unexplained 20-item cap versus an absent pagination parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both pentest_id and the severity enum are fully documented, including per-level definitions. The description only restates the severity filter's purpose, adding no format, default or combined-filter guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (retrieve), resource (vulnerability findings) and scope (a completed penetration test). That scope distinguishes it from sibling tools that start or analyze tests, and the enumerated field list makes the payload concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives two concrete routing cues: use the severity filter to focus on risk levels, and use turbopentest_download_report for a full exportable report. It does not mention when to prefer turbopentest_workflow_analyze_findings instead, which is the closest ambiguous sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_get_pentestGet Penetration Test DetailsA
Read-only

Retrieve full details for a specific penetration test by its ID. Returns current status, scan progress percentage, findings summary by severity, executive summary, attack surface map, and STRIDE threat model. Use this to monitor a running scan or review completed results. For detailed vulnerability data, follow up with turbopentest_get_findings.

NameRequiredDescriptionDefault
pentest_idYesThe unique identifier (UUID) of the penetration test. Returned by turbopentest_start_pentest or turbopentest_list_pentests.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by listing the returned sections and noting progress percentage is available, which tells the agent this is safe to poll during a run. It does not discuss response size or rate limits for polling, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences: purpose, payload contents, then usage and routing. The payload enumeration is front-loaded and every clause carries information the agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe return values — and it does so by naming the key sections (status, progress, findings summary, executive summary, attack surface, STRIDE). Combined with the follow-up pointer to get_findings, an agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage on the single pentest_id parameter, the schema already explains the UUID format and where to obtain it. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Retrieve full details for a specific penetration test by its ID') and enumerates what the response contains (status, progress, severity summary, attack surface, STRIDE model). This clearly separates it from turbopentest_get_findings, which is named as the drill-down sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives two usage contexts ('monitor a running scan or review completed results') and routes the agent to turbopentest_get_findings for detailed vulnerability data. It stops short of stating when not to use it (e.g., listing many tests via turbopentest_list_pentests), but the routing guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_list_domainsList Verified DomainsA
Read-only

List all domains in your account with their verification status and expiry dates. A domain must have status 'verified' before it can be used as a target in turbopentest_start_pentest. To verify a new domain, add a DNS TXT record via the TurboPentest dashboard at turbopentest.com/domains.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that: what fields come back and the account-level scope. It omits any note on result size or pagination, which keeps it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what the tool returns, followed by the prerequisite and the out-of-band verification path. Nothing is redundant with the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only list tool with no output schema, the description covers the returned fields, the account scope, and the downstream dependency on turbopentest_start_pentest. An agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4 and the input schema is trivially complete. No param guidance is needed in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (domains) and names exactly what is returned: verification status and expiry dates. No sibling tool covers domains, so there is no ambiguity with turbopentest_get_pentest or turbopentest_get_findings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context: a domain must be 'verified' to be used with turbopentest_start_pentest, and points out that verification is done out-of-band via the dashboard DNS TXT record. It does not state a 'when not to use' case, but there is no competing tool to exclude.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_list_pentestsList Penetration TestsA
Read-only

List all your penetration tests with their status and finding counts, ordered newest first. Use this to find pentest IDs, check which scans are running, or review past results. Supports filtering by status and limiting result count. Use turbopentest_get_pentest with a specific ID for full details.

NameRequiredDescriptionDefault
limitNoMaximum number of penetration tests to return, between 1 and 100. Defaults to 10.
statusNoFilter results by scan status. 'queued': waiting to start. 'scanning': currently running. 'complete': finished successfully. 'failed': terminated with an error.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=true, destructive=false, and closed-world, so the safety profile is covered. The description adds useful context beyond that: default ordering is newest-first and each record includes status and finding counts, which tells the agent what the response looks like even without an output schema. It stops short of stating pagination behavior or whether results are scoped to the caller's account, leaving a small gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the core behavior, then use cases, then the sibling alternative. Every sentence carries distinct information with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only list tool with full schema coverage and no output schema, the description supplies return contents and default ordering, which is what the agent needs. Nothing required to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both the limit range and every status enum value. The description only restates that filtering by status and limiting results are supported, adding no syntax or behavioral detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all your penetration tests') plus the return contents (status, finding counts) and ordering (newest first). It also distinguishes itself from turbopentest_get_pentest, which returns full details for a single ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives three concrete use cases (find pentest IDs, check running scans, review past results) and explicitly names the alternative turbopentest_get_pentest with the condition that selects it. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_start_pentestStart Penetration TestA

Launch an AI-powered penetration test against a target URL. The target domain must be verified first — this tool checks turbopentest_list_domains itself and will refuse (isError) to launch against an unverified domain, so there is no need to bypass this check. Requires an available credit matching the selected tier — use turbopentest_get_credits to check balance. Returns a pentest ID that can be used with turbopentest_get_pentest to monitor progress.

NameRequiredDescriptionDefault
tierNoScan tier that determines scope and depth. 'recon': 1 agent, ~30 min — quick surface-level reconnaissance. 'standard': 4 agents, ~1 hr — balanced coverage for most targets (default). 'deep': 10 agents, ~2 hrs — thorough testing for production applications. 'blitz': 20 agents, ~4 hrs — maximum coverage for critical assets.standard
repo_urlNoOptional GitHub repository URL (e.g. 'https://github.com/org/repo') to enable white-box scanning. When provided, the scan includes SAST (static analysis), secret detection, and SCA (dependency audit) in addition to black-box testing.
target_urlYesThe full URL of the target to scan, including protocol (e.g. 'https://example.com'). The domain must be verified in your TurboPentest account before scanning.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnly=false, destructive=false, openWorld=true; the description adds real behavioral detail beyond that — the tool self-checks domain verification and returns isError rather than launching, and it consumes a credit tied to the tier. It does not describe what happens after launch beyond returning an ID, but that is low risk for a non-destructive, open-world operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the action, then preconditions, then the return value. The aside 'so there is no need to bypass this check' is slightly redundant once the refusal behavior is stated, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the action, both hard preconditions, the failure mode, and the returned handle for monitoring — everything needed to call it correctly with no output schema present. Minor gaps are the lack of any cost magnitude or concurrency limit, which the tier enum partly offsets.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: the tier selection determines which credit is consumed, tying a parameter to a real precondition. The repo_url white-box behavior is already in the schema, so no credit there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Launch an AI-powered penetration test against a target URL') plus the scope implied by the tier enum. It is clearly distinguishable from siblings like turbopentest_workflow_run_pentest or turbopentest_list_pentests because it launches a new scan rather than reading or orchestrating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear preconditions: the domain must be verified and a credit must be available, and it points at turbopentest_get_credits and turbopentest_get_pentest for the surrounding steps. It stops short of contrasting against turbopentest_workflow_run_pentest, so an agent must infer which launch path applies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_verify_attestationVerify Pentest AttestationA
Read-only

Verify a blockchain-anchored penetration test attestation by its SHA-256 hash. Returns scan metadata (tier, agents, duration, risk score, finding summary) and blockchain proof (chain ID, transaction hash, block number, merkle root) if anchored. This is a public endpoint — no API key is required. Use this to independently confirm that a pentest was performed and its results are tamper-proof.

NameRequiredDescriptionDefault
hashYesThe SHA-256 attestation hash to verify. This hash is included in completed pentest reports and can be shared publicly for third-party verification.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, openWorld, and non-destructive. The description adds valuable context beyond them: it is a public unauthenticated endpoint and returns metadata plus blockchain proof only if anchored. It could mention rate limits or behavior for unknown hashes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the core action followed by return contents and public-access note. No wasted phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool without an output schema, the description covers input semantics, return contents, authentication requirements, and the anchoring condition. An agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single hash parameter is fully documented in the schema as the SHA-256 attestation hash included in reports. The description only restates that it is a SHA-256 hash, adding no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Verify a blockchain-anchored penetration test attestation by its SHA-256 hash') and clearly distinguishes this lookup/verification action from sibling workflows like get_pentest or download_report.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the use case ('independently confirm that a pentest was performed and its results are tamper-proof') and notes it is public with no API key. It lacks explicit when-not-to-use guidance or named alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_workflow_analyze_findingsWorkflow: Analyze FindingsA
Read-only

Returns step-by-step instructions for producing a prioritized remediation plan from a completed pentest's findings. Use this in MCP clients (like Codex) that don't support the 'analyze_findings' MCP prompt directly.

NameRequiredDescriptionDefault
pentest_idYesThe pentest ID (UUID) to analyze

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful context by clarifying the tool returns instructions rather than performing the analysis, and explains why it exists as a prompt workaround. It doesn't describe the shape of the returned instructions, but that's a minor gap given annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core behavior, with the client-compatibility guidance following. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only workflow tool with full schema coverage and no output schema, the description tells the agent exactly what it will get back (instructions) and why it exists. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single pentest_id parameter is fully documented in the schema. The description adds a semantic constraint beyond the schema by tying the input to a 'completed' pentest, implying the ID must reference a finished engagement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: returns step-by-step instructions for producing a prioritized remediation plan from a pentest's findings. An agent can distinguish this from data-retrieval siblings like turbopentest_get_findings, which return raw findings rather than workflow instructions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names a clear triggering condition: use it in MCP clients such as Codex that don't support the 'analyze_findings' prompt directly. The alternative (the native prompt) is identified, though it doesn't state when to prefer raw get_findings data instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_workflow_compare_pentestsWorkflow: Compare PentestsA
Read-only

Returns step-by-step instructions for diffing two pentests on the same target to show what's new, fixed, and persistent. Use this in MCP clients (like Codex) that don't support the 'compare_pentests' MCP prompt directly.

NameRequiredDescriptionDefault
current_idYesThe later pentest ID (UUID) to compare against baseline
baseline_idYesThe earlier pentest ID (UUID) to use as baseline

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds important context by clarifying that this tool returns instructions rather than performing the comparison itself, which is behavior beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loads the tool's output behavior, and then gives the client compatibility condition. Every sentence contributes useful information without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, read-only workflow helper with full schema coverage and no output schema, the description is mostly complete. It explains what is returned and when to use the tool, though it could say more about the shape of the returned instructions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both baseline_id and current_id documented as earlier and later pentest UUIDs. The description adds only that the pentests should be on the same target and implies baseline/current ordering; it does not add syntax or format details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: it returns step-by-step instructions for diffing two pentests on the same target. It also clarifies that the output shows what's new, fixed, and persistent, distinguishing this workflow helper from direct pentest retrieval tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use this in MCP clients like Codex that don't support the 'compare_pentests' MCP prompt directly. That gives a clear condition, though it does not name any sibling tool alternatives or exclusion cases beyond the unsupported prompt.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_workflow_run_pentestWorkflow: Run PentestA
Read-only

Returns step-by-step instructions for running a full-lifecycle pentest against a target: domain verification, credit check, launch, progress monitoring, findings summary, and report offer. Use this in MCP clients (like Codex) that don't support the 'run_pentest' MCP prompt directly.

NameRequiredDescriptionDefault
tierNoTier: recon (1 agent, 30min), standard (4 agents, 1hr), deep (10 agents, 2hr), blitz (20 agents, 4hr)standard
target_urlYesThe target URL to test (must be a verified domain)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered and the description is consistent with it (it returns instructions, not actions). It adds useful context beyond that: the step sequence including a credit check and domain-verification gate implies prerequisites and potential cost. It does not disclose the shape of the returned instructions or behavior when the target domain is unverified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero padding. The purpose and the full lifecycle scope come first, and the client-compatibility condition is placed last where it belongs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter workflow-guidance tool with a fully documented schema and no output schema, this is nearly complete: it says what it returns, what the sequence covers, and when to prefer it. A brief note on what the instructions reference (e.g. that they call the start_pentest/get_findings tools) would close the last gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the tier enum is fully documented in the schema (agent counts and durations), so the baseline of 3 applies. The description adds only 'against a target' and echoes the verified-domain requirement that the schema already states. No extra meaning about tier selection trade-offs is provided in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Returns step-by-step instructions') and enumerates the lifecycle it covers: domain verification, credit check, launch, progress monitoring, findings summary, report offer. It also makes clear it is a guidance tool rather than an executor, which separates it from turbopentest_start_pentest. It stops short of explicitly naming that sibling as the alternative, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use condition and a counterfactual: use this in MCP clients (like Codex) that don't support the 'run_pentest' MCP prompt. That routes the agent meaningfully. It doesn't address when an agent should instead call turbopentest_start_pentest / get_pentest / get_findings directly, which are the obvious sibling alternatives for a client that does support multi-step calls.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

turbopentest_workflow_security_postureWorkflow: Security PostureA
Read-only

Returns step-by-step instructions for producing an executive security posture briefing across the 5 most recent pentests. Use this in MCP clients (like Codex) that don't support the 'security_posture' MCP prompt directly.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a safe, read-only, non-destructive, closed-world operation. The description adds important behavioral context by clarifying that it returns step-by-step instructions rather than performing the briefing or pentest itself, and that the scope is the 5 most recent pentests. It does not detail the instruction format or whether fewer than five pentests changes the output, but the key behavior is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no wasted language. It front-loads the primary purpose and then provides the client-compatibility condition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter workflow-instruction tool with no output schema, the description is nearly complete: it states what is returned, the scope of pentests, and the client condition. A minor gap is that it does not describe the structure or limitations of the returned instructions, but the essential information for correct invocation is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter semantics for the description to compensate for. The baseline for a zero-parameter tool is 4, and the description does not need to explain parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: it returns step-by-step instructions for producing an executive security posture briefing across the 5 most recent pentests. This clearly distinguishes the tool from data-fetching and pentest-execution siblings by emphasizing that it generates guidance rather than running analysis itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use this in MCP clients that don't support the 'security_posture' MCP prompt directly, which gives a clear usage condition and implies the prompt is the alternative when supported. It does not explicitly state when not to use the tool or mention sibling workflow tools as alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 20 tool updatesv0.3.0
    • Removeddownload_report
    • Removedget_credits
    • Removedget_findings
    • Removedget_pentest
    • Removedlist_domains
    • Removedlist_pentests
    • Removedstart_pentest
    • Addedturbopentest_download_report
    • Addedturbopentest_get_credits
    • Addedturbopentest_get_findings
    • Addedturbopentest_get_pentest
    • Addedturbopentest_list_domains
    • Addedturbopentest_list_pentests
    • Addedturbopentest_start_pentest
    • Addedturbopentest_verify_attestation
    • Addedturbopentest_workflow_analyze_findings
    • Addedturbopentest_workflow_compare_pentests
    • Addedturbopentest_workflow_run_pentest
    • Addedturbopentest_workflow_security_posture
    • Removedverify_attestation
  2. 8 tool updatesv0.1.5
    • First observeddownload_report
    • First observedget_credits
    • First observedget_findings
    • First observedget_pentest
    • First observedlist_domains
    • First observedlist_pentests
    • First observedstart_pentest
    • First observedverify_attestation

TDQS

A4.2/5.0

Scored across 12 tools

Disambiguation4/5

The four workflow_* tools return instructions rather than performing actions, and are clearly distinguished from the actual action tools (start_pentest, get_findings) by their descriptions. Minor overlap risk exists — an agent could confuse workflow_run_pentest with start_pentest, or workflow_analyze_findings with get_findings — but the descriptions explicitly clarify each tool's role.

Naming Consistency4/5

All names use snake_case with a consistent turbopentest_ prefix followed by verb_noun (get_credits, list_domains, start_pentest, get_pentest, get_findings, download_report). The workflow_* group inserts a noun segment before the verb, which is a minor deviation but is internally consistent across all four tools.

Tool Count5/5

Twelve tools is well within a comfortable range and each tool maps to a distinct operation in the pentest lifecycle. No redundant or filler tools are present.

Completeness4/5

The surface covers credits, domain listing, launching, listing, monitoring, findings retrieval, reporting, and attestation verification — a strong full-lifecycle flow. Minor gaps exist: domain addition/verification must be done via the dashboard, and there is no tool to cancel or delete a running pentest, but these are workable.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that integrates various penetration testing tools, enabling security professionals to perform reconnaissance, vulnerability scanning, and API testing through natural language commands in compatible LLM clients like Claude Desktop.
    7
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A penetration testing MCP server that runs 20 hacking tools inside a Kali Linux Docker container, enabling AI assistants to execute security scans and attacks via natural language.
    2
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    AI-powered penetration testing framework that can operate as an MCP server, enabling automated security assessments through natural language commands.
    2
    MIT