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
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
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
claude mcp add app-scfcontrolsplatform-mcp-server-scf -- npx -y mcp-server-scf
{
"mcpServers": {
"app-scfcontrolsplatform-mcp-server-scf": {
"command": "npx",
"args": [
"-y",
"mcp-server-scf"
]
}
}
} {
"servers": {
"app-scfcontrolsplatform-mcp-server-scf": {
"command": "npx",
"args": [
"-y",
"mcp-server-scf"
]
}
}
} codex mcp add app-scfcontrolsplatform-mcp-server-scf -- npx -y mcp-server-scf
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"app-scfcontrolsplatform-mcp-server-scf": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-server-scf"
],
"enabled": true
}
}
} openclaw mcp add app-scfcontrolsplatform-mcp-server-scf --command npx --arg -y --arg mcp-server-scf
mcp_servers:
app-scfcontrolsplatform-mcp-server-scf:
command: "npx"
args: ["-y", "mcp-server-scf"] {
"McpServers": {
"app-scfcontrolsplatform-mcp-server-scf": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"mcp-server-scf"
]
}
}
} assistant mcp add app-scfcontrolsplatform-mcp-server-scf -t stdio -c npx -a -y mcp-server-scf
{
"mcpServers": {
"app-scfcontrolsplatform-mcp-server-scf": {
"command": "npx",
"args": [
"-y",
"mcp-server-scf"
]
}
}
} 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.
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 →
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 →
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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| risk_code | string | yes | Custom risk code in R-ORG-N format (e.g., 'R-ORG-1') — obtain from scf_list_custom_risks |
| scf_id | string | yes | SCF 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.
| Name | Type | Req | Description |
|---|---|---|---|
| engagement_id | string | yes | Audit engagement UUID — obtain from scf_list_engagements |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| user_id | string | yes | UUID 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.
| Name | Type | Req | Description |
|---|---|---|---|
| expected_to_version | string | yes | The target catalog version from the run detail — guards against applying a stale preview |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| run_id | string | yes | Reconciliation 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.
| Name | Type | Req | Description |
|---|---|---|---|
| operations | array | yes | Update operations to apply (1–500 per call) |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| assess_unassessed | boolean | – | Also assess every file that has no existing assessment (default false) |
| evidence_id | string | – | Evidence ID — assesses every file under this evidence item |
| file_ids | array | – | Specific evidence file UUIDs to assess |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence_ids | array | yes | Evidence IDs to assess (e.g., ['E-IAM-01','E-BCM-11']); 1–25 per request |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| run_id | string | yes | Reconciliation 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category_color | string | – | Hex color for the category badge, e.g., '#6b7280' (default '#6b7280') |
| category_name | string | – | Category label shown in UI (default 'Custom') |
| description | string | yes | Risk description (required) |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| title | string | yes | Risk 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.
| Name | Type | Req | Description |
|---|---|---|---|
| end_date | string | – | Fieldwork end date, ISO 8601 (YYYY-MM-DD) |
| frameworks | array | yes | Framework identifiers in scope — obtain from scf_list_frameworks |
| name | string | yes | Engagement name, e.g. a framework and audit period |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| start_date | string | – | Fieldwork 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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Full text of the query |
| engagement_id | string | yes | Audit engagement UUID — obtain from scf_list_engagements |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| scf_id | string | yes | SCF control the query is about, in DOMAIN-NN format — must be in scope, see scf_get_engagement_scope |
| title | string | yes | Short 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.
| Name | Type | Req | Description |
|---|---|---|---|
| collecting_system | string | – | Name of the tool or system that collects the evidence |
| comments | string | – | Free-text notes or context |
| evidence_id | string | yes | Catalog evidence ID (e.g., 'E-IAM-01') — obtain from scf_list_evidence_catalog |
| frequency | string | – | Collection cadence: 'daily', 'weekly', 'monthly', 'quarterly', or 'annually' |
| is_tracked | boolean | – | Start actively tracking this item (default false) |
| maturity_level | string | – | Evidence maturity level L0–L5 (e.g., 'L3'); omit to leave unset |
| method_of_collection | string | – | Collection approach: 'automated', 'manual', or 'hybrid' |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| owner | string | – | Person accountable for this evidence item |
| system_id | string | – | System 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.
| Name | Type | Req | Description |
|---|---|---|---|
| control_id | string | – | SCF control ID to link (e.g., 'AST-01') — obtain from scf_list_controls |
| description | string | yes | Risk description (required) |
| impact | integer | yes | Inherent impact on a 1–5 scale |
| likelihood | integer | yes | Inherent likelihood on a 1–5 scale |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| owner | string | – | Name or identifier of the risk owner |
| title | string | yes | Risk title (required, max ~100 chars) |
| treatment_status | string | – | Treatment 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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalog_template_id | integer | – | System-catalog template ID to link — obtain from scf_list_system_catalog |
| category | string | – | Free-text category (e.g., 'SIEM', 'Endpoint', 'Identity') |
| description | string | – | Free-text description of the system |
| name | string | yes | Human-readable system name (required) |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| status | string | – | Lifecycle status (default: active) |
| system_type | string | yes | System classification: cloud_provider, identity_provider, ticketing, logging, security_tool, code_repository, document_management, or custom |
| vendor | string | – | Legacy free-text vendor name (prefer vendor_id for a structural link) |
| vendor_id | string | – | Vendor 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Category label (e.g., 'SaaS', 'Infrastructure', 'Consulting') |
| contact_email | string | – | Primary contact email address |
| criticality | string | – | Business criticality tier (default 'medium') |
| description | string | – | Short free-text description of the vendor |
| name | string | yes | Vendor legal or trading name (required) |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| status | string | – | Lifecycle status (default 'prospect') |
| website | string | – | Vendor 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.
| Name | Type | Req | Description |
|---|---|---|---|
| allowed_evidence_ids | array | – | Restrict ingestion to specific evidence IDs (e.g., ['ERL-IAM-001']); omit to allow any |
| description | string | – | Free-text description of what this endpoint is for |
| name | string | yes | Human-readable label (e.g., 'Splunk SIEM', 'AWS Config') |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| rate_limit_per_minute | integer | – | Per-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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| risk_code | string | yes | Custom 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.
| Name | Type | Req | Description |
|---|---|---|---|
| engagement_id | string | yes | Audit engagement UUID — obtain from scf_list_engagements |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint_id | string | yes | Webhook endpoint UUID — obtain from scf_list_webhooks |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Generated document UUID — obtain from scf_list_documents |
| format | string | – | Export format: 'md' for markdown, 'html' for rendered HTML |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Regenerate even when a document already exists for that generator and domain (default false) |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| requests | array | yes | Between 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| system_id | string | yes | System 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Page size (1–100, default 50) |
| offset | integer | – | Pagination offset — number of results to skip (default 0) |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| theme_code | string | yes | Capability 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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?'
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Page size, 1–500 (default 50) |
| offset | integer | – | Rows to skip for pagination (default 0) |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| scf_id | string | yes | SCF 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).
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| scf_id | string | yes | SCF 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.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Generated document UUID — obtain from scf_list_documents |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Generated document UUID — obtain from scf_list_documents |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Generated document UUID — obtain from scf_list_documents |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| section_id | string | yes | Section identifier from the document detail (scf_get_document). May contain slashes — pass it exactly as returned, unescaped. |
| version | integer | – | Generation 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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).
| Name | Type | Req | Description |
|---|---|---|---|
| engagement_id | string | yes | Audit engagement UUID — obtain from scf_list_engagements |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| engagement_id | string | yes | Audit engagement UUID — obtain from scf_list_engagements |
| framework | string | yes | Framework to present from — must be one of the engagement's own frameworks |
| org_id | string | yes | Organization 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).
| Name | Type | Req | Description |
|---|---|---|---|
| engagement_id | string | yes | Audit engagement UUID — obtain from scf_list_engagements |
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| query_id | string | yes | Query 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.
| Name | Type | Req | Description |
|---|---|---|---|
| engagement_id | string | yes | Audit engagement UUID — obtain from scf_list_engagements |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence_id | string | yes | Evidence ID (e.g., 'ERL-IAM-001') — obtain from scf_list_evidence |
| file_id | string | yes | Evidence file UUID — obtain from scf_list_evidence_files |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence_id | string | yes | Evidence ID (e.g., 'ERL-IAM-001') — obtain from scf_list_evidence |
| file_id | string | yes | Evidence file UUID — obtain from scf_list_evidence_files |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence_id | string | yes | Evidence ID (e.g., 'E-RSK-02') — obtain from scf_list_evidence |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence_id | string | yes | Evidence ID (e.g., 'E-RSK-02') — obtain from scf_list_evidence |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence_id | string | yes | Evidence ID (e.g., 'E-RSK-02') — obtain from scf_list_evidence |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| evidence_id | string | yes | Evidence ID (e.g., 'ERL-IAM-001') — obtain from scf_list_evidence |
| file_id | string | yes | Evidence file UUID — obtain from scf_list_evidence_files |
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization 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.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization UUID — obtain from scf_list_organizations |
| vendor_id | string | yes | Vendor UUID — obtain from scf_list_vendors |
No output schema declared.
No examples provided.
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.