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

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

Available components

−5 this week 91 Trust /100

Last scanned (7 hours ago)

Scores higher than 94% of npm servers

Category Security

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
  • 30 of 92 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • 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 2 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability81
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 20095 tokens (~107/item across 187 items; 187 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 Management67
  • Stability observed for 20 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 15 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 187 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
What we tested

Checks we ran (16)

  • Malware scan
  • Known CVEs
  • Install scripts
  • Dependency health
  • Source repository
  • Provenance
  • License
  • Maintenance
  • Security disclosure
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

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.

  • 4 Nov 26 −5
    • Stability: pass → 0.63 functional
  • 29 Oct 26 0
    • Stability: 0.97 → pass security
  • 28 Oct 26 0
    • Stability: pass → 0.97 functional
  • 22 Oct 26 0
    • Stability: 0.97 → pass security
  • 21 Oct 26 +1

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

  • 20 Oct 26 −1
    • Stability: pass → 0.93 functional
  • 17 Oct 26 +3
    • Stability: 0.80 → pass security
  • 16 Oct 26 +44
    • Injection markers: unverified → pass ▲ security
    • Stability: unverified → 0.80 ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/mcp-server-scf@3.4.2

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 2831944435
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:864b65ab73c8ad6895c0cb94a34e8e8c77fb60f3605ce4e019c1bb0382be5675b733fdd2f861d798f63a3acd72539efffeb70c25f95b3f0000fcfba33

Background: How many MCP packages publish verified provenance →

Dependencies 92 packages
Packages resolved 92
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 187 exposed · ~20,095 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_preview_document ~76

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.

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_refresh_stale_window_assessments ~69

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.

NameTypeReqDescription
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_remove_engagement_auditor ~98

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

NameTypeReqDescription
auditor_idstringyesEngagement auditor record UUID — obtain from scf_list_engagement_auditors
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_remove_team_member ~91

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

NameTypeReqDescription
org_idstringyesOrganization UUID — obtain from scf_list_organizations
team_idstringyesTeam UUID — obtain from scf_list_teams
user_idstringyesUser UUID — obtain from scf_get_team

No output schema declared.

No examples provided.

scf_resolve_document_section ~146

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.

NameTypeReqDescription
choicestringyeskeep_mine / take_generated answer a conflict; retire / keep answer a pending retirement
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.

No output schema declared.

No examples provided.

scf_respond_to_engagement_query ~115

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.

NameTypeReqDescription
contentstringyesResponse text
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_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_review_evidence_assessment ~182

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.

NameTypeReqDescription
ao_overridesarray–Objectives to re-designate — required (≥1) when overriding, forbidden when confirming; unlisted objectives keep the AI's designation
decisionstringyesconfirmed = AI verdict stands; overridden = you are changing it
evidence_idstringyesCatalog evidence ID the file belongs to, e.g. E-IAM-01
file_idstringyesEvidence file UUID — obtain from scf_list_evidence_files
org_idstringyesOrganization UUID — obtain from scf_list_organizations
reasonstring–Why the verdict is overridden — required when decision is overridden

No output schema declared.

No examples provided.

scf_review_evidence_file ~130

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.

NameTypeReqDescription
evidence_idstringyesCatalog evidence ID the file belongs to, e.g. E-IAM-01
file_idstringyesEvidence file UUID — obtain from scf_list_evidence_files
org_idstringyesOrganization UUID — obtain from scf_list_organizations
review_notesstring–Reviewer notes
review_statusstringyesReview decision

No output schema declared.

No examples provided.

scf_review_window_assessment ~113

Set the review state of a windowed evidence assessment (write — editor role): approved, rejected, needs_revision, or not_reviewed to revoke a prior decision.

NameTypeReqDescription
ewa_idstringyesWindow assessment UUID — obtain from scf_list_window_assessments
org_idstringyesOrganization UUID — obtain from scf_list_organizations
review_notesstring–Reviewer notes
review_statusstringyesReview state to set; not_reviewed revokes

No output schema declared.

No examples provided.

scf_rollback_catalog_reconciliation ~105

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

NameTypeReqDescription
confirm_textstringyesThe exact confirmation phrase the platform requires for this rollback
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_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_set_reconciliation_actions ~142

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.

NameTypeReqDescription
actionsarrayyesThe complete set of planned actions for this run — partial lists overwrite the rest
confirmed_framework_idsarray–On a first reconciliation, the confirmed framework list this organization is scoping to
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_transition_document ~119

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.

NameTypeReqDescription
document_idstringyesGenerated document UUID — obtain from scf_list_documents
org_idstringyesOrganization UUID — obtain from scf_list_organizations
reasonstring–Free-text justification recorded on the transition
to_statusstringyesTarget lifecycle status (e.g. 'in_review', 'approved', 'published')

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_sourcestring–Origin 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_contextstring–Free-text context, scope notes, or specific concerns to feed the assessor (max 5000 chars)
assessment_typestring–Assessment type: 'initial', 'annual', or 'adhoc' (default 'initial')
data_rolestring–GDPR data role (default 'Processor')
org_idstringyesOrganization UUID — obtain from scf_list_organizations
services_usedstring–Description 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_overridestring–Override 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_sourcestring–Origin 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_comment ~79

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

NameTypeReqDescription
comment_idstringyesComment UUID — obtain from scf_list_comments
contentstringyesNew comment body
mentionsarray–User UUIDs to notify

No output schema declared.

No examples provided.

scf_update_compensating_control ~160

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

NameTypeReqDescription
cc_idstringyesCompensating control UUID — obtain from scf_list_compensating_controls
compensating_controlstring–The control that offsets the gap
effectiveness_ratingstring–Effectiveness (default partial)
gap_descriptionstring–The gap the control offsets
org_idstringyesOrganization UUID — obtain from scf_list_organizations
risk_reduction_notesstring–How much residual risk this removes
vendor_idstringyesVendor UUID — obtain from scf_list_vendors

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_colorstring–New hex color for the category badge
category_namestring–New category label
descriptionstring–New 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
titlestring–New risk title (max 100 chars)

No output schema declared.

No examples provided.

scf_update_document_section ~130

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.

NameTypeReqDescription
contentstringyesFull replacement markdown body for this section
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.

No output schema declared.

No examples provided.

scf_update_document_settings ~125

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.

NameTypeReqDescription
acknowledge_licenceboolean–Record acknowledgement of the SCF content licence — required once before generation is permitted
derivative_generators_enabledboolean–Allow generators that derive content from other generated documents
enabledboolean–Turn document generation on or off for this organization
org_idstringyesOrganization UUID — obtain from scf_list_organizations

No output schema declared.

No examples provided.

scf_update_engagement ~168

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.

NameTypeReqDescription
end_datestring–Fieldwork end date, ISO 8601 (YYYY-MM-DD)
engagement_idstringyesAudit engagement UUID — obtain from scf_list_engagements
frameworksarray–Replacement framework identifier list
namestring–New engagement name
org_idstringyesOrganization UUID — obtain from scf_list_organizations
start_datestring–Fieldwork start date, ISO 8601 (YYYY-MM-DD)
statusstring–New engagement status: draft, active, under_review or closed

No output schema declared.

No examples provided.

scf_update_engagement_query_status ~118

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.

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
statusstringyesTarget query status

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_systemstring–Name of the tool or system that collects the evidence
commentsstring–Free-text notes or context
evidence_idstringyesCatalog evidence ID (e.g., 'E-IAM-01') — obtain from scf_list_evidence or scf_list_evidence_catalog
frequencystring–Collection cadence: 'daily', 'weekly', 'monthly', 'quarterly', or 'annually'
is_trackedboolean–Toggle active tracking for this item
maturity_levelstring–Evidence maturity level L0–L5 (e.g., 'L3'); omitting never clears the stored value
method_of_collectionstring–Collection approach: 'automated', 'manual', or 'hybrid'
org_idstringyesOrganization UUID — obtain from scf_list_organizations
ownerstring–Person accountable for this evidence item
system_idstring–System UUID to link this evidence to — obtain from scf_list_systems

No output schema declared.

No examples provided.

scf_update_evidence_task ~186

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

NameTypeReqDescription
assigned_user_idstring–Assignee user UUID — obtain from scf_list_members
completion_notesstring–Notes recorded on completion
descriptionstring–What has to be collected and how
due_datestring–Due date, YYYY-MM-DD
owning_team_idstring–Team that owns the task — obtain from scf_list_teams
prioritystring–Priority
statusstring–Status
task_idstringyesEvidence task UUID — obtain from scf_list_evidence_tasks
task_typestring–Task type
titlestring–Task title

No output schema declared.

No examples provided.

scf_update_risk_assessment ~251

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.

NameTypeReqDescription
impactinteger–Inherent impact on a 1–5 scale
likelihoodinteger–Inherent likelihood on a 1–5 scale
next_review_datestring–YYYY-MM-DD
notesstring–Free-text notes on this risk assessment
org_idstringyesOrganization UUID — obtain from scf_list_organizations
owner_user_idstring–Risk owner — obtain from scf_list_members
residual_impactinteger–Residual impact after treatment, 1–5 scale
residual_likelihoodinteger–Residual likelihood after treatment, 1–5 scale
risk_codestringyesRisk code — catalog R-XX-N or custom R-ORG-N
treatment_due_datestring–YYYY-MM-DD
treatment_planstring–How the risk is being treated
treatment_statusstring–Treatment lifecycle state

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_tostring–Assignee responsible for implementation
completion_datestring–Actual completion date in ISO-8601 (YYYY-MM-DD)
implementation_notesstring–Free-text implementation notes and context
implementation_statusstring–New implementation status (lowercase): not_started, in_progress, implemented, ready_for_review, monitored, not_applicable, at_risk, or deferred
maturity_levelstring–Maturity 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
ownerstring–Accountable owner of the control
prioritystring–Implementation priority: 'high', 'medium', or 'low'
scf_idstringyesSCF control identifier in DOMAIN-NN format (e.g., 'AST-01', 'GOV-02') — NOT the UUID
selection_reasonstring–Justification for scoping decision — required for not_applicable or deferred
target_datestring–Target 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_idinteger–New system-catalog template ID link — obtain from scf_list_system_catalog
categorystring–New free-text category
descriptionstring–New system description
namestring–New system name
org_idstringyesOrganization UUID — obtain from scf_list_organizations
statusstring–New lifecycle status
system_idstringyesSystem UUID to update — obtain from scf_list_systems
system_typestring–New system classification
vendorstring–New legacy free-text vendor name (prefer vendor_id)
vendor_idstring–New structural vendor link (UUID, same org) — obtain from scf_list_vendors

No output schema declared.

No examples provided.

scf_update_system_capability ~171

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

NameTypeReqDescription
capability_idstringyesCapability UUID — obtain from scf_list_system_capabilities
capability_statusstring–Capability status
collection_methodstring–How the evidence is collected
confidence_levelstring–Confidence in evidence quality
data_formatstring–Format of the collected data, e.g. 'csv', 'json', 'pdf'
notesstring–Free-text notes about the capability
org_idstringyesOrganization UUID — obtain from scf_list_organizations
system_idstringyesSystem UUID — obtain from scf_list_systems

No output schema declared.

No examples provided.

scf_update_team ~143

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.

NameTypeReqDescription
descriptionstring–New description
function_idstring–New primary business function — obtain from scf_list_functions
function_idsarray–Replacement set of additional functions the team serves
is_activeboolean–false archives the team
namestring–New team name
org_idstringyesOrganization UUID — obtain from scf_list_organizations
team_idstringyesTeam UUID — obtain from scf_list_teams

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
categorystring–New category label
contact_emailstring–New primary contact email
criticalitystring–New criticality tier
descriptionstring–New free-text description
namestring–New vendor name
org_idstringyesOrganization UUID — obtain from scf_list_organizations
statusstring–New lifecycle status
vendor_idstringyesVendor UUID — obtain from scf_list_vendors
websitestring–New website URL

No output schema declared.

No examples provided.

scf_update_vendor_action_item ~200

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

NameTypeReqDescription
categorystring–Free-text category, e.g. 'contractual', 'technical'
completed_datestring–YYYY-MM-DD
descriptionstring–Action item detail
due_datestring–YYYY-MM-DD
item_idstringyesAction item UUID — obtain from scf_list_vendor_action_items
org_idstringyesOrganization UUID — obtain from scf_list_organizations
owner_namestring–Owner name
owner_user_idstring–Owner — obtain from scf_list_members
prioritystring–Priority
statusstring–Status
titlestring–Action item title
vendor_idstringyesVendor UUID — obtain from scf_list_vendors

No output schema declared.

No examples provided.

scf_update_vendor_certification ~194

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.

NameTypeReqDescription
cert_idstringyesCertification UUID — obtain from scf_list_vendor_certifications
certificate_numberstring–Certificate number
certification_bodystring–Issuing body
certification_namestring–Certification name, e.g. 'ISO 27001:2022'
expiry_datestring–YYYY-MM-DD
issue_datestring–YYYY-MM-DD
org_idstringyesOrganization UUID — obtain from scf_list_organizations
scopestring–Certification scope statement
statusstring–Status
vendor_idstringyesVendor UUID — obtain from scf_list_vendors
verification_urlstring–Public verification URL

No output schema declared.

No examples provided.

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
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, 187 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 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 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 187 tools: scf_list_controls, scf_get_control, scf_list_frameworks, scf_list_domains, scf_list_evidence_catalog, and 182 more. Their descriptions and schemas cost roughly 20,095 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 5 November 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.

What did VerifyMCP test on the app.scfcontrolsplatform/mcp-server-scf server?

VerifyMCP ran 16 checks on app.scfcontrolsplatform/mcp-server-scf, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to an npm package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.