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 23

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

Available components

0 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 72 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 41809 tokens (~137/item across 305 items; 282 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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage92
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 75% 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 284 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.

  • 23 Sept 26 0
    • Stability: 0.97 → pass security
    • Package version: 0.29.18 → 0.29.19 functional
  • 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
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 23 Sept 2026 · Analysed pypi/pretorin@0.29.19

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 72 packages
Packages resolved 72
Stale 4
No linked repository 2
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 282 exposed · ~40,261 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
submit_test_results ~94

Upload STIG scan results from a CLI scan run.

NameTypeReqDescription
cli_run_idstringyesThe CLI scan run identifier
cli_versionstringOptional CLI version string
framework_idstringOptional active framework ID used for exact Issue attribution. Supply it for compliance scans.
resultsarrayyesArray of test result objects
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

submit_vendor_assessment ~39

Move an in-progress vendor assessment to submitted.

NameTypeReqDescription
assessment_idstringyesAssessment ID
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

suggest_policy_definition ~63

Suggest and return an editable definition from human-authored title/purpose context. Waits for the durable advisory job; never saves, submits, or approves a policy.

NameTypeReqDescription
purposestringyes
titlestringyes
versionstring

No output schema declared.

No examples provided.

sync_stale_edges ~34

Bulk sync all stale inherited controls from their source narratives.

NameTypeReqDescription
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

transition_issue_action ~224

Transition work on an action in an approved canonical Issue plan (see approve_issue_plan).

NameTypeReqDescription
action_idstringyesIssue plan action ID
control_idstringyesThe 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).
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
evidence_idsarray
framework_idstringOptional: Framework ID; defaults to active scope
issue_idstringyesCanonical Issue ID
notestring
plan_idstringyesIssue treatment-plan ID
statusstringyes
step_indexintegerCampaign workers: zero-based assigned child-Plan step for this governed Issue mutation. Ignored outside a Campaign.
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

trigger_family_review ~126

Trigger AI review for all controls in a family. Reviews each control sequentially and returns aggregated findings. May take 2-4 minutes for large families. Poll get_family_review_results with the job_id.

NameTypeReqDescription
family_idstringyesCanonical control family ID for this framework (e.g. 'access-control' for NIST/FedRAMP, 'CC6' for SOC 2). Use `list_control_families` to list valid values.
framework_idstringyesFramework ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

trigger_policy_generation ~100

Trigger AI generation of the policy document from answered questions. By default this also runs AI review in the same durable job. Returns a job ID. Use AFTER answering policy questions. Optionally provide system_id for scope context.

NameTypeReqDescription
include_reviewbooleanRun AI review after generation in the same job. Defaults to true.
policy_idstringyesOrganization policy ID
system_idstringOptional: system ID for scope context

No output schema declared.

No examples provided.

trigger_policy_review ~45

Trigger AI review of policy answers/document. Returns a job ID for polling. Poll get_policy_review_results with the job_id.

NameTypeReqDescription
policy_idstringyesOrganization policy ID

No output schema declared.

No examples provided.

trigger_scope_generation ~106

Trigger AI generation of the scope document from answered questions. By default this also runs AI review in the same durable job. Returns a job ID for polling. Use AFTER answering scope questions. Poll get_scope_review_results with the job_id until status is 'succeeded'.

NameTypeReqDescription
framework_idstringyesFramework ID
include_reviewbooleanRun AI review after generation in the same job. Defaults to true.
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

trigger_scope_review ~66

Trigger AI review of scope answers. Returns a job ID for polling. Use to check answer quality BEFORE or AFTER generation. Poll get_scope_review_results with the job_id.

NameTypeReqDescription
framework_idstringyesFramework ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

unlink_risk_artifact ~60

Remove an artifact link from a risk.

NameTypeReqDescription
link_idstringyesLink ID (returned by link_risk_artifact)
risk_idstringyesRisk ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

update_campaign_item_phase ~101

Deprecated checkpoint compatibility only. Record a legacy Campaign worker phase for observers. Preflight is informational: use degraded or unavailable metadata and continue without sources.

NameTypeReqDescription
attemptinteger
checkpoint_pathstringyesLocal campaign checkpoint path
item_idstringyesCampaign item id
messagestringyesConcise observer-safe progress message
metadataobjectOptional non-secret operational metadata
phasestringyes

No output schema declared.

No examples provided.

update_cci_implementation ~153

Commit agent-authored working fields for one CCI before approval. Ordinary updates may only set status=in_progress; use approve_cci_implementation for the explicit CCI completion decision. This operation never approves the parent control.

NameTypeReqDescription
assessment_procedurestring
cci_uuidstringyesCCI catalog UUID, not the CCI-000XXX display label.
evidence_idsarray
narrativestring
reasonstring
responsible_entitiesstring
statusstring
system_idstringyesThe system ID or name
test_datestring
tested_bystring

No output schema declared.

No examples provided.

update_control_status ~234

Start or reopen authoring for a control by setting status to in_progress within exactly one active system/framework scope

NameTypeReqDescription
allow_unverified_sourcesbooleanAllow writes when source attestation shows a mismatch. Defaults to false.
control_idstringyesThe 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).
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.
statusstringyesOnly accepted value: in_progress
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

No output schema declared.

No examples provided.

update_issue_action ~209

Completely replace an action on a draft canonical Issue treatment plan.

NameTypeReqDescription
actionobjectyesComplete editable action or milestone
action_idstringyesIssue plan action ID
control_idstringyesThe 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).
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
framework_idstringOptional: Framework ID; defaults to active scope
issue_idstringyesCanonical Issue ID
plan_idstringyesIssue treatment-plan ID
step_indexintegerCampaign workers: zero-based assigned child-Plan step for this governed Issue mutation. Ignored outside a Campaign.
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

update_issue_plan ~195

Completely replace an editable canonical Issue treatment-plan draft.

NameTypeReqDescription
control_idstringyesThe 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).
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
framework_idstringOptional: Framework ID; defaults to active scope
issue_idstringyesCanonical Issue ID
planobjectyesComplete editable treatment-plan draft
plan_idstringyesIssue treatment-plan ID
step_indexintegerCampaign workers: zero-based assigned child-Plan step for this governed Issue mutation. Ignored outside a Campaign.
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

update_narrative ~1,052

Push a narrative text update. Normally MCP agents must pass a narrative-producing recipe_context_id and non-empty evidence_ids so narrative claims are tied to evidence. The sole evidence-free form is needs_input_only=true for a trusted initial/interim Campaign worker: omit narrative and recipe_context_id and pass evidence_ids=[]; Pretorin deterministically renders only frozen coordinator-preflight and current objective limitations. It requests review only when the Campaign's frozen publication policy explicitly requires it. preserve_human=true records an accurate human parent without rewriting it; readiness stays pending. Use evidence_citations to preserve claim-level grounding from search_evidence. Citations do not satisfy expectation coverage: complete the plan's evidence-expectation mapping step before composing the narrative. Review is off by default and is only an explicit user-requested exception after the final narrative generation is stable. A normal Plan-attributed single-control save returns the verified mapping gate and expectation-coverage read-back for handoff.

NameTypeReqDescription
allow_unverified_sourcesbooleanAllow writes when source attestation shows a mismatch. Defaults to false.
control_idstringyesThe 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).
evidence_citationsarrayOptional full citation payloads. Each item requires evidence_id and may include citation_role, locator_chunk_index, and matched_excerpt. Map search_evidence's chunk_index/matched_text to the locator…
evidence_idsarrayyesEvidence ids cited by this narrative update. Normally non-empty; pass an explicit empty array only with server-authorized Campaign needs_input_only or preserve_human mode.
framework_idstringOptional: Framework ID; defaults to active scope
is_ai_generatedbooleanWhether the narrative was AI-generated
narrativestringAgent-authored control narrative markdown, required except in needs_input_only mode, with no section headers or standalone bold labels. Target 150-300 words, require at least 800 characters, and neve…
needs_input_onlybooleanNarrow Campaign-only evidence-free mode. Allowed only for a current initial/interim child after the shared frozen preflight recorded limitations and every objective was recorded as needs_input with n…
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.
preservation_reasonstringWhy the existing human-authored parent remains accurate and should be preserved
preserve_humanbooleanCampaign: preserve accurate human parent without a write. Omit narrative and recipe; pass evidence_ids=[] and preservation_reason. Readiness remains pending.
recipe_context_idstringActive narrative-producing recipe context id from start_recipe. May be a single-control context or a family (multi-control) context for this control's system + framework.
review_requested_by_userbooleanConfirmation that the user explicitly requested AI review of this final narrative generation. Required semantically when trigger_review=true; without it the handler refuses the review and does not sa…
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
trigger_reviewbooleanExplicit exception: ask the platform to review this final narrative generation. Defaults false. Never set this merely because a narrative was saved; the user must explicitly request review and review…
wait_for_reviewbooleanWhen trigger_review=true, wait for exact-generation analysis before returning. Defaults true for interactive calls. Campaign workers set false so execution and platform-review state remain independen…

No output schema declared.

No examples provided.

update_objective_implementation ~210

Commit agent-authored working fields for one assessment objective before approval. Ordinary updates may only set status=in_progress; use approve_objective_implementation for the explicit objective completion decision. This operation never approves the parent control — objectives are leaves and issues live at the control level.

NameTypeReqDescription
evidence_idsarray
narrativestring
objective_uuidstringyesThe objective implementation row UUID, not the '3.1.1.a' label.
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.
reasonstring
statusstring
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

No output schema declared.

No examples provided.

update_plan_step ~397

Update one step's status and/or outcome summary. Status transitions are guarded: pending -> in_progress | skipped; in_progress -> completed | skipped; terminal states are sticky. Skipping a step requires a non-empty outcome_summary explaining why — the plan cannot complete without it. Workflow-required phases cannot be skipped and require an outcome summary. A selected recipe step cannot be skipped or completed without its exact start_recipe/end_recipe receipt. Completing the single-control evidence-expectation mapping step requires a structured evidence_mapping record with declared keys, bindings, intentionally unbound evidence, and the post-link coverage read-back. Campaign child completion verifies that record against a fresh authoritative get_control_context response. Refused if the plan itself is completed or cancelled.

NameTypeReqDescription
evidence_mappingobjectRequired when completing the evidence-expectation mapping step. Populate this from get_control_context after link_evidence calls. For Campaign children, completion re-reads get_control_context and re…
expected_versionintegerOptional optimistic-locking guard. If supplied, the call returns a structured version_conflict error if the plan's on-disk version no longer matches — the caller can reload + retry. Step-status chang…
outcome_summarystringShort note about what the step actually produced. Optional in general, but REQUIRED for every completed workflow-owned phase and when status is 'skipped' — a skip without a stated reason is indisting…
plan_idstringyes
statusstring
step_indexintegeryes

No output schema declared.

No examples provided.

update_policy_definition ~56

Replace a custom definition using its expected revision; may require reset_authoring.

NameTypeReqDescription
definitionobjectyes
expected_revisionintegeryes
policy_idstringyes
reset_authoringboolean

No output schema declared.

No examples provided.

update_policy_narrative ~114

Replace an org policy's generated narrative sections. An approved policy is locked — call reopen_policy first (this returns a 422 policy_locked error otherwise). Read the current sections first with get_policy_narrative, then pass the full ordered list of sections back; each is an object with section_id, title, and content.

NameTypeReqDescription
policy_idstringyesOrganization policy ID
sectionsarrayyesFull ordered list of policy sections; each object has section_id, title, content, and optional order.

No output schema declared.

No examples provided.

update_preflight ~166

Bind resolver collections to recommended source kinds and persist the preflight artifact. Each kind maps to a COLLECTION of resolvers (each tells a distinct piece of the evidence story). Replaces a kind's collection wholesale. Resolver types are open: workspace_path, cli_tool, command, manual/attested, mcp, connected_api, pretorin_feature, or any custom type with a probe.

NameTypeReqDescription
bindingsarrayyesPer-kind resolver bindings to upsert.
framework_idstringOptional framework id; defaults to the active scope.
source_kindstringOptional canonical source kind to return with full detail after the update; this filters only the response, not which bindings are updated.
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

update_risk ~167

Update a risk. This is the mitigation surface — set/edit treatment, treatment_plan, and treatment_due_date through this tool (there is no separate /mitigate endpoint). Any subset of fields can be updated.

NameTypeReqDescription
categorystring
cia_categorystring
descriptionstring
impactstring
likelihoodstring
owner_idstring
review_frequency_daysinteger
risk_idstringyesRisk ID
statusstring
system_idstringyesThe system ID or name
titlestring
treatmentstring
treatment_due_datestringISO date
treatment_planstring

No output schema declared.

No examples provided.

update_scope_narrative ~113

Replace the scope narrative sections for a system+framework. A completed scope is locked — call reopen_scope first (this returns a 422 scope_locked error otherwise). Pass the full ordered list of sections; each is an object with at least title and content.

NameTypeReqDescription
framework_idstringyesFramework ID
sectionsarrayyesFull ordered list of narrative sections; each object has title, content, and optional key/order/parent_key.
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

update_vendor ~104

Update vendor fields (name, description, provider_type, authorization_level, owner_user_id, inherent_risk).

NameTypeReqDescription
authorization_levelstring
descriptionstring
inherent_riskstringInherent risk band. 'medium' is a deprecated alias for 'moderate'.
namestring
owner_user_idstring
provider_typestring
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

update_vendor_contact ~110

Update a vendor contact. Requires the server-side `vendor.pii` scope (or an admin token). Only provided fields are updated.

NameTypeReqDescription
contact_idstringyesContact ID
emailstring
is_primarybooleanMark as primary contact (auto-demotes the prior primary).
namestring
notesstring
phonestring
titlestring
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

update_vendor_contract ~181

Update a vendor contract. Requires the server-side `vendor.pii` scope (or an admin token). Only provided fields are updated. status and is_expired are server-derived and cannot be set.

NameTypeReqDescription
auto_renewboolean
contract_idstringyesContract ID
contract_typestring
document_evidence_item_idstring
end_datestringEnd date (ISO-8601)
namestring
notesstring
notice_period_daysinteger
renewal_datestringRenewal date (ISO-8601)
start_datestringStart date (ISO-8601)
terminated_atstringTermination timestamp (ISO-8601)
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

upload_evidence ~262

Upload a file as evidence to the platform (system-scoped, requires WRITE access)

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).
descriptionstringEvidence description
evidence_typestringType of evidence
file_pathstringyesAbsolute path to the file to upload
framework_idstringOptional: Framework ID; defaults to active scope
namestringyesEvidence name
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_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

upload_vendor_document ~141

Upload a vendor evidence document (SOC 2 report, CRM, FedRAMP package, etc). Provide the file_path on the local filesystem.

NameTypeReqDescription
attestation_typestringDefault: vendor_provided
descriptionstringDocument description
expires_atstringDocument expiry date (ISO-8601, e.g. 2027-01-31).
file_pathstringyesLocal file path to upload
namestringDocument display name
refresh_cadence_daysintegerRefresh reminder cadence in days (1-365).
vendor_idstringyesVendor ID

No output schema declared.

No examples provided.

verify_issue ~239

Verify completed treatment and CLOSE a canonical Issue. This is the only way to close one. Requires lifecycle_status == verification_pending, which completing an approved plan produces; Issues sourced from an RFI or finding, or carrying an ai_review_finding_key, can reach it without a completed plan. The generic issue PATCH cannot close an Issue and rejects the attempt.

NameTypeReqDescription
control_idstringyesThe 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).
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
framework_idstringOptional: Framework ID; defaults to active scope
issue_idstringyesCanonical Issue ID
step_indexintegerCampaign workers: zero-based assigned child-Plan step for this governed Issue mutation. Ignored outside a Campaign.
system_idstringOptional: The system ID or name
verification_notestringyes

No output schema declared.

No examples provided.

verify_preflight ~160

Probe resolver bindings in the preflight artifact and persist the results. Without source_kind, probes the full profile and refreshes its global verification timestamp. With source_kind, probes only that kind and deliberately leaves profile-wide freshness unchanged. Probes run locally on the CLI host (e.g. `gh auth status`, `az account show`, workspace path checks); the response reports verification_scope explicitly.

NameTypeReqDescription
framework_idstringOptional framework id; defaults to the active scope.
source_kindstringOptional canonical source kind. When provided, probe and return only that kind's resolvers; this partial verification does not refresh the artifact's profile-wide last_verified_at timestamp.
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

void_issue ~278

Void a canonical Issue that was never valid or no longer applies. TERMINAL and IRREVERSIBLE: the Issue becomes an immutable POA&M record that cannot be modified, reopened, or closed. Accepted from any non-voided state INCLUDING closed, so voiding a verified Issue destroys the audit distinction between remediated and never-valid. Requires explicit force=true confirmation; prefer verify_issue for work that was actually done.

NameTypeReqDescription
control_idstringyesThe 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).
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
forcebooleanyesRequired explicit confirmation for this terminal, irreversible operation. Set true only when the finding was never valid.
framework_idstringOptional: Framework ID; defaults to active scope
issue_idstringyesCanonical Issue ID
reasonstringyes
step_indexintegerCampaign workers: zero-based assigned child-Plan step for this governed Issue mutation. Ignored outside a Campaign.
system_idstringOptional: The system ID or name

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 23 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 282 tools: list_frameworks, get_framework, list_control_families, list_controls, get_control, and 277 more. Their descriptions and schemas cost roughly 40,261 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 23 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.