Skip to content
sentrasec

Tools

What the Sentrasec MCP server makes available to your agent.

These tools run against your authenticated workspace over stdio. No network port is opened, and the server acts as you, so an agent cannot reach findings you cannot.

ToolWhat it does
security.scanRun any scanner against a registered app: sast, sca, secrets, iac, kspm, apisec, container or dast. Defaults to all, which means every code scanner — DAST is excluded because it sends live traffic to a running system. Results are deduplicated, saved to your workspace and attributed to the key that ran them.
security.list_findingsList a scan’s findings, optionally filtered to a minimum severity. Each carries file, line, classification and remediation.
security.get_findingOne finding in full, including the agent fix prompt — a specific instruction with acceptance criteria for fixing that exact finding.
security.get_scanRe-read a scan by id: status, who triggered it, and its findings.
security.list_scansAn app’s scan history, showing the kind, status and key label behind each run.
security.scan_localScan a local directory in-process, without an app or credentials. Results stay in the session and feed straight into security.fix. Prefer security.scan once an app is registered — only that path deduplicates, enriches and files results to your workspace.
security.list_findings_localList findings from a security.scan_local run. The offline counterpart to security.list_findings — not enriched with a fix prompt or CWE/OWASP mapping.
security.get_finding_localOne finding from a security.scan_local run, in full. The offline counterpart to security.get_finding, and the triage step before security.fix.
security.fixApply a tier-1 autofix to a finding from security.scan_local, closing the scan-triage-fix-rescan loop without leaving MCP. Returns a diff; dry run by default, apply=true writes it.
security.explainExplain a vulnerability by its knowledge-graph node id: description, CWE, OWASP mapping and remediation.
security.dast_scanProbe a URL that is not yet registered as an app. Prefer security.scan with kind=dast when the app exists, so history accumulates against it.
security.list_rulesList the detection rules available in the engine.
security.list_languagesList the languages the scanners support, with tier and parser status.
security.versionReturn the running sentrasec-mcp server version.
security.issue_certIssue a pentest certificate covering a set of scans. Ed25519 signing is not wired yet, so the certificate is unsigned today — treat it as a scan summary, not as an attestation a third party can verify.
security.verify_certVerify a security certificate by id, returning its grade and validity.

Scanners behind security.scan

security.scan takes a kind. Each one is a different engine, so naming the right one narrows a large repository to the answer you want:

kindWhat it runs
sastTaint-tracking static analysis — injection, unsafe sinks, hardcoded credentials.
scaLockfile dependency inventory, including AI/LLM package classification.
secretsProvider-shaped credential detection. Matches are redacted in output.
iacDockerfile, Kubernetes, Terraform, CloudFormation, Bicep, Helm misconfiguration.
containerImage build posture from a registry ref or OCI tar, with a hygiene score.
kspmKubernetes posture against CIS checks.
apisecOpenAPI contract analysis — BOLA and authorisation-shape candidates.
dastLive probing of a running URL across 13 vulnerability families.

all is the default and means every code scanner. DAST is excluded from it deliberately, because it sends live traffic to a running system — ask for dast explicitly when that is what you want.

SCA reports inventory, not CVEs, today. Turning a dependency list into vulnerability findings needs graph enrichment, which is currently disabled, so a scan returns no SCA findings even against a known-vulnerable pinned version. Do not tell a user their dependencies are clean on the strength of that — say they were not checked.

How agents use them

Tools follow the standard MCP schema, so your client discovers them automatically once the server starts. You ask in plain language and the agent picks the right one:

Scan this project and tell me whether anything is exploitable in production.

There is no need to name a tool or learn its arguments. The agent selects and calls them, then explains the result in context.