Skip to main content
Glama
Penthera: Cyber Security Agent

Penthera: Cyber Security Agent

Scan a repository

scan_repo
Read-onlyIdempotent

Runs an offline, read-only scan of a project folder for hardcoded secrets, risky code sinks, API routes, trust boundaries, runtime advisories, and security misconfigurations with file:line evidence.

Instructions

White-box scan of a local project folder: hardcoded secrets, code-execution sinks, API routes and trust boundaries, runtime versions with known advisories, and security headers, cookie flags, CORS and login rate limits as the code sets them. Offline and read-only. Returns findings with evidence at file:line and confidence labels.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "scan_repo"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathNoProject folder to scan, relative to the workspace root or absolute inside it. Default: the workspace root.
max_findingsNoHow many findings to return, most severe first (default 50).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive, idempotent, and closed-world, so the safety profile is covered. The description still adds real context beyond them: it is a static/white-box analysis of source, it works offline, and it returns findings anchored at file:line with confidence labels — the last point matters because there is no output schema. It omits cost/runtime characteristics and any limits on traversal depth.

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 verb and scope, and the long enumeration of checked categories is dense but each item is substantive. The only mild redundancy is "Offline" restating openWorldHint=false, which is defensible as reinforcement.

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, no-output-schema tool with annotations present, the description covers what is scanned, the execution model (offline, read-only, white-box), and the shape of the returned findings including evidence location and confidence. Minor gaps remain around behavior on an invalid or non-existent path and whether scanning recurses the whole tree.

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%, so both parameters (path with its workspace-relative/absolute rule and default, max_findings with severity ordering and default) are already fully documented. The description adds nothing about path resolution edge cases or how max_findings interacts with severity tiers, so the baseline of 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 ("White-box scan of a local project folder") and enumerates exactly what it inspects: hardcoded secrets, code-execution sinks, API routes, trust boundaries, runtime versions, and header/cookie/CORS/rate-limit settings. The "white-box" and "local project folder" framing distinguishes it from a remote-target sibling like scan_url without needing to name it.

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?

"White-box scan of a local project folder" plus "Offline and read-only" gives a clear selection signal: use this when the target is source code on disk rather than a live endpoint. It stops short of an explicit when-not statement or a direct pointer to an alternative, so the routing decision is implied rather than stated.

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