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

app.scfcontrolsplatform/mcp-server-scf

NPM · MCP-SERVER-SCF · SCANNED AUG 3

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

Available components

+56 this week 80 Trust /100
Trust breakdown (6 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 →

Supply Chain Security86
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. 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 16 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability80
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 9120 tokens (~103/item across 88 items; 88 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 Management27
  • Stability observed for 8 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
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · mcp-server-scf

# add to Claude Code
claude mcp add app-scfcontrolsplatform-mcp-server-scf -- npx -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"]
// 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.

  • 2 Aug 26 +75
    • Install scripts: unverified → pass security
    • Provenance: unverified → pass security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • The attested source repository moved: MarkAC007/mcp-server-scf security
    • Schema quality: unverified → excellent functional
    • Tool coverage: unverified → 100 functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Stability: unverified → 0.23 functional
    • Licence: MIT functional
  • 1 Aug 26 −16
    • Tool coverage: 100 → unverified functional
  • 31 Jul 26 −25
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +22
    • Tool coverage: unverified → 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: unverified functional
    • First check of Tool coverage: 100 functional
  • 27 Jul 26 24

    First indexed and scored.

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 3 Aug 2026 · Analysed npm/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

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:
2190689507
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:70079fcd0ab53f25d0a49884a03acdf119790c39032c031143a9d2c138333349422389eab430663d398fca1dcdb5aa97c021c4264dcf66085871e7579
Discovery method:
attestation_endpoint
Dependencies 94 packages

94 packages in the resolved dependency tree · 94 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 88 exposed · ~9,120 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.

Tool Tokens
scf_list_capabilities ~50

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_list_capability_theme_controls ~154

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.

NameTypeReqDescription
limitintegerMax results per page (1–200, default 50)
offsetintegerPagination offset — number of results to skip (default 0)
org_idstringyesOrganization UUID — obtain from scf_list_organizations
scope_statusstringFilter by scoping status (default: in_scope)
theme_codestringyesCapability theme code (e.g., 'ACCESS_CONTROL') — obtain from scf_list_capability_themes

No output schema declared.

No examples provided.

scf_list_capability_themes ~61

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_list_control_assessment_composites ~192

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.

NameTypeReqDescription
computation_versionintegerRestrict to composites computed at this algorithm version
cursorstringOpaque pagination cursor — pass next_cursor from a prior response
domainstringFilter by SCF domain code (e.g., 'BCD', 'GOV', 'AST')
limitintegerPage size (1–500, default 100)
org_idstringyesOrganization UUID — obtain from scf_list_organizations
statusstringComma-separated composite_status values to include (e.g., 'insufficient,partial'). Valid values: insufficient, insufficient_sample, partial, pending, no_evidence, sufficient

No output schema declared.

No examples provided.

scf_list_controls ~167

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.

NameTypeReqDescription
domainstringSCF domain code (e.g., 'GOV', 'AST', 'IAC') — obtain from scf_list_domains
frameworkstringFramework slug (e.g., 'nist-800-53', 'iso-27001') — obtain from scf_list_frameworks
limitintegerPage size (1–100, default 25)
offsetintegerPagination offset — number of results to skip (default 0)
searchstringFree-text filter applied to control title and description

No output schema declared.

No examples provided.

scf_list_custom_risk_controls ~104

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.

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_list_custom_risks ~57

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_list_domains ~45

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

scf_list_evidence ~78

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
system_idstringSystem UUID to filter by — obtain from scf_list_systems

No output schema declared.

No examples provided.

scf_list_evidence_catalog ~96

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.

NameTypeReqDescription
limitintegerPage size (1–100, default 25)
offsetintegerPagination offset — number of results to skip (default 0)
searchstringFree-text filter applied to evidence title and description

No output schema declared.

No examples provided.

scf_list_evidence_files ~96

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

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

No output schema declared.

No examples provided.

scf_list_evidence_gaps ~56

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_list_evidence_tasks ~98

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

NameTypeReqDescription
assigneestringFilter by assigned user ID
org_idstringOrganization UUID — obtain from scf_list_organizations
statusstringFilter by task status (e.g., 'open', 'in_progress', 'done')

No output schema declared.

No examples provided.

scf_list_frameworks ~57

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

scf_list_members ~44

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_list_organizations ~45

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

scf_list_risks ~116

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
pageinteger1-indexed page number (default 1)
per_pageintegerPage size (1–100, default 25)
statusstringFilter by treatment status (e.g., 'mitigate', 'accept', 'transfer', 'avoid')

No output schema declared.

No examples provided.

scf_list_scoped_controls ~262

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

NameTypeReqDescription
control_weightingintegerWeighting threshold on a 0–10 scale
csf_functionstringNIST CSF function: 'GOVERN', 'IDENTIFY', 'PROTECT', 'DETECT', 'RESPOND', or 'RECOVER'
domainstringSCF domain code (e.g., 'GOV', 'AST', 'IAC')
frameworkstringFramework slug (e.g., 'nist-800-53') to filter mapped controls
limitintegerPage size (1–200, default 50)
offsetintegerPagination offset — number of results to skip (default 0)
org_idstringyesOrganization UUID — obtain from scf_list_organizations
scope_statusstringScope filter: 'in_scope' (selected), 'out_of_scope' (deselected), or 'all' (default — everything)
searchstringFree-text filter applied to control ID, name, or description

No output schema declared.

No examples provided.

scf_list_system_catalog ~61

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

NameTypeReqDescription
searchstringFree-text search across template names, vendors, and aliases

No output schema declared.

No examples provided.

scf_list_systems ~77

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
vendor_idstringFilter to systems structurally linked to this vendor UUID — obtain from scf_list_vendors

No output schema declared.

No examples provided.

scf_list_vendor_assessments ~75

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

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

No output schema declared.

No examples provided.

scf_list_vendors ~117

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

NameTypeReqDescription
criticalitystringCriticality tier filter
org_idstringyesOrganization UUID — obtain from scf_list_organizations
pageinteger1-indexed page number (default 1)
per_pageintegerPage size (1–100, default 25)
statusstringLifecycle status filter

No output schema declared.

No examples provided.

scf_list_webhook_deliveries ~116

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

NameTypeReqDescription
endpoint_idstringyesWebhook endpoint UUID — obtain from scf_list_webhooks
limitintegerPage size (1–200, default 50)
offsetintegerPagination offset — number of deliveries to skip (default 0)
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_list_webhooks ~51

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_list_window_assessments ~134

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.

NameTypeReqDescription
evidence_idstringyesEvidence ID (e.g., 'E-IAM-01') — obtain from scf_list_evidence
limitintegerPage size (1–100, default 10)
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_remove_custom_risk_control ~132

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

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 unlink (e.g., 'AST-01') — obtain from scf_list_custom_risk_controls

No output schema declared.

No examples provided.

scf_revalidate_evidence_file ~116

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.

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_rotate_webhook_secret ~82

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.

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_scope_framework ~92

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.

NameTypeReqDescription
framework_idstringyesFramework slug to scope (e.g., 'nist-800-53-r5') — obtain from scf_list_frameworks
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_trigger_evidence_assessment ~140

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.

NameTypeReqDescription
assessment_sourcestringOrigin tag for the request (default on_demand)
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_trigger_vendor_assessment ~190

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.

NameTypeReqDescription
additional_contextstringFree-text context, scope notes, or specific concerns to feed the assessor (max 5000 chars)
assessment_typestringAssessment type: 'initial', 'annual', or 'adhoc' (default 'initial')
data_rolestringGDPR data role (default 'Processor')
org_idstringyesOrganization UUID — obtain from scf_list_organizations
services_usedstringDescription of services the vendor provides, 1–2000 chars (auto-derived from the vendor record if omitted)
vendor_idstringyesVendor UUID — obtain from scf_list_vendors

No output schema declared.

No examples provided.

scf_trigger_vendor_research ~117

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.

NameTypeReqDescription
domain_overridestringOverride the vendor's website domain used for research lookup (e.g., 'example.com')
org_idstringyesOrganization UUID — obtain from scf_list_organizations
vendor_idstringyesVendor UUID — obtain from scf_list_vendors

No output schema declared.

No examples provided.

scf_trigger_window_assessment ~123

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.

NameTypeReqDescription
assessment_sourcestringOrigin tag for the request (default on_demand)
evidence_idstringyesEvidence ID (e.g., 'E-IAM-01'). Tracking row with a frequency must exist — set via scf_update_evidence first
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_update_custom_risk ~145

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

NameTypeReqDescription
category_colorstringNew hex color for the category badge
category_namestringNew category label
descriptionstringNew risk description
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
titlestringNew risk title (max 100 chars)

No output schema declared.

No examples provided.

scf_update_evidence ~261

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.

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 or scf_list_evidence_catalog
frequencystringCollection cadence: 'daily', 'weekly', 'monthly', 'quarterly', or 'annually'
is_trackedbooleanToggle active tracking for this item
maturity_levelstringEvidence maturity level L0–L5 (e.g., 'L3'); omitting never clears the stored value
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_update_scoped_control ~303

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

NameTypeReqDescription
assigned_tostringAssignee responsible for implementation
completion_datestringActual completion date in ISO-8601 (YYYY-MM-DD)
implementation_notesstringFree-text implementation notes and context
implementation_statusstringNew implementation status (lowercase): not_started, in_progress, implemented, ready_for_review, monitored, not_applicable, at_risk, or deferred
maturity_levelstringMaturity level with L prefix: L0 Not Performed, L1 Performed, L2 Planned, L3 Well Defined, L4 Quantitatively Controlled, L5 Continuously Improving
org_idstringyesOrganization UUID — obtain from scf_list_organizations
ownerstringAccountable owner of the control
prioritystringImplementation priority: 'high', 'medium', or 'low'
scf_idstringyesSCF control identifier in DOMAIN-NN format (e.g., 'AST-01', 'GOV-02') — NOT the UUID
selection_reasonstringJustification for scoping decision — required for not_applicable or deferred
target_datestringTarget completion date in ISO-8601 (YYYY-MM-DD)

No output schema declared.

No examples provided.

scf_update_system ~190

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

NameTypeReqDescription
catalog_template_idintegerNew system-catalog template ID link — obtain from scf_list_system_catalog
categorystringNew free-text category
descriptionstringNew system description
namestringNew system name
org_idstringyesOrganization UUID — obtain from scf_list_organizations
statusstringNew lifecycle status
system_idstringyesSystem UUID to update — obtain from scf_list_systems
system_typestringNew system classification
vendorstringNew legacy free-text vendor name (prefer vendor_id)
vendor_idstringNew structural vendor link (UUID, same org) — obtain from scf_list_vendors

No output schema declared.

No examples provided.

scf_update_vendor ~139

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

NameTypeReqDescription
categorystringNew category label
contact_emailstringNew primary contact email
criticalitystringNew criticality tier
descriptionstringNew free-text description
namestringNew vendor name
org_idstringyesOrganization UUID — obtain from scf_list_organizations
statusstringNew lifecycle status
vendor_idstringyesVendor UUID — obtain from scf_list_vendors
websitestringNew website URL

No output schema declared.

No examples provided.