MCP.Market

Nofax MCP server

by AKzar1el·io.github.AKzar1el/nofax·v0.2.48·1 stars

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

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

1 stars1.0k downloads/wk

Reviews

Write one

Nobody has reviewed Nofax yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Nofax tools (7, 3 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • nofax_get_request

    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.

  • nofax_list_pending

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

  • nofax_notifywrite action

    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.

  • nofax_request_approvalwrite action

    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.

  • nofax_request_choicewrite action

    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.

  • nofax_request_refinement

    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.

  • nofax_wait_for_response

    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.

Public scan report

scanner v0.1.10 · 2026-10-30 · same rubric, same numbers if you re-run it

no findings
  • Code scan13 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 0 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Nofax compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 95% of 48,255 servers
Tools
7
the typical server has 7
Tools that change things
43%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
1
more than 65% of 28,688 servers
Downloads a week
1,044
more than 95% of 12,191 servers with a package

What its tools let an agent do: 4 read · 3 change

Release history: 16 versions in the registry since 2026-09-21, latest 2026-10-30, typically several a day.

Install Nofax in Claude Code, Cursor or VS Code

Runs npx -y nofax on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add nofax -- npx -y nofax
Add to Cursor

What the publisher says

From the Nofax repository's README, as published. We do not edit it. Read it on GitHub

Nofax

Human-in-the-loop approvals and notifications for AI coding agents, without running a Nofax SaaS.

Nofax is a small open-source bridge between an agent and a human. Local mode can pause an AI workflow, notify your phone, and return an explicit decision. An optional self-deployed Cloudflare Worker exposes a deliberately narrower remote MCP surface for one-way notifications and safe request inspection.

No Nofax account. No paid model API. No inbound port on your machine. MIT licensed.

Current status: local Nofax is on the stable 0.2.x line. The optional Cloudflare Worker is the upcoming 0.3.0 remote surface and is developed alongside the local package.

Why Nofax

Agent workflows increasingly need a clean answer to one question: when automation reaches a human decision boundary, how does it ask without pretending that silence means approval?

Nofax keeps that boundary explicit:

  • pending is never approval;
  • timeout and transport failure fail closed;
  • the first accepted terminal response wins;
  • agent-specific hook schemas stay isolated in adapters;
  • remote access is intentionally narrower than local access;
  • Nofax does not grant authority the calling agent did not already have.

Two operating modes

The remote Worker is not a hosted remote-approval service. It can send an informational notification and inspect existing request state, but it has no approval callback, choice, refinement, wait, webhook, or arbitrary remote-write endpoint.

Quick start

1. Install

npm install -g nofax

Requires Node.js 20 or newer.

2. Initialize

nofax init

Nofax creates ~/.nofax/config.json and generates a high-entropy notification topic. With the default transport, subscribe to the displayed topic in the ntfy mobile app.

3. Test

nofax test

4. Use it

nofax notify --title "Build finished" "All tests passed"
nofax approve --title "Deploy?" "Release 1.4.0 is ready"
nofax refine --title "Refine draft" "Tell me what to change"

An approval resolves to stable terminal JSON:

{"decision":"allow"}

or:

{"decision":"deny"}

If the request is still pending, times out, disconnects, or hits a transport error, Nofax never converts that condition into approval.

MCP

Start the local stdio MCP server:

nofax mcp

Local MCP exposes:

  • nofax_notify
  • nofaxrequestapproval
  • nofaxrequestchoice
  • nofaxrequestrefinement
  • nofaxwaitfor_response
  • nofaxgetrequest
  • nofaxlistpending

Interactive requests return a durable request ID. nofaxwaitfor_response performs a bounded wait; callers must repeat the wait while the request remains pending rather than infer approval.

Agent integrations

Claude Code

Use Nofax as a local PermissionRequest hook in ~/.claude/settings.json:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Nofax: common questions

Is Nofax MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Nofax safety report
How do I install Nofax?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Nofax need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Nofax maintained?
The last commit was 5 days ago (2026-10-30). The latest release is v0.2.48.
How does Nofax compare with other MCP servers?
safety score 92/100 (higher than 95% of 48,255 servers); tools 7 (the typical server has 7); tools that change things 43% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.