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.
| Tool | What it does |
|---|---|
security.list_apps | The apps this key can scan and read. Pass one as `app` to security.scan, security.list_scans and security.dast_scan. |
security.scan | Run a scanner against a registered app: sast, sca, secrets, iac, kspm, apisec, container or dast. Defaults to every code scanner; DAST is left out because it sends live traffic to a running system. Results are deduplicated and saved to your workspace. |
security.list_findings | List a scan’s findings, optionally filtered to a minimum severity, with file, line and classification. |
security.get_finding | One finding in full. |
security.get_scan | Re-read a scan by id: status, who triggered it, and its findings. |
security.list_scans | An app’s scan history, showing the kind, status and key label behind each run. |
list_remediations | This app’s remediation plans, newest first: which finding each covers and its state. |
get_remediation_plan | The full remediation plan for a finding: objective, where to change, impact, steps, constraints, test plan and definition of done. It contains no code and no diff; your agent makes the change. |
get_test_plan | Just the test plan: numbered test obligations, who owns each, and the rule for passing. |
request_verification | After the change is pushed, ask Sentrasec to re-scan that commit and check the test plan’s obligations against it. |
security.explain | Explain a vulnerability by its knowledge-graph node id: description, CWE, OWASP mapping and remediation guidance. |
security.explain_iac_finding | Why an IaC finding was raised: the resource, the rule, the value observed, what was expected, and how risk was scored. |
security.scan_local | Scan a local directory in-process, without an app or credentials. Results stay in the session. Prefer security.scan once an app is registered. |
security.list_findings_local | List findings from a security.scan_local run. |
security.get_finding_local | One finding from a security.scan_local run, in full. |
security.fix | For local scans only: propose a tier-1 autofix diff for a finding. Dry run by default, so your agent can review it; apply=true writes the diff to your working copy. |
security.dast_scan | Probe a URL that is not yet registered as an app. Prefer security.scan with kind=dast when the app exists. |
security.list_rules | List the detection rules available in the engine. |
security.list_languages | List the languages the scanners support, with tier and parser status. |
security.version | Return the running sentrasec-mcp server version. |
security.issue_cert | Issue a scan certificate covering a set of scans. It is unsigned today, so treat it as a scan summary, not an attestation a third party can verify. |
security.verify_cert | Look up a 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:
| kind | What it runs |
|---|---|
sast | Taint-tracking static analysis — injection, unsafe sinks, hardcoded credentials. |
sca | Lockfile dependency inventory, including AI/LLM package classification. |
secrets | Provider-shaped credential detection. Matches are redacted in output. |
iac | Dockerfile, Kubernetes, Terraform, CloudFormation, Bicep, Helm misconfiguration. |
container | Image build posture from a registry ref or OCI tar, with a hygiene score. |
kspm | Kubernetes posture against CIS checks. |
apisec | OpenAPI contract analysis — BOLA and authorisation-shape candidates. |
dast | Live probing of a running URL for web 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.
Remediation plans
Sentrasec writes a remediation plan and a test plan for a finding. You generate it from the finding's Remediation tab in the dashboard. The agent reads it with get_remediation_plan or get_test_plan, makes the change, and runs the tests. The plan contains no code and no diff. After the fix is pushed, request_verification asks Sentrasec to re-scan that commit. list_remediations lists an app's plans.
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.
