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 21

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

Available components

+16 this week 77 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 Security100
  • No malware found by supply-chain analysis.Pass
  • 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 39099 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 Management93
  • Stability observed for 28 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.

  • 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.

  • 14 Sept 26 −2
    • Package version: 0.29.7 → 0.29.8 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 21 Sept 2026 · Analysed pypi/pretorin@0.29.17

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,551 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
get_analytics_summary ~99

Get a full system progress snapshot: scope completion, policy completion, control narrative/evidence coverage, evidence gaps, and `controls.controls_with_unmet_baseline_expectations` (the count of in-scope controls with an unmet baseline-tier evidence expectation). Lightweight — returns counts only, no content. Use to decide what needs attention.

NameTypeReqDescription
framework_idstringyesFramework ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_assessment ~60

Get one formal assessment, including snapshot_state, active_snapshot_id, snapshot_job_id, and snapshot errors. Poll after start until snapshot_state=frozen.

NameTypeReqDescription
assessment_idstringyes
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_asset_inventory ~68

Return the system's asset inventory. Active rows by default; pass `as_of` (ISO-8601 timestamp) to replay historical state.

NameTypeReqDescription
as_ofstringOptional ISO-8601 timestamp for historical replay.
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_campaign ~64

Read one local Plan-backed Campaign through the shared CLI/MCP projection. Returns a bounded, redacted immutable-order item page plus an informational same-host CLI watch command.

NameTypeReqDescription
campaign_plan_idstringyes
limitinteger
offsetinteger

No output schema declared.

No examples provided.

get_campaign_item_context ~54

Deprecated checkpoint compatibility only. Fetch one claimed legacy Campaign item's context and drafting instructions for a proposal.

NameTypeReqDescription
checkpoint_pathstringyesLocal campaign checkpoint path
item_idstringyesCampaign item id to inspect

No output schema declared.

No examples provided.

get_campaign_status ~55

Deprecated checkpoint compatibility only. Return counts, events, claims, and failures for a legacy checkpoint. Use `campaign status <campaign-plan-id>` for Plan-backed Campaigns.

NameTypeReqDescription
checkpoint_pathstringyesLocal campaign checkpoint path

No output schema declared.

No examples provided.

get_cci ~44

Get CCI detail with linked SRGs and STIG rules.

NameTypeReqDescription
cci_idstringyesThe CCI identifier (e.g., CCI-000015)

No output schema declared.

No examples provided.

get_cci_chain ~55

Get full traceability chain for a NIST control: Control -> CCIs -> SRGs -> STIG rules.

NameTypeReqDescription
nist_control_idstringyesThe NIST control ID (e.g., AC-2)

No output schema declared.

No examples provided.

get_cci_implementation ~115

Read a single per-system CCI implementation row by (system_id, cci_uuid). Returns full impl detail (status, status_source, narrative, ai_generated_narrative, evidence_ids, eMASS fields, has_status_conflict). 404 means the row hasn't been initialized yet for this system.

NameTypeReqDescription
cci_uuidstringyesThe CCI catalog UUID (the unique catalog row id, not the CCI-000XXX label)
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_cci_implementation_summary ~117

Get bounded CCI implementation approval posture for the active system/framework. Returns total, approved, unapproved, and effective-status counts for initialized, current, in-scope, non-deprecated CCI implementation rows. This is authoring and approval posture, not the STIG scan rollup, and it never approves the parent control.

NameTypeReqDescription
framework_idstringFramework ID. Defaults to the active MCP context framework; an explicit value must match active context.
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_cci_status ~65

Get CCI-level compliance rollup for a system, optionally filtered by NIST control.

NameTypeReqDescription
nist_control_idstringOptional NIST control ID to filter (e.g., AC-2)
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_cli_status ~99

Return the local Pretorin CLI version status, including update availability and upgrade guidance for MCP hosts and agents. PRESENT the returned upgrade_command to the human operator; do not execute it. When upgrade_requires_human_approval is true the command mutates this machine's Pretorin install, and upgrade_note explains what changes and why a restart is needed

NameTypeReqDescription
forcebooleanBypass the local cache and re-check PyPI for the latest version

No output schema declared.

No examples provided.

get_compliance_status ~33

Get compliance status and framework progress for a system

NameTypeReqDescription
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_control ~117

Get detailed information about a specific control including parameters, enhancements, and AI guidance (summary, intent, evidence expectations, implementation considerations, common failures)

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).
framework_idstringyesThe framework ID (e.g., nist-800-53-r5)

No output schema declared.

No examples provided.

get_control_context ~255

Get rich context for a control including AI guidance, statement, objectives, scope status, implementation details, and the full per-expectation coverage map within one active system/framework scope. Returns both halves of the grading contract: expectation_coverage.expectations (the tiered rubric the platform's AI review scores against) and ai_analysis (its last verdict — tier-labeled gaps_detail, unsupported_claims, strengths, confidence_score). For CMMC / 800-171A controls it also returns objective_context: each normative assessment objective with its per-system status, bound evidence, and the evidence_expectations that target it — adjudicate these with the objective implementation tools (list_objectives, update_objective_implementation, approve_objective_implementation, link_evidence_to_objective_implementation).

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).
framework_idstringOptional: Framework ID; defaults to active scope
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

get_control_implementation ~149

Get implementation details for a control in a system, including canonical narrative, evidence count, operating evidence count, expectation coverage, and notes

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
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

get_control_issues ~272

Get issues for a control implementation within exactly one active system/framework scope. Each issue carries lifecycle_status and gate_status — the canonical state that decides whether it still gates approval. Results are bounded and put open Issues first so closed history cannot hide approval-gating work. The is_blocking flag is false only for calibrated evidence-gap Issues; demonstrated control deficiencies remain blocking. Above-target 'areas to strengthen' are reported in ai_analysis.gaps_detail and are never filed as Issues.

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).
framework_idstringOptional: Framework ID; defaults to active scope
limitinteger
max_body_charsintegerWhen snippet_only is false, maximum characters to retain per body field; use a positive value to request body content
offsetinteger
snippet_onlybooleanReplace body-sized fields such as content with bounded snippets
statusstringLifecycle filter; all preserves the legacy list behavior
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

get_control_notes ~185

Deprecated alias for get_control_issues.

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).
framework_idstringOptional: Framework ID; defaults to active scope
limitinteger
max_body_charsintegerWhen snippet_only is false, maximum characters to retain per body field; use a positive value to request body content
offsetinteger
snippet_onlybooleanReplace body-sized fields such as content with bounded snippets
statusstringLifecycle filter; all preserves the legacy list behavior
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

get_control_references ~104

Get control references: statement, guidance, objectives, and related controls

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).
framework_idstringyesThe framework ID (e.g., nist-800-53-r5)

No output schema declared.

No examples provided.

get_control_responsibility ~113

Get the inheritance/responsibility edge for a control. Shows if it's inherited, shared, or system-specific.

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).
framework_idstringyesFramework ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_controls_batch ~69

Get detailed control data for many controls in a single framework-scoped request

NameTypeReqDescription
control_idsarrayOptional: list of control IDs to retrieve; omit to retrieve all controls
framework_idstringyesThe framework ID (e.g., nist-800-53-r5)

No output schema declared.

No examples provided.

get_evidence_attestation ~156

Fetch the DSSE attestation envelope (ADR 0003) for an evidence record. Returns the in-toto Statement, signing key fingerprint, and provenance metadata. With include_lineage=true, also returns the full history of prior attestations (newest first). Read-only; no recipe context required. Returns a structured 'attestation_unavailable' error when the platform attestation surface is disabled or no envelope exists for the row.

NameTypeReqDescription
evidence_idstringyesThe evidence item ID to fetch the attestation for
include_archivedbooleanWhen include_lineage is set, include archived attestations
include_lineagebooleanAlso return the full lineage of attestations for this evidence

No output schema declared.

No examples provided.

get_family_analytics ~56

Get per-family breakdown: narrative coverage, evidence coverage, open notes, status distribution for each control family in scope.

NameTypeReqDescription
framework_idstringyesFramework ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_family_bundle ~129

Get all controls in a family with their status, narrative presence, evidence presence, and notes count. Use to understand the state of a family before working on it.

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

No output schema declared.

No examples provided.

get_family_review_results ~72

Poll for family review results. Returns per-control findings with severity, affected control IDs, recommended fixes, and optional `expectation_tier` / `tier_label` context.

NameTypeReqDescription
job_idstringyesJob ID from trigger_family_review
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_framework ~66

Get detailed metadata about a specific compliance framework including AI context (purpose, target audience, regulatory context, scope, key concepts)

NameTypeReqDescription
framework_idstringyesThe framework ID (e.g., nist-800-53-r5, fedramp-moderate, soc2)

No output schema declared.

No examples provided.

get_instructions ~63

Return the server's routing instructions as a regular tool response. The MCP `initialize` handshake exposes instructions but not every harness (Cursor, Codex, vanilla Agents SDK) renders them to the agent. Call this tool to fetch the routing protocol on demand. Unauthenticated.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_issue_acceptance_history ~87

Read the formal risk-acceptance decision history for a canonical Issue, newest first. Record one with accept_issue_risk; withdraw one with revoke_issue_risk_acceptance.

NameTypeReqDescription
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
issue_idstringyesCanonical Issue ID
limitinteger

No output schema declared.

No examples provided.

get_issue_action ~79

Read one action or milestone from a canonical Issue treatment plan.

NameTypeReqDescription
action_idstringyesIssue plan action ID
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
issue_idstringyesCanonical Issue ID
plan_idstringyesIssue treatment-plan ID

No output schema declared.

No examples provided.

get_issue_actions ~74

Read ordered actions and milestones for a canonical Issue treatment plan.

NameTypeReqDescription
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
issue_idstringyesCanonical Issue ID
limitinteger
plan_idstringyesIssue treatment-plan ID

No output schema declared.

No examples provided.

get_issue_plan ~80

Read one canonical Issue treatment-plan version, including its full approval lifecycle (submitted/approved/rejected/completed actors and timestamps).

NameTypeReqDescription
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
issue_idstringyesCanonical Issue ID
plan_idstringyesIssue treatment-plan ID

No output schema declared.

No examples provided.

get_issue_plans ~63

Read newest-first versioned treatment plans for a canonical Issue.

NameTypeReqDescription
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
issue_idstringyesCanonical Issue ID
limitinteger

No output schema declared.

No examples provided.

get_issue_risk_history ~65

Read newest-first immutable risk-evaluation versions for a canonical Issue.

NameTypeReqDescription
control_implementation_idstringyesControl implementation ID returned by add_control_issue/get_control_issues
issue_idstringyesCanonical Issue ID
limitinteger

No output schema declared.

No examples provided.

get_narrative ~149

Get an existing implementation narrative and its evidence citations, including claim-level grounding and RAG locators, for a control in a system

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
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

get_objective_implementation ~124

Read a single per-system assessment objective implementation row by (system_id, objective_uuid). Returns full detail (objective_id, objective_text, status, status_source, narrative, ai_generated_narrative, evidence_ids, has_status_conflict, approved_by/at). 404 means the row hasn't been seeded yet for this system.

NameTypeReqDescription
objective_uuidstringyesThe objective implementation row UUID (from list_objectives / get_control_context, not the '3.1.1.a' label)
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_org_policy_questionnaire ~90

Get the canonical questionnaire state for one organization policy, including template sections, questions, and saved answers. Set include_guidance=false to omit static section/question guidance when retrieving a large questionnaire over MCP.

NameTypeReqDescription
include_guidancebooleanOptional: include static template/question guidance (default true). Set false for a compact large-policy projection.
policy_idstringyesThe organization policy ID

No output schema declared.

No examples provided.

get_oscal_artifact ~93

Get OSCAL artifact metadata including oscal_version, generator_version, the two-tier validation report, and checksum_sha256. The presigned download_url is CLI-only and is not returned over MCP; use the `pretorin oscal artifacts download` CLI to fetch verified bytes.

NameTypeReqDescription
artifact_idstringyesThe OSCAL artifact ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_pending_families ~62

Get control families that need work. Returns family IDs with counts of pending vs total controls. Use to decide which family to work on next.

NameTypeReqDescription
framework_idstringyesFramework ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_pending_policy_questions ~115

Use this to see which policy questions still need answers. Returns only unanswered questions — much smaller than the full policy questionnaire dump. WORKFLOW: After fetching pending questions, explore the local workspace (source code, config files, existing policy documents, infrastructure definitions, documentation) to gather evidence. Answer as many questions as possible from workspace evidence WITHOUT asking the user. Only use gap questions (see answer_policy_question) for genuine gaps that require organizational knowledge not present in the workspace.

NameTypeReqDescription
policy_idstringyesOrganization policy ID

No output schema declared.

No examples provided.

get_pending_scope_questions ~134

Use this to see which scope questions still need answers. Returns only unanswered questions — much smaller than the full scope dump. Call get_scope_question_detail for guidance on a specific question. WORKFLOW: After fetching pending questions, explore the local workspace (source code, config files, infrastructure definitions, documentation) to gather evidence. Answer as many questions as possible from workspace evidence WITHOUT asking the user. Only use interview mode (see answer_scope_question) for genuine gaps that require organizational knowledge not present in the workspace.

NameTypeReqDescription
framework_idstringyesFramework ID
system_idstringyesThe system ID or name

No output schema declared.

No examples provided.

get_plan ~65

Return the full record of a Plan selected by start_task or created with create_plan. Use it before activation, when resuming work from a prior session, or when auditing what was intended.

NameTypeReqDescription
plan_idstringyesUUID-shaped Plan id returned by start_task or create_plan.

No output schema declared.

No examples provided.

get_policy_analytics ~44

Get per-policy analytics: question completion, document generation status, review status. Use to understand one policy's progress.

NameTypeReqDescription
policy_idstringyesOrganization policy ID

No output schema declared.

No examples provided.

get_policy_definition ~43

Read a policy definition and revision in bounded section/question pages.

NameTypeReqDescription
limitinteger
offsetinteger
policy_idstringyes

No output schema declared.

No examples provided.

get_policy_mappings ~55

Read persisted policy mappings, optionally limited to one framework, in bounded pages.

NameTypeReqDescription
framework_idstring
limitinteger
offsetinteger
policy_idstringyes

No output schema declared.

No examples provided.

get_policy_narrative ~249

Read an org policy's generated narrative sections, in order — the read counterpart of update_policy_narrative. Returns {policy_id, sections:[{section_id, order, title, description, content, is_ai_generated, needs_input, is_reviewed, reviewed_by, reviewed_at, source_frameworks}]}. Use this before a surgical edit: read the current sections, modify or append one, then pass the FULL list back to update_policy_narrative so no existing section is dropped. (get_org_policy_questionnaire returns the Q&A template, NOT these generated sections.) Large reads are paginated by default; use offset/limit to continue, include_content=false for an index, or section_id to fetch one complete section.

NameTypeReqDescription
include_contentbooleanOptional: include complete section content (default true). Set false for a compact section index.
limitintegerOptional: page size, 1-100 (default 10).
offsetintegerOptional: zero-based page offset (default 0).
policy_idstringyesOrganization policy ID
section_idstringOptional: fetch one complete section by stable section_id.

No output schema declared.

No examples provided.

get_policy_question_detail ~57

Use this BEFORE answering a specific policy question. Returns guidance, tips, and the current answer for ONE question.

NameTypeReqDescription
policy_idstringyesOrganization policy ID
question_idstringyesQuestion ID from the pending list

No output schema declared.

No examples provided.

get_policy_review_results ~73

Poll for policy generation or review results. Returns structured findings. Status: 'queued', 'running', 'succeeded', or 'failed'. Poll every 2 seconds.

NameTypeReqDescription
job_idstringyesJob ID from trigger_policy_generation or trigger_policy_review
policy_idstringyesOrganization policy ID

No output schema declared.

No examples provided.

get_policy_workflow_state ~48

Get per-policy workflow state: how many questions answered, whether the document is generated, review status, and the recommended next action.

NameTypeReqDescription
policy_idstringyesOrganization policy ID

No output schema declared.

No examples provided.

get_preflight ~202

Read the local preflight verdict for the active (or given) scope: which recommended source kinds are mapped to host-local resolvers and their per-kind rollup (ready/degraded/missing/unverified/unmapped). This is the CLI-local source of truth for source availability — the platform cannot verify connections. When authenticated it also seeds the platform's in-scope recommended source kinds into the artifact (persisted only when the profile changed something; offline it is a pure local read). Returns exists=false with a hint when no artifact has been built yet and the platform recommends nothing.

NameTypeReqDescription
framework_idstringOptional framework id; defaults to the active scope.
source_kindstringOptional canonical source kind. When omitted, returns a bounded summary with every kind verdict and action. When provided, returns that kind's full resolver, scope, identity, capability, and verifica…
system_idstringOptional: The system ID or name

No output schema declared.

No examples provided.

get_recipe ~45

Return one recipe's full manifest and body. The body is the markdown playbook the calling agent reads to understand the procedure.

NameTypeReqDescription
recipe_idstringyesRecipe id to fetch

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 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 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,551 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 21 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.