Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Pretorin Compliance

PYPI · PRETORIN · SCANNED SEP 22

Access Pretorin controls, evidence, narratives, and local Plan-backed Campaigns from AI tools.

Available components

+1 this week 63 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security50
  • Malware scan not yet available for this package.Unverified
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 6 of 71 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
  • Repository check failed: the declared repository URL redirects; it must resolve directly. See how to fix → View diagnostics → Fail
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 39124 tokens (~133/item across 293 items; 270 tools + 23 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage93
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 78% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 9 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete_evidence" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 272 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the Pretorin Compliance MCP server?

Pretorin Compliance runs locally as a PyPI package, launched with uvx pretorin. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · pretorin

# add to Claude Code
claude mcp add pretorin-ai-pretorin -- uvx pretorin
// .cursor/mcp.json
{
  "mcpServers": {
    "pretorin-ai-pretorin": {
      "command": "uvx",
      "args": [
        "pretorin"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "pretorin-ai-pretorin": {
      "command": "uvx",
      "args": [
        "pretorin"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add pretorin-ai-pretorin -- uvx pretorin
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "pretorin-ai-pretorin": {
      "type": "local",
      "command": [
        "uvx",
        "pretorin"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add pretorin-ai-pretorin --command uvx --arg pretorin
# ~/.hermes/config.yaml
mcp_servers:
  pretorin-ai-pretorin:
    command: "uvx"
    args: ["pretorin"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "pretorin-ai-pretorin": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "pretorin"
      ]
    }
  }
}
# add to Vellum
assistant mcp add pretorin-ai-pretorin -t stdio -c uvx -a pretorin
// mcp.json
{
  "mcpServers": {
    "pretorin-ai-pretorin": {
      "command": "uvx",
      "args": [
        "pretorin"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 22 Sept 26 −14
    • Malware scan: pass → unverified security
    • Package version: 0.29.17 → 0.29.18 functional
  • 21 Sept 26 +15
    • Stability: 0.90 → unverified security
    • Tool safety: pass → unverified security
    • Malware scan: unverified → pass security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: 100 → unverified functional
    • Package version: 0.29.14 → 0.29.17 functional
    • Package version: 0.29.14 → 0.29.16 functional
    • Package version: 0.29.14 → 0.29.15 functional
  • 20 Sept 26 0
    • Package version: 0.29.13 → 0.29.14 functional
  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −2
    • Stability: fail → 0.83 functional
    • Package version: 0.29.10 → 0.29.13 functional
    • Package version: 0.29.10 → 0.29.12 functional
    • Package version: 0.29.10 → 0.29.11 functional
  • 17 Sept 26 0
    • Package version: 0.29.9 → 0.29.10 functional
  • 16 Sept 26 +1
    • Package version: 0.29.8 → 0.29.9 functional
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 86 to 89.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Sept 2026 · Analysed pypi/pretorin@0.29.18

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 71 packages
Packages resolved 71
Stale 4
No linked repository 2
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 270 exposed · ~37,576 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
list_risks ~81

List risks in a system's risk register. Resolve the active system before calling. Optional filters: category, risk_level, status.

NameTypeReqDescription
categorystringOptional category filter
risk_levelstringOptional risk-level filter
statusstringOptional status filter
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

list_stig_checklists ~120

List STIG checklists for a system (per-asset: benchmark, asset identity, title). Use to discover an existing checklist_id before export/import, or to confirm one exists for a (benchmark, asset) pair before creating a new one.

NameTypeReqDescription
inventory_item_idstringOptional: filter to one asset's checklists by inventory item ID
limitintegerMax results per page (1–500)
offsetintegerPagination offset
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

list_stig_rules ~89

List rules for a STIG benchmark with optional severity and CCI filters.

NameTypeReqDescription
cci_idstringFilter by CCI identifier
limitintegerMax results to return
offsetintegerOffset for pagination
severitystringFilter by severity (high, medium, low)
stig_idstringyesThe STIG benchmark ID

No output schema declared.

No examples provided.

list_stigs ~66

List STIG benchmarks with optional filters by technology area or product.

NameTypeReqDescription
limitintegerMax results to return
offsetintegerOffset for pagination
productstringFilter by product name
technology_areastringFilter by technology area

No output schema declared.

No examples provided.

list_systems ~17

List all systems in the user's organization

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_tools ~70

Compact catalog of every available MCP tool. Returns {name, purpose, tier, requires_workflow} for each tool — a <100-line answer to 'what's available?' that fits in any agent's context. Cross-harness alternative to fetching every tool's full inputSchema just to browse. Unauthenticated.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_vendor_assessment_templates ~20

List vendor assessment templates available to the organization.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_vendor_assessments ~28

List assessments run against a vendor.

NameTypeReqDescription
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

list_vendor_contacts ~53

List contacts for a vendor. Requires the server-side `vendor.pii` scope (or an admin token); the platform returns 403 if the token is not authorized.

NameTypeReqDescription
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

list_vendor_contracts ~55

List contracts for a vendor. Requires the server-side `vendor.pii` scope (or an admin token). status and is_expired are server-derived, read-only fields.

NameTypeReqDescription
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

list_vendor_documents ~27

List evidence documents linked to a vendor.

NameTypeReqDescription
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

list_vendor_systems ~27

List the systems a vendor serves.

NameTypeReqDescription
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

list_vendors ~143

List all vendor/provider entities for the organization, with optional filters and sorting. Inactive vendors are hidden by default; pass include_inactive=true to include them.

NameTypeReqDescription
assessment_statusstring
include_inactivebooleanInclude inactive vendors, which are hidden by default.
lifecycle_statusstringFilter by lifecycle status.
owner_user_idstringFilter by vendor owner user ID.
provider_typestring
risk_tierstring
searchstringCase-insensitive search over vendor name and description.
sort_bystring
sort_dirstring

No output schema declared.

No examples provided.

list_workflows ~101

List loaded workflow playbooks (single-control, scope-question, scope-artifacts, policy-question, campaign, preflight, STIG scan/remediation, risk assessment/RAR, formal assessment/auditor snapshot). Each workflow describes how to iterate items in its domain and which recipes to pick per item. Use this before picking a recipe so the agent works at the right granularity.

NameTypeReqDescription
iterates_overstringFilter to one item-iteration shape

No output schema declared.

No examples provided.

mutate_plan_structure ~184

Apply one audited structural change to an active Plan. Supports adding, removing, or replacing pending steps and replacing acceptance criteria. expected_version, actor, and reason are mandatory. Every successful change increments Plan.version and appends an immutable post-change snapshot. Step status updates and artifact recording remain runtime progress and do not increment the structural version.

NameTypeReqDescription
acceptance_criteriaarrayRequired for replace_acceptance_criteria. Replaces caller-added criteria only; workflow-required Definition-of-Done criteria are always preserved. An empty list clears only caller-added criteria.
actorstringyes
expected_versionintegeryes
operationstringyes
plan_idstringyes
reasonstringyes
stepobjectRequired for add_step and replace_step.
step_indexintegerRequired for remove_step and replace_step.

No output schema declared.

No examples provided.

patch_org_policy_qa ~193

Update organization policy questionnaire answers. Accepts a list of question_id/answer pairs to apply as partial updates. IMPORTANT: Before drafting answers, research the local workspace — read source code, config files, existing policy documents, and infrastructure definitions to ground answers in observable facts. Do not invent organizational facts or procedures. Ask the user for clarification on anything that cannot be determined from the workspace.

NameTypeReqDescription
plan_idstringOptional: ID of the agent-authored plan this write is part of. When supplied, the platform write is tagged with the plan and the plan's local produced_artifacts[] audit chain gets an entry.
policy_idstringyesThe organization policy ID
step_indexintegerOptional: zero-based index of the plan step that triggered this write. Only meaningful when plan_id is also supplied.
updatesarrayyesList of question/answer updates to apply

No output schema declared.

No examples provided.

patch_scope_qa ~216

Update scope questionnaire answers for a system/framework. Accepts a list of question_id/answer pairs to apply as partial updates. IMPORTANT: Before drafting answers, research the local workspace — read source code, infrastructure config, and documentation to ground answers in observable facts. Ask the user for clarification on anything that cannot be determined from the workspace.

NameTypeReqDescription
framework_idstringyesThe framework ID (e.g., nist-800-53-r5, fedramp-moderate, soc2)
plan_idstringOptional: ID of the agent-authored plan this write is part of. When supplied, the platform write is tagged with the plan and the plan's local produced_artifacts[] audit chain gets an entry.
step_indexintegerOptional: zero-based index of the plan step that triggered this write. Only meaningful when plan_id is also supplied.
system_idstringyesThe system ID or name
updatesarrayyesList of question/answer updates to apply

No output schema declared.

No examples provided.

prepare_campaign ~286

Deprecated checkpoint compatibility only. New Campaigns use `campaign start` and a parent Plan ID. Prepare a legacy workflow-aligned checkpoint for drafting, submission, and apply operations.

NameTypeReqDescription
all_controlsboolean
all_incompleteboolean
applyboolean
artifactsstring
checkpoint_pathstringOptional local checkpoint file path
concurrencyinteger
control_idsarrayOptional explicit control IDs
domainstringyes
family_idstringOptional control family selector. Accepts canonical ID or abbreviation (case-insensitive). e.g. 'AC' or 'access-control' for NIST/FedRAMP, 'CC6' for SOC 2, 'AC-L2' for CMMC. Use `list_control_familie…
framework_idstringOptional framework ID
max_retriesinteger
modestringyesCampaign mode for the selected domain
outputstring
policy_idsarrayOptional explicit policy IDs
review_jobstringFamily review job id for controls review-fix
system_idstringOptional: The system ID or name
working_directorystringOptional working directory for executors

No output schema declared.

No examples provided.

preview_campaign ~281

After check_campaign_runtime reports launch_ready=true, resolve and durably freeze a Plan-backed Campaign without activating or dispatching it. This is the MCP equivalent of `pretorin campaign start ... --dry-run`: it uses the shared Campaign coordinator, runs preflight once, creates the deterministic parent/child Plan hierarchy, and returns the confirmation digest plus an informational same-host CLI watch command. Reusing the same idempotency_key with the same normalized request returns the same draft; reusing it with different inputs is an error.

NameTypeReqDescription
agentstringOptional shared agent-harness override.
campaign_typestringyes
concurrencyinteger
framework_idstringyes
idempotency_keystringyesCaller-owned durable preview reservation key; never enters Campaign state or digest.
max_retriesinteger
modelstring
model_providerstring
project_dirstringOptional existing directory inside the MCP server's trusted startup/configured roots; defaults to the startup project.
reasoning_effortstring
request_platform_reviewboolean
required_source_kindsarrayOptional source kinds that must each be ready in the frozen preflight before launch.
selectorobjectyes
system_idstringyes

No output schema declared.

No examples provided.

push_monitoring_event ~254

Push a monitoring event within exactly one active system/framework scope

NameTypeReqDescription
allow_unverified_sourcesbooleanAllow writes when source attestation shows a mismatch. Defaults to false.
control_idstringOptional: The control ID. Use canonical IDs from list_controls. NIST/FedRAMP IDs are zero-padded (e.g., ac-02). CMMC IDs use dotted notation (e.g., AC.L2-3.1.1).
descriptionstringOptional: Detailed event description
event_typestringEvent type
framework_idstringOptional: Framework ID; defaults to active scope
plan_idstringOptional: ID of the agent-authored plan this write is part of. When supplied, the platform write is tagged with the plan and the plan's local produced_artifacts[] audit chain gets an entry.
severitystringEvent severity
step_indexintegerOptional: zero-based index of the plan step that triggered this write. Only meaningful when plan_id is also supplied.
system_idstringOptional: The system ID or name
titlestringyesEvent title

No output schema declared.

No examples provided.

read_evidence_content ~84

Read a bounded page or text slice of a stored evidence artifact visible to the current platform credential. Use the returned locator and SHA-256 when citing it.

NameTypeReqDescription
evidence_idstringyes
max_charsinteger
offsetinteger
pageinteger
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

recipe_asset_inventory_aws_baseline__produce_diff ~87

[Recipe asset-inventory-aws-baseline (official)] Enumerate AWS EC2 instances and return {added, modified, decommissioned} vs last_seen_inventory. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
last_seen_inventoryarrayCurrent platform asset inventory rows; the script diffs against this list.

No output schema declared.

No examples provided.

recipe_asset_inventory_azure_baseline__produce_diff ~87

[Recipe asset-inventory-azure-baseline (official)] Enumerate Azure Compute VMs and return {added, modified, decommissioned} vs last_seen_inventory. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
last_seen_inventoryarrayCurrent platform asset inventory rows; the script diffs against this list.

No output schema declared.

No examples provided.

recipe_asset_inventory_iac_workspace__produce_diff ~110

[Recipe asset-inventory-iac-workspace (official)] Scan the cwd for IaC files, normalize the declared resources, and return {added, modified, decommissioned} vs last_seen_inventory. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
last_seen_inventoryarrayCurrent platform asset inventory rows; the script diffs against this list.
rootstringDirectory to scan. Defaults to the CLI's cwd.

No output schema declared.

No examples provided.

recipe_asset_inventory_k8s_baseline__produce_diff ~144

[Recipe asset-inventory-k8s-baseline (official)] Enumerate K8s nodes + workload controllers + LoadBalancer Services and return {added, modified, decommissioned} vs last_seen_inventory. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
last_seen_inventoryarrayCurrent platform asset inventory rows; the script diffs against this list.
namespace_environment_mapstringOptional JSON object of namespace-to-environment overrides. Values are normalized to the platform enum {dev, dr, other, prod, staging}; set a namespace value to empty/null to leave it unset.

No output schema declared.

No examples provided.

recipe_ci_evidence_capture__compose_ci_evidence ~207

[Recipe ci-evidence-capture (official)] Compose auditor-facing Markdown evidence from CI/CD observations and redacted command/API output. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
branch_protectionstringBranch protection or repository ruleset output
environment_protectionstringDeployment environment protection output
observationsstringyesConcise agent-written summary of what the CI/CD evidence demonstrates
repositorystringyesRepository or CI/CD project identifier the evidence came from
required_checksstringRequired status-check evidence, usually from branch protection or ruleset output
source_versionstringOptional source version anchor such as commit SHA, API timestamp, or workflow run id
user_prosestringOptional extra preamble rendered above the observations
workflow_runsstringRelevant workflow run or build output, usually from gh run list/view or equivalent

No output schema declared.

No examples provided.

recipe_cloud_aws_baseline__run_scan ~94

[Recipe cloud-aws-baseline (official)] Pull the manifest, run AWS-cloud checks, return per-run summary + rule-level details. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
regionstringOptional AWS region (defaults to AWS_REGION env / aws-cli default)
stig_idstringyesSTIG benchmark id targeting AWS-cloud controls

No output schema declared.

No examples provided.

recipe_cloud_azure_baseline__run_scan ~90

[Recipe cloud-azure-baseline (official)] Pull the manifest, run Azure-cloud checks, return per-run summary + rule-level details. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
stig_idstringyesSTIG benchmark id targeting Azure-cloud controls
subscriptionstringOptional subscription id (defaults to az CLI default)

No output schema declared.

No examples provided.

recipe_code_evidence_capture__compose_snippet ~232

[Recipe code-evidence-capture (official)] Compose the auditor-facing markdown body: prose preamble + fenced snippet + horizontal rule + italic provenance footer. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
commit_hashstringOptional git commit hash
is_uncommittedbooleanTrue when the snippet reflects working-tree state ahead of the commit
languagestringFence language tag (python, yaml, json, etc.). Empty string is fine.
line_rangestringOptional line range in 'N-M' form
secrets_redactedintegerCount of secrets the redactor removed (from the redact_secrets tool's secrets_count field). Drives the footer's redaction summary.
snippetstringyesThe snippet to embed (already redacted by the redact_secrets tool)
source_pathstringyesPath or URL the snippet came from; required for the provenance footer to render
user_prosestringOptional preamble paragraph rendered above the code fence

No output schema declared.

No examples provided.

recipe_code_evidence_capture__redact_secrets ~86

[Recipe code-evidence-capture (official)] Run pretorin's secret redactor over the supplied text and return the redacted body plus per-kind counts. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
textstringyesRaw text to scan and redact (typically a file's contents or an excerpt)

No output schema declared.

No examples provided.

recipe_inspec_baseline__run_scan ~100

[Recipe inspec-baseline (official)] Pull the test manifest for the requested STIG, run the InSpec scanner against the target, and return a per-run summary with rule-level pass/fail details. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
stig_idstringyesSTIG benchmark id (matches the recipe-level param)
targetstringInSpec target string

No output schema declared.

No examples provided.

recipe_manual_attestation__run_scan ~122

[Recipe manual-attestation (official)] Apply the supplied per-rule attestations against the manifest, return per-run summary + rule-level details. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
attestationsarrayList of {rule_id, status, note} attestations the calling agent has gathered
stig_idstringSTIG benchmark id whose manual rules will be attested
subjectstringOwner-attested operating record or review-note subject when no STIG is supplied

No output schema declared.

No examples provided.

recipe_openscap_baseline__run_scan ~111

[Recipe openscap-baseline (official)] Pull the test manifest, run OpenSCAP against the local host, and return per-run summary + rule-level details. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
datastreamstringOptional datastream path
profilestringOptional XCCDF profile id (required for SSG datastreams to select rules)
stig_idstringyesSTIG benchmark id

No output schema declared.

No examples provided.

recipe_policy_q_answer__redact_answer ~72

[Recipe policy-q-answer (official)] Run the candidate answer through pretorin.evidence.redact and return cleaned text + counts. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
answer_textstringyesThe candidate answer text to redact before submission.

No output schema declared.

No examples provided.

recipe_postgresql_stig_baseline__apply_remediation ~247

[Recipe postgresql-stig-baseline (official)] After human plan approval, apply the exact AU-10 PostgreSQL settings while preserving existing preload libraries, restart the verified target, verify PASS, and return passing submit_test_results arguments. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
action_idstringyesExact executable plan action already transitioned to in_progress
confirmbooleanyesExplicit execution acknowledgement; authoritative approval is verified from the bound platform plan
containerstringyesDocker container name or id hosting PostgreSQL 16
database_namestringDatabase used for the psql connection
database_userstringPostgreSQL role used for ALTER SYSTEM and verification
issue_idstringyesExact scanner-derived AU-10 Issue in the active system/framework/control scope
plan_idstringyesExact approved remediation plan belonging to issue_id
rule_idstringyesExact rule id; must be SV-261860r1000977_rule
stig_idstringyesExact benchmark id; must be CD_Postgres_16_STIG

No output schema declared.

No examples provided.

recipe_postgresql_stig_baseline__run_scan ~156

[Recipe postgresql-stig-baseline (official)] Verify manifest applicability, inspect the exact PostgreSQL settings, and return the one-rule result plus submit_test_results arguments. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
containerstringyesDocker container name or id hosting PostgreSQL 16
database_namestringDatabase used for the psql connection
database_userstringPostgreSQL role used for SHOW commands
rule_idstringyesExact rule id; must be SV-261860r1000977_rule
stig_idstringyesExact benchmark id; must be CD_Postgres_16_STIG

No output schema declared.

No examples provided.

recipe_scope_artifact_compose__compose_document ~305

[Recipe scope-artifact-compose (official)] Wrap a body fragment (inline SVG diagram or a render_table table) in the Pretorin brand document shell with a provenance footer, write it to a file, and return the file path for upload_evidence. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
body_htmlstringyesThe artifact body: inline SVG (using the kit's diagram classes) or table HTML from render_table.
capture_querystringThe query/command used to capture the data (e.g. 'az resource graph').
producerstringProducer string for provenance (e.g. 'pretorin-cli scope-artifact-compose v0.1.0').
secrets_redactedintegerCount of secret-shaped values redacted before composition.
source_labelstringThe source the artifact was derived from (e.g. 'azure_tenant').
source_locatorstringLocator within the source (e.g. subscription id).
subtitlestringOne-line subtitle, e.g. 'system · framework · generated <date>'.
titlestringyesDocument title (e.g. 'Authorization boundary').
widebooleanRender in the wide document shell so a large diagram is not squeezed into the prose column. Set true for diagram kinds (boundary_diagram, network_dfd); leave false for narrow tables.

No output schema declared.

No examples provided.

recipe_scope_artifact_compose__redact_secrets ~80

[Recipe scope-artifact-compose (official)] Run pretorin's secret redactor over text destined for an artifact body. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
textstringyesRaw text (e.g. SVG labels or table cells) to scan and redact.

No output schema declared.

No examples provided.

recipe_scope_artifact_compose__render_table ~100

[Recipe scope-artifact-compose (official)] Render a brand-styled, fully-escaped HTML table for a tabular artifact (PPSM, interconnection). Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
captionstringOptional table caption.
headersarrayyesColumn headers.
rowsarrayyesRow data — each row is an array of cell strings.

No output schema declared.

No examples provided.

recipe_scope_q_answer__redact_answer ~72

[Recipe scope-q-answer (official)] Run the candidate answer through pretorin.evidence.redact and return cleaned text + counts. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
answer_textstringyesThe candidate answer text to redact before submission.

No output schema declared.

No examples provided.

recipe_ssp_gap_analysis__compose_excerpt_evidence ~120

[Recipe ssp-gap-analysis (official)] Compose auditor-facing Markdown evidence from one or more cited document snippets. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
assessment_notestringBrief explanation of how the cited excerpt informs the assessment
finding_labelstringyesShort label for what this excerpt demonstrates
snippetsarrayyesSnippet objects returned by search_corpus or detect_control_claims
target_controlstringyesControl the excerpt supports or informs

No output schema declared.

No examples provided.

recipe_ssp_gap_analysis__detect_control_claims ~104

[Recipe ssp-gap-analysis (official)] Detect NIST-style control IDs and CCI IDs in the corpus and return cited occurrences grouped by identifier. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
corpus_pathstringyesCorpus JSON path returned by ingest_documents
focus_controlsarrayOptional control IDs to restrict results
max_occurrencesintegerMaximum occurrences returned per identifier

No output schema declared.

No examples provided.

recipe_ssp_gap_analysis__ingest_documents ~111

[Recipe ssp-gap-analysis (official)] Extract supported document text into a local page/chunk corpus JSON file with file hashes and warnings. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
include_globsarrayOptional glob patterns to include when path is a directory
max_file_bytesintegerMaximum bytes per file; larger files are skipped with a warning
pathstringyesFile or directory path to ingest

No output schema declared.

No examples provided.

recipe_ssp_gap_analysis__search_corpus ~96

[Recipe ssp-gap-analysis (official)] Search the ingested document corpus and return top cited snippets without loading the full corpus into context. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
corpus_pathstringyesCorpus JSON path returned by ingest_documents
querystringyesSearch query
top_kintegerMaximum number of snippets to return

No output schema declared.

No examples provided.

recipe_workspace_capture__compose_artifact ~162

[Recipe workspace-capture (official)] Compose an auditor-facing Markdown evidence body with provenance for any workspace artifact. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
contentstringyesRedacted artifact content to embed
secrets_redactedintegerNumber of secret-shaped values redacted before composition
source_labelstringHuman-readable artifact label
source_locatorstringOptional section, selector, page, or line locator
source_pathstringyesWorkspace-relative path, directory, glob, or summary label for the captured artifact
source_versionstringOptional source version anchor
user_prosestringShort explanation of what the artifact demonstrates

No output schema declared.

No examples provided.

recipe_workspace_capture__redact_secrets ~66

[Recipe workspace-capture (official)] Run pretorin's secret redactor over the supplied workspace artifact text. Requires an active recipe execution context for this recipe (call start_recipe first).

NameTypeReqDescription
textstringyesRaw artifact text to scan and redact

No output schema declared.

No examples provided.

record_campaign_assessment ~124

Record the independent assessment axis only for a Campaign item that has no frozen objective roster. Objective-backed items must instead use record_campaign_objective_disposition exactly once per UUID; their aggregate assessment is derived. grounded requires scoped evidence, gap requires an authoritative control-gap Issue, and needs_input requires a limitation. This does not alter execution or review.

NameTypeReqDescription
assessmentstringyes
evidence_idsarrayyes
issue_idstring
limitationsarrayyes
plan_idstringyes
step_indexintegeryes

No output schema declared.

No examples provided.

record_campaign_evidence_disposition ~126

Record retained, remapped, superseded, or needs_input for the frozen evidence artifact/set. The server verifies every evidence ID remains inside the assigned control. Remapping requires a matching typed evidence_link artifact; superseding records replacements without deleting data.

NameTypeReqDescription
dispositionstringyes
evidence_idsarrayyes
limitationsarrayyes
plan_idstringyes
reasonstringyes
step_indexintegeryes
superseding_evidence_idsarrayyes
target_control_idstring

No output schema declared.

No examples provided.

record_campaign_issue_disposition ~108

Record one bounded outcome for the exact frozen Issue. The server re-reads the assigned canonical Issue and verifies lifecycle state and evidence before persisting it. This does not approve treatment, accept risk, or void an Issue.

NameTypeReqDescription
dispositionstringyes
evidence_idsarrayyes
limitationsarrayyes
next_actionstring
plan_idstringyes
reasonstringyes
step_indexintegeryes

No output schema declared.

No examples provided.

record_campaign_objective_disposition ~105

Record one bounded process disposition for one frozen assessment-objective UUID. grounded requires persisted evidence IDs; needs_input requires a concrete limitation. This does not approve the parent control and stores no narrative body.

NameTypeReqDescription
dispositionstringyes
evidence_idsarrayyes
issue_idstring
limitationsarrayyes
objective_uuidstringyes
plan_idstringyes
step_indexintegeryes

No output schema declared.

No examples provided.

Common questions

What is the Pretorin Compliance MCP server?

Pretorin Compliance is an MCP server listed in the public MCP registry as io.github.pretorin-ai/pretorin. Access Pretorin controls, evidence, narratives, and local Plan-backed Campaigns from AI tools. This page covers its PyPI package (pretorin).

Is the Pretorin Compliance MCP server safe to use?

Pretorin Compliance scores 63 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Pretorin Compliance MCP server expose?

Pretorin Compliance exposes 270 tools: list_frameworks, get_framework, list_control_families, list_controls, get_control, and 265 more. Their descriptions and schemas cost roughly 37,576 tokens of context every time the server is loaded.

Is the Pretorin Compliance MCP server still maintained?

Pretorin Compliance is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Pretorin Compliance MCP server under?

Pretorin Compliance declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.