Skip to main content
Glama
MarkAC007

mcp-server-scf

by MarkAC007

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SCF_API_KEYYesAPI key from your self-hosted platform instance
SCF_API_URLYesBase URL of your self-hosted platform (e.g. http://localhost:8000)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
scf_list_controlsA

List SCF security controls from the reference catalog. Returns paginated controls with SCF ID, title, description, and mapped frameworks. Filter by domain, framework, or free-text search.

scf_get_controlA

Get a single SCF control by ID. Returns description, mapped frameworks, assessment objectives, and linked evidence items from the reference catalog.

scf_list_frameworksA

List every compliance framework mapped in the SCF catalog (NIST 800-53, ISO 27001, SOC 2, FedRAMP, GDPR, and 350+ more). Returns framework identifiers and display names.

scf_list_domainsA

List every compliance domain in the SCF taxonomy. Domains group related controls (e.g., GOV = Governance, AST = Asset Management, IAC = Identity & Access Control).

scf_list_evidence_catalogA

List evidence items from the SCF reference catalog — the 272 standard evidence types that can be collected to demonstrate control implementation. Supports free-text search and pagination.

scf_list_assessment_objectivesA

List SCF assessment objectives — the 5,736 test criteria used to evaluate control implementation. Optionally filter by control ID; supports free-text search and pagination.

scf_get_domainA

Get one SCF domain with its controls (read, no org). Deprecated controls are excluded unless include_deprecated is set; a deprecated domain still resolves, badged.

scf_get_catalog_evidenceA

Get one catalog evidence entry with the controls it maps to (read, no org). The reference definition, not an organization's tracking record — see scf_get_evidence for that.

scf_list_scoped_controlsB

List controls scoped to the organization with implementation status. Filter by scope status, domain, framework, CSF function, weighting, or free-text search. Paginated.

scf_get_scoped_controlA

Get one scoped control in detail: owner, implementation notes, evidence links, and audit history. Identify by scf_id, not by UUID.

scf_update_scoped_controlA

Update a scoped control's implementation fields (write — editor+ role). Identify by scf_id, not UUID. Only provided fields are applied.

scf_get_scoping_statsA

Get the organization's implementation statistics: counts by status, overall completion percentage, and per-framework coverage breakdown.

scf_scope_frameworkA

Bulk-scope every control mapped to a framework into the organization (write — editor+ role). Creates a scoped-control entry for each control in the framework.

scf_batch_update_controlsA

Batch-update up to 500 scoped controls in one transaction (write — editor+ role). Each operation identifies its target by scf_id; status values are lowercase.

scf_bulk_unscope_frameworkA

Remove from scope every control mapped only to the given frameworks (destructive write — editor role). Controls shared with another in-scope framework are kept; notes and status survive.

scf_get_framework_scope_summaryA

Get framework coverage and selection state in one view (read — viewer role): which frameworks are selected and how their controls sit against the scope. Read side of scoping; changing it is elsewhere.

scf_preview_framework_scope_changeA

Preview what adding or removing frameworks would do to the scope WITHOUT applying it (read — viewer role). Returns the controls that would enter or leave, so the blast radius is known beforehand.

scf_set_scope_overrideA

Force one control in or out of scope whatever its frameworks imply (write — editor+). 'include'/'exclude' pin it; 'inherit' clears the override back to the framework rollup. Scope only, not status.

scf_list_evidenceA

List evidence items tracked against an organization's controls. Returns each item's tracking status, maturity level, and linked controls. Optionally filter by system.

scf_create_evidenceA

Create an evidence tracking record from a catalog evidence ID (write — editor+ role). Starts tracking an evidence item for the organization.

scf_get_evidence_maturityA

Get the organization's evidence maturity summary: average maturity score, automation percentage, distribution by maturity level, and improvement opportunities.

scf_get_evidence_item_maturityA

Get one evidence item's collection maturity: current level (1=Ad Hoc to 5=Optimized), contributing factors, upgrade potential, and tracking state.

scf_get_evidence_upgrade_recommendationsA

Get upgrade-path recommendations for maturing one evidence item's collection: target level, effort, impact, and step-by-step actions — the same guidance shown in the platform UI.

scf_get_evidence_suggestionsA

Get system-aware collection suggestions for one evidence item: which tracked system currently collects it, which in-scope systems are capable of collecting it, and tailored collection guidance.

scf_list_evidence_gapsA

List the organization's evidence coverage gaps: evidence required by in-scope controls that is not yet tracked, with overall coverage percentage.

scf_get_evidence_healthA

Get evidence collection health for the organization: per-item freshness status (green/amber/red) against collection frequency, with a roll-up summary.

scf_list_evidence_filesA

List all files uploaded or ingested for an evidence item. Returns filename, content type, upload timestamp, validation status, and a pre-signed download URL (15-min expiry).

scf_get_evidence_fileA

Get metadata and a pre-signed download URL (15-min expiry) for a single evidence file. Use to inspect or retrieve a specific uploaded artifact.

scf_update_evidenceA

Upsert an evidence item's tracking fields (write — editor+ role). Creates the tracking row if missing. All body fields are optional; only provided fields are applied.

scf_get_evidence_validationA

Get the validation result for a single evidence file: status (valid/warning/partial/invalid), completeness score, individual rule findings, source, and timestamp.

scf_revalidate_evidence_fileA

Re-run the validation engine against an evidence file (write — editor+ role). Checks catalog existence, content type, field coverage, freshness, storage. Returns the updated result.

scf_get_evidence_validation_summaryA

Get aggregate evidence validation metrics for the organization dashboard: total files validated, counts by status (valid/warning/partial/invalid), and overall pass rate.

scf_trigger_evidence_assessmentA

Queue an AI assessment of a single evidence file (write — editor+ role, async). Returns a pending record; poll scf_get_evidence_assessment until status is sufficient/partial/insufficient.

scf_get_evidence_assessmentA

Get the AI assessment for an evidence file: status, relevance score (0–100), structured findings, summary, and audit metadata (model, tokens, cost). Poll after scf_trigger_evidence_assessment.

scf_bulk_assess_evidenceA

Queue AI assessments for multiple evidence files (write — editor+ role, async, max 50). Provide evidence_id, file_ids, and/or assess_unassessed. Returns count queued.

scf_get_evidence_assessment_summaryA

Get aggregate AI assessment metrics for the organization dashboard: total assessed, counts by status, unassessed count, average relevance score, and total cost in cents.

scf_list_evidence_tasksA

List evidence collection tasks — the work queue showing what needs to be collected, by whom, and by when. Optionally filter by assignee or status.

scf_trigger_window_assessmentA

Queue a windowed AI assessment that scores every file in the evidence item's frequency window as one portfolio (write — editor+ role, async). Returns 422 if tracking or frequency is missing.

scf_list_window_assessmentsA

List recent windowed AI assessments for an evidence item (newest first). Each entry includes window bounds, frequency, file IDs, coverage, status, relevance score, findings, and cost.

scf_get_window_assessmentA

Get one windowed AI assessment by ID. Returns full detail: window bounds, frequency, file IDs, coverage, expected artifact types, status, relevance score, findings, summary, hashes, tokens, cost.

scf_bulk_assess_windowsA

Queue windowed AI assessments for up to 25 evidence IDs (write — editor+ role, async). Items without tracking or a frequency set are reported under skipped_detail in the response.

scf_get_window_assessment_summaryA

Get aggregate windowed-assessment metrics for the organization dashboard: total windows assessed, counts by status (including insufficient_sample), average relevance score, and total cost in cents.

scf_get_control_assessment_compositeA

Get the rolled-up assessment composite for one SCF control: composite score, status band, included/missing evidence IDs, mandatory gaps, per-window detail. 404 if no composite row exists yet (async).

scf_list_control_assessment_compositesA

List rolled-up assessment composites for the org. Cursor-paginated, worst-band first (insufficient → sufficient). Filter by status/domain/computation_version. Pass next_cursor to page forward.

scf_get_evidenceA

Get one evidence tracking record (read — viewer role): tracked flag, collection method, owner, assignee, frequency, system, maturity level and its catalog deprecation badge.

scf_batch_update_evidenceA

Create or update up to 500 evidence tracking records in one transaction (write — editor role). Each upserts by evidence_id; only fields given change. Use instead of 500 scf_update_evidence calls.

scf_create_evidence_taskA

Create a manual evidence collection task against a tracking record (write — editor role). Due date and evidence_tracking_id are required; status defaults to not_started, priority to medium.

scf_update_evidence_taskA

Update an evidence collection task (write — editor role). Only passed fields change: due date, status, type, priority, title, description, notes, assignee, owning team.

scf_complete_evidence_taskA

Mark an evidence collection task completed (write — editor role). Sets status to completed and stamps the completion date; optional completion notes are stored with it.

scf_review_evidence_fileA

Approve, reject or request revision on one uploaded file (write — editor role). Returns 410 where per-window review is enabled — use scf_review_window_assessment there.

scf_delete_evidence_fileA

Soft-delete an evidence file (destructive write — editor role). The record is marked deleted and drops out of listings; the stored object is retained for audit and retention.

scf_get_upcoming_evidenceA

List evidence whose next collection falls due within N days (read — viewer role), computed from each item's frequency and last upload. The daily 'what is due' view.

scf_get_frequency_healthA

Report evidence whose declared frequency disagrees with the observed upload cadence over the last 90 days (read — viewer role). Only misaligned items are returned.

scf_get_assessment_review_queueA

List AI verdicts awaiting a human decision, worst first (read — viewer role). tier=file (default) lists per-file verdicts; tier=window is the web app's Awaiting-confirmation queue.

scf_review_evidence_assessmentA

Record a human decision on a file's current AI assessment (write — editor role). confirmed keeps the verdict; overridden needs a reason and at least one objective re-designation.

scf_refresh_stale_window_assessmentsA

Queue a fresh windowed AI assessment for every evidence item whose newest file postdates its last assessment (write — editor role). Capped per run; returns how many were queued.

scf_review_window_assessmentA

Set the acceptance review of a windowed assessment (write — editor role): approved, rejected, needs_revision, or not_reviewed to revoke. Verdict itself: scf_review_window_assessment_verdict.

scf_review_window_assessment_verdictA

Confirm or override a window's current AI verdict (write — editor role). overridden needs a reason and ≥1 objective re-designation. One decision per version; 422 without objectives: confirm.

scf_get_window_assessment_versionsA

List every AI verdict a window assessment has received, newest first (read — viewer role). Each version is frozen as reached (model, prompt version, designations) plus any human decision on it.

scf_list_risksA

List risk assessments in the organization's risk register. Returns each risk's likelihood, impact, treatment status, and linked controls.

scf_get_riskA

Get one risk assessment in detail: likelihood, inherent and residual impact scores, treatment plan, owner, and review date.

scf_create_riskA

Create a new risk assessment in the risk register (write — editor+ role). Likelihood and impact scores populate the 5×5 risk matrix.

scf_get_risk_matrixA

Get the 5×5 risk matrix data for the organization — risk distribution across likelihood × impact, ready for visualization.

scf_get_risk_summaryA

Get the organization's aggregate risk summary: totals by severity, treatment status breakdown, and trend data.

scf_list_custom_risksA

List the organization's custom risk definitions — org-defined risks alongside the static SCF catalog, carrying auto-generated R-ORG-N codes.

scf_create_custom_riskA

Create a custom org-defined risk (write — editor+ role). Auto-generates an R-ORG-N code and creates the matching risk assessment record.

scf_update_custom_riskA

Update a custom risk definition's metadata — title, description, category (write — editor+ role). Only provided fields are applied.

scf_delete_custom_riskA

Delete a custom risk definition, its assessment record, and every control mapping (destructive write — editor+ role). Irreversible.

scf_list_custom_risk_controlsA

List controls linked to a custom risk. Returns catalog_control_ids plus scoped_controls with implementation status — same shape as the built-in controls-for-risk endpoint.

scf_add_custom_risk_controlA

Link a scoped control to a custom risk (write — editor+ role). The control must already be scoped (in-scope) for this organization.

scf_remove_custom_risk_controlA

Unlink a scoped control from a custom risk (write — editor+ role). The control and risk both remain; only the mapping is removed.

scf_update_risk_assessmentB

Update a scored risk by its code (write — editor role). Only passed fields change: inherent and residual likelihood/impact 1–5, treatment status and plan, due and review dates, owner, notes.

scf_delete_risk_assessmentA

Delete an organization's scoring of a risk code (destructive write — editor role). The catalog or custom risk definition itself remains; only this org's assessment row is removed.

scf_get_risks_for_controlA

List the risk codes a control addresses and this organization's assessments of them (read — viewer role). Control-to-risk traceability from the SCF catalog mapping.

scf_get_controls_for_riskA

List the controls that address a risk code (read — viewer role). Works for catalog risks (R-XX-N via the SCF mapping) and custom risks (R-ORG-N via the org's control mappings).

scf_get_risk_profileA

Get the organization's risk profile (read — viewer role): the severity thresholds that band the 5×5 matrix into low, medium, high and critical. Auto-created with defaults if unset.

scf_list_vendorsA

List third-party vendors in the organization's TPRM (Third-Party Risk Management) registry. Optionally filter by status or criticality. Paginated.

scf_get_vendorA

Get one vendor's detail: certifications, assessments, computed risk score, and latest research results.

scf_create_vendorA

Create a vendor in the TPRM registry (write — editor+ role). Platform auto-scores risk based on criticality and data handling.

scf_update_vendorA

Update an existing vendor record (write — editor+ role). Only provided fields are applied.

scf_trigger_vendor_researchA

Queue AI security research for a vendor (write — editor+ role, async). Checks HIBP breach data, NVD vulnerabilities, and public posture. Returns a task ID; poll scf_get_vendor_research.

scf_get_vendor_researchA

Get the latest vendor research result: breach history, known vulnerabilities, and security posture analysis. Poll this after scf_trigger_vendor_research.

scf_trigger_vendor_assessmentA

Queue an AI vendor security assessment (write — editor+ role, async, HTTP 202). Replaces the deprecated DPSIA trigger. Returns assessment_id + job_id; poll scf_get_vendor_assessment_status.

scf_list_vendor_assessmentsA

List a vendor's AI security assessments, newest first. Includes status, RAG rating, recommendation, and report fields per record.

scf_get_latest_vendor_assessmentA

Get a vendor's latest completed AI security assessment: RAG status, recommendation, executive summary, report_markdown/report_json. 404 if none completed yet.

scf_get_vendor_assessmentA

Get one vendor AI assessment by ID with full detail: services_used, data_role, RAG status, recommendation, full report fields, and research sources.

scf_get_vendor_assessment_statusA

Get the job status of a queued vendor AI assessment: status, started_at, completed_at, error_message. Poll this after scf_trigger_vendor_assessment.

scf_list_vendor_certificationsA

List a vendor's certifications (read — viewer role): name, issuing body, certificate number, status, issue and expiry dates, scope and verification URL.

scf_create_vendor_certificationA

Record a certification a vendor holds (write — editor role), e.g. ISO 27001 or SOC 2 Type II. Status defaults to valid; track expiry_date so renewals surface.

scf_update_vendor_certificationA

Update a vendor certification (write — editor role). Only passed fields change; use it to mark a certificate expired or revoked, or to record the renewed expiry date.

scf_delete_vendor_certificationA

Delete a vendor certification record (destructive write — editor role). Prefer status=expired or revoked when the history matters.

scf_list_vendor_action_itemsA

List remediation action items for one vendor, or across every vendor when vendor_id is omitted (read — viewer role). Filter by status or priority.

scf_create_vendor_action_itemA

Create a remediation action item against a vendor (write — editor role), typically from an assessment finding. Priority defaults to medium, status to open.

scf_update_vendor_action_itemA

Update a vendor action item (write — editor role). Only passed fields change; set status=completed with completed_date to close it.

scf_delete_vendor_action_itemA

Delete a vendor action item (destructive write — editor role). Prefer status=cancelled when the record should stay visible.

scf_list_compensating_controlsA

List the compensating controls recorded against a vendor's gaps (read — viewer role): the gap, the control that offsets it, its effectiveness rating and risk-reduction notes.

scf_create_compensating_controlA

Record a compensating control for a vendor gap (write — editor role): what the gap is, what offsets it, and how effective that is (full, partial or minimal — default partial).

scf_update_compensating_controlA

Update a vendor compensating control (write — editor role). Only passed fields change: gap description, control text, effectiveness rating, risk-reduction notes.

scf_delete_compensating_controlA

Delete a vendor compensating control record (destructive write — editor role).

scf_get_current_userA

Get the authenticated caller's profile: name, email, organization memberships, and per-org role.

scf_list_organizationsA

List every organization the caller has access to. Returns org UUID, name, subscription tier, and member count. Use this first to obtain the org_id other tools need.

scf_get_organizationA

Get one organization's detail: subscription tier, member count, usage limits, and settings.

scf_list_membersA

List members of one organization with their role (admin, editor, or viewer).

scf_get_work_queueA

Get the caller's work queue: prioritized pending tasks, assignments, and action items across every organization they belong to.

scf_get_org_work_queueA

Get one organization's consolidated GRC work queue (read — viewer role): overdue evidence tasks, blocking controls, stale collection schedules. assigned_to_me narrows to the caller.

scf_get_audit_logA

Query one organization's append-only audit trail (read — viewer role): field-level changes with actor, source and before/after values. Filter by entity, control, action, actor, source, date or text.

scf_get_change_cursorA

Cheap has-anything-changed probe (read — viewer role): newest audit timestamp and row count for one organization. Compare with the pair you last saw; poll this before re-pulling the audit log.

scf_get_notificationsA

Get the caller's notifications: new assignments, comments, status changes, and system alerts.

scf_mark_notifications_readA

Mark notifications read for the current user (write — self only): one by notification_id, or every notification when all=true. Acknowledge after processing scf_get_notifications.

scf_list_capability_themesA

List an organization's 11 KSI capability themes. Themes group NIST 800-53 controls into security capability areas for a high-level posture view.

scf_list_capabilitiesB

List an organization's capabilities. Capabilities map to systems and evidence, showing what security functions the infrastructure supports.

scf_list_systemsA

List the organization's infrastructure systems — the tools and platforms that implement security capabilities. Optionally filter by linked vendor.

scf_create_systemA

Create a system in the organization's infrastructure inventory (write — editor+ role). Systems can be linked to capabilities and evidence.

scf_update_systemA

Update an existing system record (write — editor+ role). All fields are optional; only provided fields are applied.

scf_get_capability_theme_scorecardB

Get the multi-axis KSI scorecard for every capability theme. Returns per-theme Implementation Coverage, Maturity, Evidence Coverage, Evidence Quality, and composite KSI Posture Score bands.

scf_get_capability_themeA

Get a single capability theme (KSI) with full posture, multi-axis scores, band, and legacy posture_percentage.

scf_list_capability_theme_controlsA

List SCF controls mapped to a capability theme (KSI), with scoping status, implementation status, and maturity level. Supports pagination and scope filtering — ideal for KSI drill-down.

scf_list_system_catalogA

List system-catalog templates — the platform's knowledge base of known vendors/tools (slug, vendor, type, recipe maturity levels). Optionally search by name.

scf_get_system_catalog_templateA

Get one system-catalog template by slug with full detail: aliases and curated evidence-collection recipes (maturity level, steps, frequency, estimated time).

scf_get_system_recipesA

Get evidence-collection recipes for a system, matched via its catalog template, alias, or fallback. Returns matched_via, the template summary, and per-maturity-level recipe steps.

scf_generate_system_recipesA

Queue AI generation of evidence-collection recipes for a system (write — editor+ role, async, HTTP 202). Poll scf_get_recipe_generation_status for progress.

scf_get_recipe_generation_statusA

Get the status of a queued AI recipe-generation job for a system. Poll this after scf_generate_system_recipes.

scf_get_capability_theme_evidence_postureA

Get per-theme evidence metrics: controls with evidence, file counts by assessment status, average relevance score, and derived confidence (strong/moderate/weak/none). Use for KSI evidence dashboards.

scf_get_systemA

Get one system from the organization's inventory (read — viewer role): name, type, vendor, description, catalog template link and the evidence it is configured to provide.

scf_list_system_capabilitiesA

List the evidence types a system can provide and how (read — viewer role): capability status potential/configured/active, collection method, confidence and data format.

scf_create_system_capabilityA

Declare that a system can provide one evidence type (write — editor role). One entry per evidence_id per system; status defaults to potential, confidence to medium.

scf_update_system_capabilityA

Update a system's evidence capability (write — editor role). Only passed fields change; move status potential → configured → active as the collector is wired up.

scf_get_systems_for_evidenceA

Find every system that can provide a given evidence type (read — viewer role) — the inverse of the per-system capability list. Filter by capability status.

scf_create_webhookA

Create a webhook endpoint for evidence-inbox ingestion (write — admin role). Returns the plaintext HMAC signing secret exactly once — store it immediately; it cannot be retrieved later.

scf_list_webhooksA

List the organization's webhook endpoints (newest first). Returns name, status, delivery count, and secret prefix.

scf_get_webhookA

Get one webhook endpoint's detail: delivery stats, allowed evidence IDs, and rate-limit configuration.

scf_delete_webhookA

Revoke a webhook endpoint — soft-delete that marks it inactive (destructive write — admin role). Future deliveries return 403; the record remains for audit.

scf_rotate_webhook_secretA

Rotate the HMAC signing secret for a webhook endpoint (write — admin role). The old secret is invalidated immediately. Returns the new plaintext secret exactly once.

scf_list_webhook_deliveriesA

List delivery logs for a webhook endpoint (newest first). Each entry shows signature validation result, processing status, evidence ID, and timestamps.

scf_list_document_generatorsA

List the ISMS document generators available to this organization (read — viewer role): generator name, document type, tier, derivative flag. Call before scf_generate_documents.

scf_list_document_domainsA

List the SCF domains this organization can currently generate documents for (read — viewer role). A domain appears only when it has enough scoped controls to produce a document.

scf_get_document_settingsA

Get the organization's document-generation settings (read — viewer role): whether doc-gen is enabled, whether derivative generators are enabled, and the SCF licence acknowledgement state.

scf_update_document_settingsA

Enable or configure document generation (write — admin role). Generation stays blocked until the SCF licence is acknowledged, so the first call usually sets both enabled and acknowledge_licence.

scf_generate_documentsA

Queue ISMS document generation for one or more generators (write — admin role). Returns a task_id; poll scf_get_document_generation_status. Existing documents are skipped unless force is set.

scf_get_document_generation_statusA

Poll this organization's in-flight document generation (read — viewer role). Returns {status: 'idle'} when nothing is running. Call after scf_generate_documents until it completes.

scf_list_documentsA

List generated ISMS documents (read — viewer role): lifecycle status, section counts, unresolved conflicts, pending retirements, and whether the document is stale against current org inputs.

scf_get_documentA

Get one generated document in full (read — viewer role): metadata plus every section with its merge state — clean, edited, conflicted or pending retirement. Use this to read a document.

scf_update_document_sectionA

Replace one section's content with a human edit (write — editor role). Tracked as a human layer, so a later regeneration reports a conflict instead of overwriting it silently.

scf_get_document_section_generatedA

Get the generator's own version of a section, ignoring any human edit (read — viewer role). Use it to see what the platform would produce before resolving a conflict.

scf_resolve_document_sectionA

Resolve one section's merge state (write — editor role). keep_mine/take_generated settle a conflict; retire/keep dispose of a pending retirement. The wrong pair for the state returns 409.

scf_transition_documentA

Move a document through its lifecycle — draft to review, review to approved, approved to published (write — approving and publishing need admin). Valid targets are enforced by the platform.

scf_get_document_historyA

Get a document's version and transition history (read — viewer role): who moved it between lifecycle states, when, why, and what each generation version changed.

scf_export_documentA

Export a document as rendered markdown or HTML text (read — viewer role). The platform also renders PDF, but that is a binary download and is not offered here — fetch it from the web UI instead.

scf_preview_documentA

Preview a document's assembled content as structured JSON (read — viewer role) — the merged result of generated and edited sections without rendering to a file.

scf_list_engagementsA

List the organization's audit engagements (read — viewer role). Each entry carries its frameworks, status, dates and the catalog version its scope was frozen against.

scf_get_engagementA

Get one audit engagement's detail (read — viewer role, or an auditor assigned to this engagement).

scf_create_engagementA

Create an audit engagement in draft (write — editor role). Freezes the in-scope controls for the named frameworks against the current catalog version, so the scope renders after deprecations.

scf_update_engagementA

Update an engagement's name, frameworks, status or dates (write — editor role). Only passed fields change; status moves are caller-controlled: draft → active → under_review → closed.

scf_delete_engagementA

Delete a draft audit engagement and its frozen scope (destructive write — admin role). Non-draft engagements are refused with 409 — close them instead. Auditor grants are revoked with it.

scf_get_engagement_scopeA

Get an engagement's frozen control scope (read — viewer role, or an assigned auditor). Rows carry a catalog lifecycle badge, so controls deprecated since the freeze still render, marked.

scf_get_engagement_presentationB

Get the engagement's scope presented natively in one of its frameworks (read — viewer, or assigned auditor): SCF controls organised by that framework's own structure, as an auditor reads them.

scf_list_my_engagementsA

List engagements the caller holds an active auditor grant on, across organizations (read). The auditor's own view — use scf_list_engagements for the organization-side list.

scf_list_engagement_auditorsA

List the auditors granted read access to one engagement (read — viewer role). Each grant carries its status: invited, active or revoked.

scf_add_engagement_auditorA

Grant an existing user read access to one engagement (write — admin role). Scoped to that engagement's frozen scope and queries only; re-granting a revoked auditor reactivates the grant.

scf_remove_engagement_auditorA

Revoke an auditor's access to one engagement (destructive write — admin role). Returns no content on success.

scf_list_engagement_queriesA

List an engagement's structured auditor queries (read — viewer role, or an assigned auditor). A query is an auditor's question against one control, with its responses and status.

scf_get_engagement_queryA

Get one auditor query with its full response thread (read — viewer role, or an assigned auditor).

scf_create_engagement_queryA

Raise an auditor query against one control in the engagement's scope (write — org member or assigned auditor). The control must be in the engagement's frozen scope.

scf_respond_to_engagement_queryA

Add a response to an auditor query (write — org member or assigned auditor). Posting a response moves an open query to answered. Returns the updated query with its full thread.

scf_update_engagement_query_statusA

Move an auditor query through its lifecycle (write — org member or assigned auditor). Allowed: open → answered|closed, answered → open|closed, closed → open. Others are refused.

scf_get_catalog_reconciliation_statusA

Get this organization's catalog position (read — viewer role): its catalog version, the platform's current version, and whether reconciliation is due or in flight. Start here.

scf_preview_catalog_reconciliationA

Create a reconciliation preview run (write — admin role): what moving to the target catalog version would do to scoped controls, evidence and mappings. Changes nothing until apply.

scf_list_reconciliation_runsA

List this organization's catalog reconciliation runs, newest first (read — viewer role), with each run's status and target version.

scf_get_reconciliation_runA

Get one reconciliation run in detail (read — viewer role): the computed diff, every deprecated entity needing a decision, and the planned action currently recorded against each.

scf_set_reconciliation_actionsA

Record decisions for a reconciliation run (write — admin role). REPLACES the run's planned actions, so send the complete list. Each deprecated entity gets migrate, retain or retire_only.

scf_apply_catalog_reconciliationA

Apply a previewed reconciliation run (write — admin role). Asynchronous. The run must be 'previewed' and expected_to_version must match, so a stale preview is refused rather than applied.

scf_rollback_catalog_reconciliationA

Roll an applied reconciliation run back (destructive write — admin role). Asynchronous, and requires the typed confirmation string the run detail states.

scf_cancel_catalog_reconciliationA

Cancel a reconciliation run that has not been applied (write — admin role). The organization stays on its current catalog version.

scf_get_catalog_changelogA

Get this organization's catalog changelog (read — viewer role): what changed across reconciliations, newest first. Answers 'when did this control change, and what did we decide?'

scf_list_functionsA

List the platform's business functions (read — any member): the fixed set every team aligns to, identical for every tenant. Needed for the function_id on scf_create_team.

scf_list_teamsA

List the organization's teams (read — viewer role). Archived teams are hidden unless include_inactive is set; they are kept, never deleted, so history still resolves.

scf_get_teamA

Get one team with its full roster and advisory health warnings (read — viewer role), e.g. no primary owner or no members.

scf_create_teamA

Create a team aligned to a business function (write — admin role). The team is born empty; that is legal and reported through health warnings, not refused.

scf_update_teamA

Update a team's name, description, function alignment or active flag (write — admin role). Set is_active=false to archive; the row is never deleted.

scf_add_team_memberA

Add an organization member to a team as primary, delegate or member (write — admin role). Adding a primary or delegate when the seat is taken demotes the incumbent to member.

scf_remove_team_memberA

Remove a user from a team (destructive write — admin role). The membership row is deleted; the audit trail keeps the history.

scf_list_team_assignmentsA

Map of which team owns which scoped control or evidence item (read — viewer role). Unfiltered returns the whole map; narrow with item_ids, team_id or accountable_only.

scf_create_team_assignmentA

Assign a team to one scoped control or evidence item (write — admin role). is_accountable makes it the accountable team and demotes any incumbent to consulted.

scf_batch_create_team_assignmentsA

Assign one team to up to 500 controls or evidence items in one transaction with one aggregate notification (write — admin role). The bulk accountability tool.

scf_delete_team_assignmentA

Remove a team's assignment from a control or evidence item (destructive write — admin role).

scf_list_assignmentsA

List user assignments to controls, evidence items or tasks (read — viewer role). Filter by item type and id, or by user_id to see one person's workload.

scf_create_assignmentA

Assign a user to a control, evidence item or task as primary or collaborator (write — editor role). Use scf_batch_update_evidence for evidence owners in bulk.

scf_delete_assignmentA

Remove a user assignment (destructive write — editor role).

scf_list_commentsA

List the comment thread on one control, evidence item or task (read — viewer role), oldest first, with authors, mentions and reply structure.

scf_create_commentA

Post a comment on a control, evidence item or task (write — any member). Mention users by UUID to notify them; set parent_comment_id to reply in a thread.

scf_update_commentA

Edit a comment you authored (write — author only). Replaces the body and, if given, the mentions; the platform keeps the edit history.

scf_delete_commentA

Retract a comment you authored (write — author only). Soft delete: the thread keeps its place, the body is withdrawn.

scf_get_journeyA

Get the organization's guided journey — the staged path it walks, with preconditions evaluated (read — viewer role). Never writes: an org without a journey sees the default template as a preview.

scf_list_journey_templatesA

List the journey templates this deployment ships (read — viewer role). If importing a returned template_key 404s, the file's declared key differs from its filename stem — import by the stem.

scf_import_journeyA

Set or re-issue the org's journey from a template (write — ADMIN role). Merges by stage key: attestations survive; dropping an attested stage is refused (409). An uploaded template wins outright.

scf_attest_journey_stageA

Pass a journey stage by named attestation (write — editor+). The ONLY way a stage passes — nothing advances on computed evidence — and who attested is recorded. A conditional pass needs target_date.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 196 tools

Disambiguation3/5

Most tools are cleanly separated by a consistent verb+resource pattern and unusually detailed descriptions, so list/get/summary variants are usually distinguishable. However, the 196-tool surface reuses the same vocabulary across different concepts (capability vs capability_theme vs system_capability) and has near-neighbor pairs like review_window_assessment vs review_window_assessment_verdict that can mislead before the description is read.

Naming Consistency4/5

Names are almost uniformly scf_ + snake_case verb_noun, and resource nouns remain stable across list/get/create/update/delete operations. Minor deviations—batch vs bulk, get_systems_for_evidence, and long chains like review_window_assessment_verdict—add noise but do not break the overall pattern.

Tool Count1/5

196 tools is far beyond a coherent single-server surface, even for a broad GRC platform. It would be much more navigable split into per-domain servers (evidence, risk, vendor, engagement, documents, admin). The sheer namespace forces agents to scan a huge list for any task.

Completeness4/5

Across controls, evidence, risks, vendors, teams, engagements, documents, and webhooks, the set provides comprehensive lifecycle coverage with create/read/update/delete or deliberate status-transition alternatives. Minor gaps exist—no update_webhook, no delete for systems/vendors/evidence tracking records—but they are workable and often appear to be retention-by-design.

Maintenance

ActivityActive
ResponsivenessResponsive