MCP.Market

SafeNode MCP Gateway MCP server

by sp3ak·io.github.sp3ak/safenode-mcp-gateway·v0.1.2

Policy proxy for MCP tool calls. A denied call never reaches the downstream server.

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
New

0 stars26 downloads/wk

Reviews

Write one

Nobody has reviewed SafeNode MCP Gateway yet.

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

SafeNode MCP Gateway tools

No tool declarations could be read from the package source. They show once the server is installed.

Public scan report

scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it

no findings
  • Code scan16 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 qualitystatic API keys via environment variables6/15
  • Maintenancelast push 42 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How SafeNode MCP Gateway compares

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

Safety score
78/100
higher than 57% of 48,255 servers
Downloads a week
26
more than 13% of 12,191 servers with a package

Install SafeNode MCP Gateway in Claude Code, Cursor or VS Code

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

claude mcp add safenode-mcp-gateway -- npx -y safenode-mcp-gateway
Add to Cursor

What the publisher says

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

SafeNode MCP Gateway

An MCP proxy that enforces policy on every tool call. The agent cannot route around it.

npx safenode-mcp-gateway

Why a proxy

An MCP server that exposes an evaluate_action tool is theatre. The model can choose not to call it, which means it enforces nothing.

This is a proxy. It sits between your MCP client (Claude Desktop, Claude Code, Cursor, any MCP host) and the MCP servers you already use. tools/list passes straight through, so the model sees exactly the tools it saw before. Every tools/call is evaluated against SafeNode first. A denial means the call never reaches the downstream server at all.

Claude Desktop ──► safenode-mcp-gateway ──► filesystem server
                          │                   github server
                          ▼                   postgres server
                    SafeNode API
                  allow/warn/review/deny

Your agent needs no code changes. It does not know the gateway is there.

Get an API key — free tier, no card · Docs · Python SDK

Setup

1. Get an API key

Free at safenode.tech. Keys look like sn_....

2. Write a config

safenode-gateway.json — take the servers straight out of your existing MCP client config:

{
  "failMode": "fail_closed",
  "payloadMode": "redacted",
  "logFile": "./safenode-decisions.jsonl",
  "servers": [
    {
      "name": "filesystem",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
    }
  ],
  "tools": {
    "read_file": { "failMode": "fail_open" },
    "write_file": { "payloadMode": "metadata_only" }
  }
}

Do not put your API key in this file. Set SAFENODEAPIKEY in the environment — it takes precedence over the config, so the file stays safe to commit.

3. See what would be sent, before sending anything

SAFENODE_API_KEY=sn_... npx safenode-mcp-gateway --dry-run

Prints the exact JSON body that an evaluation would POST. No network call. This is the fastest way to satisfy yourself about what leaves your machine.

4. Point your MCP client at the gateway

Claude Desktop — claudedesktopconfig.json:

{
  "mcpServers": {
    "safenode": {
      "command": "npx",
      "args": ["-y", "safenode-mcp-gateway", "--config", "/absolute/path/to/safenode-gateway.json"],
      "env": { "SAFENODE_API_KEY": "sn_..." }
    }
  }
}

Claude Code — .mcp.json in your project:

{
  "mcpServers": {
    "safenode": {
      "command": "npx",
      "args": ["-y", "safenode-mcp-gateway", "--config", "./safenode-gateway.json"],
      "env": { "SAFENODE_API_KEY": "sn_..." }
    }
  }
}

Cursor — ~/.cursor/mcp.json, same shape as Claude Desktop.

Replace your existing server entries with this one. The gateway spawns them itself, so listing them in both places would run each server twice.

What each decision does

Denials come back as MCP tool errors, not transport failures, so the model sees why and can try something else instead of the host surfacing an opaque crash.

Fail behaviour

failMode decides what happens when SafeNode itself is unreachable.

Shortened. The full README is on GitHub.

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

SafeNode MCP Gateway: common questions

Is SafeNode MCP Gateway MCP server safe?
Mostly: it is graded B (78/100). Read the SafeNode MCP Gateway safety report
How do I install SafeNode MCP Gateway?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does SafeNode MCP Gateway need an API key?
Yes. The registry entry asks for SAFENODE_API_KEY.
Is SafeNode MCP Gateway maintained?
The last commit was 83 days ago (2026-08-13). The latest release is v0.1.2.
How does SafeNode MCP Gateway compare with other MCP servers?
safety score 78/100 (higher than 57% of 48,255 servers); downloads a week 26 (more than 13% of 12,191 servers with a package). Full comparison.