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.

Nofax

NPM · NOFAX

Human-in-the-loop approvals and notifications for AI coding agents through a local stdio MCP server.

Available components

+15 this week 97 Trust /100

Last scanned (11 hours ago)

Scores higher than 99% of npm servers

Category Workflow Automation

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 Security100
  • 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
  • 0 of 3 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to AKzar1el/nofax). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 5 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability83
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 827 tokens (~118/item across 7 items; 7 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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
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
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
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.

  • 31 Oct 26 0
    • Stability: 0.97 → pass security
  • 30 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
    • Stability: pass → 0.97 functional
    • Package version: 0.2.46 → 0.2.48 functional
    • Package version: 0.2.46 → 0.2.47 functional
  • 29 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Package version: 0.2.45 → 0.2.46 functional
  • 25 Oct 26 +15
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Malware scan: unverified → pass ▲ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
    • Package version: 0.2.44 → 0.2.45 functional
  • 24 Oct 26 −10
    • CVE-2023-54404 affects this package: high ▼ security
    • Malware scan: pass → unverified ▼ security
    • CVE-2026-111770 no longer affects this package ▲ security
    • CVE-2026-111768 no longer affects this package ▲ security
    • CVE-2026-111771 no longer affects this package ▲ security
    • Known CVEs: fail → pass ▲ security
    • Package version: 0.2.43 → 0.2.44 functional
  • 21 Oct 26 −5
    • CVE-2026-111771 affects this package: high ▼ security
    • CVE-2026-111770 affects this package: high ▼ security
    • CVE-2026-111768 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
    • Stability: 0.97 → pass security
  • 20 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.

  • 18 Oct 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.

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/nofax@0.2.48

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 AKzar1el/nofax
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/AKzar1el/nofax/.github/workflows/publish.yml@refs/tags/v0.2.48
Rekor log index 3584580921
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:b9d223ca7d6beb69ec8eaeaf4933d6c08f5927867d7b1a40136e69d78ec811ea4f34a53c633bf6acbfbeb19830a714dfdbe8f4cc4565d954c3b5c6e5d

Background: How many MCP packages publish verified provenance →

Dependencies 3 packages
Packages resolved 3
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 7 exposed · ~692 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
nofax_get_request ~82

Inspect safe metadata and terminal state for one known durable requestId without waiting. Use nofax_wait_for_response when the caller must wait for a human decision, or nofax_list_pending to recover requestIds after interruption. Secret response topics are never returned.

NameTypeReqDescription
requestIdstringyesDurable Nofax request handle to inspect without exposing its secret response topic.
NameTypeReqDescription
requestobjectyesSafe request metadata and terminal state; secret response topics are omitted.
statusstringyesThe durable request was read successfully.

No examples provided.

nofax_list_pending ~55

List a bounded set of unresolved Nofax request handles for recovery after client or conversation interruption. Secret response topics are never returned.

NameTypeReqDescription
limitinteger–Maximum number of unresolved requests to return; defaults to 20.
NameTypeReqDescription
requestsarrayyesBounded unresolved request projections with no secret response topics.
statusstringyesThe pending-request scan completed successfully.

No examples provided.

nofax_notify ~71

Send a one-way phone notification. This tool is informational and does not create a human-response wait. Notification transport success never counts as approval.

NameTypeReqDescription
messagestringyesNotification body shown to the human.
titlestring–Optional notification title shown to the human; defaults to "Nofax".
NameTypeReqDescription
statusstringyesThe notification transport call completed successfully; this is never approval.

No examples provided.

nofax_request_approval ~141

Send Allow/Deny to the phone and return a durable pending requestId. IMPORTANT: after this tool returns pending, call nofax_wait_for_response and repeat while it remains pending. Never continue the guarded action without a terminal Allow response. Set allowRefine when the human should also be able to send refinement text.

NameTypeReqDescription
allowRefineboolean–When true, also let the human return free-text refinement instead of only Allow or Deny.
messagestringyesGuarded action or decision context shown to the human.
titlestring–Optional approval prompt title shown to the human; defaults to "Nofax approval".
NameTypeReqDescription
instructionstringyesFail-closed next-step instruction for the caller.
mustWaitbooleanyesSignals that the caller must keep waiting for a terminal human response.
requestIdstringyesDurable Nofax request handle.
statusstringyesThe request is unresolved and must not be treated as approval.

No examples provided.

nofax_request_choice ~104

Send up to three explicit options to the phone and return a durable pending requestId. IMPORTANT: call nofax_wait_for_response and repeat while pending; do not choose on the human's behalf.

NameTypeReqDescription
messagestringyesQuestion or decision context shown to the human.
optionsarrayyesOne to three explicit choices to present to the human.
titlestring–Optional choice prompt title shown to the human; defaults to "Nofax choice".
NameTypeReqDescription
instructionstringyesFail-closed next-step instruction for the caller.
mustWaitbooleanyesSignals that the caller must keep waiting for a terminal human response.
requestIdstringyesDurable Nofax request handle.
statusstringyesThe request is unresolved and must not be treated as approval.

No examples provided.

nofax_request_refinement ~116

Ask the human for free-text refinement through the configured Nofax Refine iOS Shortcut. Use this when free-text edits are needed; use nofax_request_approval for Allow/Deny or nofax_request_choice for predefined options. Returns a durable pending requestId; call nofax_wait_for_response and repeat while pending.

NameTypeReqDescription
messagestringyesContext or draft the human should refine with free text.
titlestring–Optional refinement prompt title shown to the human; defaults to "Nofax refinement".
NameTypeReqDescription
instructionstringyesFail-closed next-step instruction for the caller.
mustWaitbooleanyesSignals that the caller must keep waiting for a terminal human response.
requestIdstringyesDurable Nofax request handle.
statusstringyesThe request is unresolved and must not be treated as approval.

No examples provided.

nofax_wait_for_response ~123

Long-poll a durable Nofax request for up to 240 seconds. If the result is pending, you MUST call this tool again with the same requestId. Repeat indefinitely until a terminal response is returned or the user explicitly changes/cancels the goal. Do not continue the guarded action while pending.

NameTypeReqDescription
requestIdstringyesDurable request handle returned by a nofax_request_* tool.
waitSecondsinteger–Maximum seconds to long-poll during this call; defaults to 240. A timeout still returns pending, never approval.
NameTypeReqDescription
decisionstring–Terminal human decision when resolved, such as allow, deny, refine, or an explicit choice value.
instructionstringyesSafety-preserving instruction describing what the caller may do next.
mustWaitboolean–Present and true while the request remains pending.
requestIdstringyesDurable Nofax request handle.
statusstringyesWhether the human request is still pending or has reached a terminal response.
textstring–Human free-text refinement when the terminal decision is refine.

No examples provided.

Install

How do I install the Nofax MCP server?

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

npm · nofax

# add to Claude Code
claude mcp add akzar1el-nofax -- npx -y nofax
Common questions

What is the Nofax MCP server?

Nofax is an MCP server listed in the public MCP registry as io.github.AKzar1el/nofax. Human-in-the-loop approvals and notifications for AI coding agents through a local stdio MCP server. This page covers its npm package (nofax).

Is the Nofax MCP server safe to use?

Nofax scores 97 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 Nofax MCP server expose?

Nofax exposes 7 tools: nofax_notify, nofax_request_approval, nofax_request_choice, nofax_request_refinement, nofax_wait_for_response, and 2 more. Their descriptions and schemas cost roughly 692 tokens of context every time the server is loaded.

Is the Nofax MCP server still maintained?

Nofax 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 Nofax MCP server under?

Nofax declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.