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.

app.scfcontrolsplatform/mcp-server-scf

NPM · MCP-SERVER-SCF · SCANNED SEP 13

MCP server for the SCF Controls Platform — 128 tools for controls, evidence, risk, and TPRM.

Available components

0 this week 95 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 Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 32 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to MarkAC007/mcp-server-scf). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 5 days ago).Pass
  • Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability82
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 13281 tokens (~103/item across 128 items; 128 tools + 0 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 Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 128 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the app.scfcontrolsplatform/mcp-server-scf server?

app.scfcontrolsplatform/mcp-server-scf runs locally as an npm package, launched with npx -y mcp-server-scf. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · mcp-server-scf

# add to Claude Code
claude mcp add app-scfcontrolsplatform-mcp-server-scf -- npx -y mcp-server-scf
// .cursor/mcp.json
{
  "mcpServers": {
    "app-scfcontrolsplatform-mcp-server-scf": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-scf"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "app-scfcontrolsplatform-mcp-server-scf": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-scf"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add app-scfcontrolsplatform-mcp-server-scf -- npx -y mcp-server-scf
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-scfcontrolsplatform-mcp-server-scf": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-server-scf"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add app-scfcontrolsplatform-mcp-server-scf --command npx --arg -y --arg mcp-server-scf
# ~/.hermes/config.yaml
mcp_servers:
  app-scfcontrolsplatform-mcp-server-scf:
    command: "npx"
    args: ["-y", "mcp-server-scf"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "app-scfcontrolsplatform-mcp-server-scf": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "mcp-server-scf"
      ]
    }
  }
}
# add to Vellum
assistant mcp add app-scfcontrolsplatform-mcp-server-scf -t stdio -c npx -a -y mcp-server-scf
// mcp.json
{
  "mcpServers": {
    "app-scfcontrolsplatform-mcp-server-scf": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-scf"
      ]
    }
  }
}
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.

  • 13 Sept 26 0
    • Security disclosure: pass → unverified functional
  • 12 Sept 26 +1

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

  • 10 Sept 26 +1

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

  • 9 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 8 Sept 26 +26
    • Malware scan: unverified → pass security
    • Known CVEs: unverified → pass security
    • Stability: 0.97 → pass security
    • Dependency health: unverified → 0.84 functional
  • 7 Sept 26 −25
    • Known CVEs: pass → unverified security
    • Malware scan: pass → unverified security
    • Dependency health: 0.84 → unverified functional
    • Package version: 2.2.1 → 3.0.0 functional
    • Package version: 2.2.1 → 2.2.3 functional
  • 5 Sept 26 +1

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

  • 3 Sept 26 +1

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

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 13 Sept 2026 · Analysed npm/mcp-server-scf@3.0.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo MarkAC007/mcp-server-scf
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/MarkAC007/mcp-server-scf/.github/workflows/auto-release.yml@refs/heads/main
Rekor log index 2749708914
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:3dcc7c36063775f27f59a09ee150a47a62fcd5ee612bc371a2de67e4aa44f23b4e002cf173fbd797b70d165e760e5f55701b625f907bc936c49b35d8d

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 32
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 128 exposed · ~13,281 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
scf_add_custom_risk_control ~132

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
risk_codestringyesCustom risk code in R-ORG-N format (e.g., 'R-ORG-1') — obtain from scf_list_custom_risks
scf_idstringyesSCF control ID to link (e.g., 'AST-01') — obtain from scf_list_scoped_controls

No output schema declared.

No examples provided.

scf_add_engagement_auditor ~115

Grant an existing user read access to one engagement (write — admin role). The grant is engagement-scoped: it exposes that engagement's frozen scope and queries, nothing else in the organization.

NameTypeReqDescription
engagement_idstringyesAudit engagement UUID — obtain from scf_list_engagements
org_idstringyesOrganization UUID — obtain from scf_list_organizations
user_idstringyesUUID of an existing user to grant engagement access to — obtain from scf_list_members

No output schema declared.

No examples provided.

scf_apply_catalog_reconciliation ~122

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.

NameTypeReqDescription
expected_to_versionstringyesThe target catalog version from the run detail — guards against applying a stale preview
org_idstringyesOrganization UUID — obtain from scf_list_organizations
run_idstringyesReconciliation run UUID — obtain from scf_list_reconciliation_runs or scf_preview_catalog_reconciliation

No output schema declared.

No examples provided.

scf_batch_update_controls ~79

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.

NameTypeReqDescription
operationsarrayyesUpdate operations to apply (1–500 per call)
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_bulk_assess_evidence ~124

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.

NameTypeReqDescription
assess_unassessedbooleanAlso assess every file that has no existing assessment (default false)
evidence_idstringEvidence ID — assesses every file under this evidence item
file_idsarraySpecific evidence file UUIDs to assess
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_bulk_assess_windows ~106

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.

NameTypeReqDescription
evidence_idsarrayyesEvidence IDs to assess (e.g., ['E-IAM-01','E-BCM-11']); 1–25 per request
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_cancel_catalog_reconciliation ~82

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
run_idstringyesReconciliation run UUID — obtain from scf_list_reconciliation_runs or scf_preview_catalog_reconciliation

No output schema declared.

No examples provided.

scf_create_custom_risk ~135

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

NameTypeReqDescription
category_colorstringHex color for the category badge, e.g., '#6b7280' (default '#6b7280')
category_namestringCategory label shown in UI (default 'Custom')
descriptionstringyesRisk description (required)
org_idstringyesOrganization UUID — obtain from scf_list_organizations
titlestringyesRisk title (required, max 100 chars)

No output schema declared.

No examples provided.

scf_create_engagement ~145

Create an audit engagement (write — admin role). This freezes the in-scope controls for the named frameworks against the current catalog version, so the scope renders even after deprecations.

NameTypeReqDescription
end_datestringFieldwork end date, ISO 8601 (YYYY-MM-DD)
frameworksarrayyesFramework identifiers in scope — obtain from scf_list_frameworks
namestringyesEngagement name, e.g. a framework and audit period
org_idstringyesOrganization UUID — obtain from scf_list_organizations
start_datestringFieldwork start date, ISO 8601 (YYYY-MM-DD)

No output schema declared.

No examples provided.

scf_create_engagement_query ~145

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

NameTypeReqDescription
bodystringyesFull text of the query
engagement_idstringyesAudit engagement UUID — obtain from scf_list_engagements
org_idstringyesOrganization UUID — obtain from scf_list_organizations
scf_idstringyesSCF control the query is about, in DOMAIN-NN format — must be in scope, see scf_get_engagement_scope
titlestringyesShort summary of what is being asked

No output schema declared.

No examples provided.

scf_create_evidence ~247

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

NameTypeReqDescription
collecting_systemstringName of the tool or system that collects the evidence
commentsstringFree-text notes or context
evidence_idstringyesCatalog evidence ID (e.g., 'E-IAM-01') — obtain from scf_list_evidence_catalog
frequencystringCollection cadence: 'daily', 'weekly', 'monthly', 'quarterly', or 'annually'
is_trackedbooleanStart actively tracking this item (default false)
maturity_levelstringEvidence maturity level L0–L5 (e.g., 'L3'); omit to leave unset
method_of_collectionstringCollection approach: 'automated', 'manual', or 'hybrid'
org_idstringyesOrganization UUID — obtain from scf_list_organizations
ownerstringPerson accountable for this evidence item
system_idstringSystem UUID to link this evidence to — obtain from scf_list_systems

No output schema declared.

No examples provided.

scf_create_risk ~188

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

NameTypeReqDescription
control_idstringSCF control ID to link (e.g., 'AST-01') — obtain from scf_list_controls
descriptionstringyesRisk description (required)
impactintegeryesInherent impact on a 1–5 scale
likelihoodintegeryesInherent likelihood on a 1–5 scale
org_idstringyesOrganization UUID — obtain from scf_list_organizations
ownerstringName or identifier of the risk owner
titlestringyesRisk title (required, max ~100 chars)
treatment_statusstringTreatment status: 'mitigate', 'accept', 'transfer', or 'avoid'

No output schema declared.

No examples provided.

scf_create_system ~219

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

NameTypeReqDescription
catalog_template_idintegerSystem-catalog template ID to link — obtain from scf_list_system_catalog
categorystringFree-text category (e.g., 'SIEM', 'Endpoint', 'Identity')
descriptionstringFree-text description of the system
namestringyesHuman-readable system name (required)
org_idstringyesOrganization UUID — obtain from scf_list_organizations
statusstringLifecycle status (default: active)
system_typestringyesSystem classification: cloud_provider, identity_provider, ticketing, logging, security_tool, code_repository, document_management, or custom
vendorstringLegacy free-text vendor name (prefer vendor_id for a structural link)
vendor_idstringVendor UUID to structurally link this system to — obtain from scf_list_vendors (same org)

No output schema declared.

No examples provided.

scf_create_vendor ~161

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

NameTypeReqDescription
categorystringCategory label (e.g., 'SaaS', 'Infrastructure', 'Consulting')
contact_emailstringPrimary contact email address
criticalitystringBusiness criticality tier (default 'medium')
descriptionstringShort free-text description of the vendor
namestringyesVendor legal or trading name (required)
org_idstringyesOrganization UUID — obtain from scf_list_organizations
statusstringLifecycle status (default 'prospect')
websitestringVendor website URL

No output schema declared.

No examples provided.

scf_create_webhook ~167

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.

NameTypeReqDescription
allowed_evidence_idsarrayRestrict ingestion to specific evidence IDs (e.g., ['ERL-IAM-001']); omit to allow any
descriptionstringFree-text description of what this endpoint is for
namestringyesHuman-readable label (e.g., 'Splunk SIEM', 'AWS Config')
org_idstringyesOrganization UUID — obtain from scf_list_organizations
rate_limit_per_minuteintegerPer-endpoint rate limit in requests/min (1–10000); omit to use the org default

No output schema declared.

No examples provided.

scf_delete_custom_risk ~95

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
risk_codestringyesCustom risk code in R-ORG-N format (e.g., 'R-ORG-1') — obtain from scf_list_custom_risks

No output schema declared.

No examples provided.

scf_delete_engagement ~82

Delete an audit engagement and its frozen scope (destructive write — admin role). Returns no content on success. Auditor access granted through this engagement is revoked with it.

NameTypeReqDescription
engagement_idstringyesAudit engagement UUID — obtain from scf_list_engagements
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_delete_webhook ~81

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

NameTypeReqDescription
endpoint_idstringyesWebhook endpoint UUID — obtain from scf_list_webhooks
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_export_document ~109

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.

NameTypeReqDescription
document_idstringyesGenerated document UUID — obtain from scf_list_documents
formatstringExport format: 'md' for markdown, 'html' for rendered HTML
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_generate_documents ~109

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.

NameTypeReqDescription
forcebooleanRegenerate even when a document already exists for that generator and domain (default false)
org_idstringyesOrganization UUID — obtain from scf_list_organizations
requestsarrayyesBetween 1 and 40 generation requests to queue in this batch

No output schema declared.

No examples provided.

scf_generate_system_recipes ~82

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
system_idstringyesSystem UUID — obtain from scf_list_systems

No output schema declared.

No examples provided.

scf_get_audit_log ~95

Get one organization's audit trail: field-level changes to controls, evidence, and related entities, with actor, timestamp, and before/after values.

NameTypeReqDescription
limitintegerPage size (1–100, default 50)
offsetintegerPagination offset — number of results to skip (default 0)
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_capability_theme ~88

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
theme_codestringyesCapability theme code (e.g., 'ACCESS_CONTROL', 'INCIDENT_RESPONSE') — obtain from scf_list_capability_themes

No output schema declared.

No examples provided.

scf_get_capability_theme_evidence_posture ~74

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.

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_capability_theme_scorecard ~69

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.

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_catalog_changelog ~101

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?'

NameTypeReqDescription
limitintegerPage size, 1–500 (default 50)
offsetintegerRows to skip for pagination (default 0)
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_catalog_reconciliation_status ~64

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.

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_control ~75

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

NameTypeReqDescription
scf_idstringyesSCF control identifier in DOMAIN-NN format (e.g., 'AST-01', 'IAC-15', 'GOV-02')

No output schema declared.

No examples provided.

scf_get_control_assessment_composite ~106

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
scf_idstringyesSCF control identifier in DOMAIN-NN format (e.g., 'AST-01', 'GOV-02')

No output schema declared.

No examples provided.

scf_get_current_user ~30

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

scf_get_document ~84

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.

NameTypeReqDescription
document_idstringyesGenerated document UUID — obtain from scf_list_documents
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_document_generation_status ~65

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.

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_document_history ~79

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.

NameTypeReqDescription
document_idstringyesGenerated document UUID — obtain from scf_list_documents
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_document_section_generated ~132

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.

NameTypeReqDescription
document_idstringyesGenerated document UUID — obtain from scf_list_documents
org_idstringyesOrganization UUID — obtain from scf_list_organizations
section_idstringyesSection identifier from the document detail (scf_get_document). May contain slashes — pass it exactly as returned, unescaped.
versionintegerGeneration version number to read; omit for the latest

No output schema declared.

No examples provided.

scf_get_document_settings ~61

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.

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_engagement ~69

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

NameTypeReqDescription
engagement_idstringyesAudit engagement UUID — obtain from scf_list_engagements
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_engagement_presentation ~111

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.

NameTypeReqDescription
engagement_idstringyesAudit engagement UUID — obtain from scf_list_engagements
frameworkstringyesFramework to present from — must be one of the engagement's own frameworks
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_engagement_query ~89

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

NameTypeReqDescription
engagement_idstringyesAudit engagement UUID — obtain from scf_list_engagements
org_idstringyesOrganization UUID — obtain from scf_list_organizations
query_idstringyesQuery UUID — obtain from scf_list_engagement_queries

No output schema declared.

No examples provided.

scf_get_engagement_scope ~86

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.

NameTypeReqDescription
engagement_idstringyesAudit engagement UUID — obtain from scf_list_engagements
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_assessment ~124

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.

NameTypeReqDescription
evidence_idstringyesEvidence ID (e.g., 'ERL-IAM-001') — obtain from scf_list_evidence
file_idstringyesEvidence file UUID — obtain from scf_list_evidence_files
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_assessment_summary ~64

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_file ~110

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.

NameTypeReqDescription
evidence_idstringyesEvidence ID (e.g., 'ERL-IAM-001') — obtain from scf_list_evidence
file_idstringyesEvidence file UUID — obtain from scf_list_evidence_files
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_health ~58

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_item_maturity ~92

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

NameTypeReqDescription
evidence_idstringyesEvidence ID (e.g., 'E-RSK-02') — obtain from scf_list_evidence
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_maturity ~54

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_suggestions ~93

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.

NameTypeReqDescription
evidence_idstringyesEvidence ID (e.g., 'E-RSK-02') — obtain from scf_list_evidence
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_upgrade_recommendations ~96

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.

NameTypeReqDescription
evidence_idstringyesEvidence ID (e.g., 'E-RSK-02') — obtain from scf_list_evidence
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_validation ~112

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

NameTypeReqDescription
evidence_idstringyesEvidence ID (e.g., 'ERL-IAM-001') — obtain from scf_list_evidence
file_idstringyesEvidence file UUID — obtain from scf_list_evidence_files
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_evidence_validation_summary ~62

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_get_latest_vendor_assessment ~81

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
vendor_idstringyesVendor UUID — obtain from scf_list_vendors

No output schema declared.

No examples provided.

Common questions

What is the app.scfcontrolsplatform/mcp-server-scf server?

app.scfcontrolsplatform/mcp-server-scf is listed in the public MCP registry as app.scfcontrolsplatform/mcp-server-scf. MCP server for the SCF Controls Platform, 128 tools for controls, evidence, risk, and TPRM. This page covers its npm package (mcp-server-scf).

Is the app.scfcontrolsplatform/mcp-server-scf server safe to use?

app.scfcontrolsplatform/mcp-server-scf scores 95 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 13 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. 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 app.scfcontrolsplatform/mcp-server-scf server expose?

app.scfcontrolsplatform/mcp-server-scf exposes 128 tools: scf_list_controls, scf_get_control, scf_list_frameworks, scf_list_domains, scf_list_evidence_catalog, and 123 more. Their descriptions and schemas cost roughly 13,281 tokens of context every time the server is loaded.

Is the app.scfcontrolsplatform/mcp-server-scf server still maintained?

app.scfcontrolsplatform/mcp-server-scf is still listed as active in the MCP registry. We last reached this channel on 13 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 app.scfcontrolsplatform/mcp-server-scf server under?

app.scfcontrolsplatform/mcp-server-scf declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.