mcp@1.22.1

VERIFIED

Publisher claims: "[Netlify MCP Server](https://docs.netlify.com/welcome/build-with-ai/netlify-mcp-server/) follows the [Model Context Protocol (MCP)](https://modelcontextprotocol.org) to enable code agents to use the Netlify API and CLI—so they can create new projects, bui" Observed in sandbox: calls www.netlify.com only, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher netlify · publishing for 551 daysInstalls 238KLast detonated 1 h ago
$claude mcp add mcp -- npx -y @netlify/mcp
WatchReport an issue

Coverage

Server started and answered tools/list.
Tested
MCP initialize and tools/list · every tool description, for hidden instructions · every file read, file written and host contacted by what ran
Not tested
what the tools do when called with real credentials

Before you give it your token

It will ask for
JWE_SECRETMIN_JWE_SECRET_LENGTHNETLIFY_PERSONAL_ACCESS_TOKENOAUTH_ISSUERConfiguration, not credentials: MCP_VERBOSE_LOGGING
Where it talks to
netlify.com, netlifysdk.com (its own)
What the honeypot saw
no credential files read · reached only www.netlify.com (its own)
What we could not test
what the tools do when called with real credentials

Connect it with a scoped credential, under the guard. It asks for JWE_SECRET, MIN_JWE_SECRET_LENGTH, NETLIFY_PERSONAL_ACCESS_TOKEN, OAUTH_ISSUER and talks to netlify.com, netlifysdk.com. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind.

$vet-skills run --secrets JWE_SECRET=netlify.com,MIN_JWE_SECRET_LENGTH=netlify.com,NETLIFY_PERSONAL_ACCESS_TOKEN=netlify.com,OAUTH_ISSUER=netlify.com -- npx -y @netlify/mcp

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios) on 2026-11-15 and scored it 82/100 (Verified). It did what it claims and nothing else we could detect: no undeclared network egress, no credential reads, no persistent instruction writes. Summary: calls www.netlify.com only, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 35 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
14sprocessdependency install exit 0
34snetworkCONNECT tcp://www.netlify.com:443
34sclaimed10 tools: netlify-coding-rules, netlify-user-services-reader, netlify-deploy-services-reader, netlify-deploy-services-updater, netlify-team-services-reader, netlify-project-services-reader, netlify-project-services-updater, netlify-extension-services-reader, netlify-extension-services-updater, netlify-observability-services-reader
34stools387b230c619b7a9b
34stoolsb91fa8f8a40bed8e
34stoolsbf329d82f5e6d038
34stools9baf13d4c0c2148b
34stools435fe2d777ec106d
34stools72634a2fc00e246b
34stoolsdadd5fd235ef4854
34stools24a3cffff7fecfcf
34stoolsa8f712e5c09ddc88
34stoolsb8ea5d5ecc17b66a
34sprocessscript backend runs setup only
34sprocessno install scripts to re-run

Static findings

HIGH
Access to sensitive file pathsdist/netlify-mcp.js:1077 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files".env",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actiondist/netlify-mcp.js:2607 · File type combined with upload action — agent may exfiltrate local data filesconsole.log("Uploading your project...");Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
MCP server using network transport (SSE/HTTP)SKILL.md:6 · MCP server using network transport (SSE/HTTP) — data sent over network…--- [Netlify MCP Server](https://docs.netlify.com/welcome/build-with-ai/netlify-mcp-server/) follows the [Model Context Protocol (MCP)](https://modelcontextprotocol.org) to enable code agents to use the Netlify API and C…Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04
MEDIUM
npx invocation of non-well-known packagedist/netlify-mcp.js:934 · npx invocation of non-well-known package — may execute untrusted codenpx -y @netlify/mcp@latest --site-id ${params.siteId} --proxy-path "${proxyUrl}"Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Credential pass-through configurationdist/netlify-mcp.js:928 · Credential pass-through configuration — agent relays sensitive credentialsconst proxyUrl = new URL(`/proxy/${proxyToken}`, getOAuthIssuer()).toString();Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationdist/netlify-mcp.js:911 · Credential pass-through configuration — agent relays sensitive credentialsconst proxyToken = await createJWE({Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02

Cost to the agent

Instructions loaded
≈98 tok
1 file · 4 in bundle
Tool list per prompt
≈5,151 tok
10 tools · 515 per tool
Handshake
1814 ms
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 119

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for @netlify/mcp@1.22.1 as of 43 min ago. This is the package itself, not its dependencies.