Netlify Bot Protection: From Monitoring to Enforcement
WebDecoy's Netlify extension now protects selected paths. Install the sensor, enable clearance checks, verify the deployment, and roll out in Monitor mode.
integrationConnect Claude, ChatGPT or Codex to WebDecoy. Install bot detection in your app, prove it works, and ask what bots hit your site, from your assistant.
Published · Updated
WebDecoy now has an MCP server. Connect it to Claude, ChatGPT or Codex and your assistant can install WebDecoy in the app you are working on, prove the install is reporting, and answer questions about your sites: is protection actually on, which bots came by, and was that Googlebot really Google.
The server lives at https://mcp.webdecoy.com/mcp. You sign in with your WebDecoy account, choose which sites the assistant may see, and start asking. No API key, no copy and paste.
“Install WebDecoy in this app and check it’s working.” The assistant looks at your project, asks WebDecoy for the install guide that matches your stack (Next.js, Express, Fastify, Hono, plain Node, PHP, WordPress, or the browser script tag), and applies it with your site’s public IDs already filled in. Then it sends WebDecoy’s test request and asks WebDecoy whether the install is reporting. In Claude Code, the WebDecoy plugin’s install skill won’t call the job done until WebDecoy confirms it.
“Is my site protected right now?” WebDecoy answers with the same check the dashboard uses: whether an edge is actually applying your policy, and if not, why. If enforcement is switched on but scoped to no paths, you hear exactly that, not a reassuring green tick.
“What bots hit my site this week, worst first?” Detections come back with what was requested, the threat score, and whether a crawler was who it claimed to be. A request calling itself Bingbot from an address Microsoft does not own is reported as forged.
“Tell me about the actor behind that detection.” The assistant pulls the actor’s history: how long it has been around, how it identified itself, and its most recent requests to your site.
“Add my site and set up decoys.” If you own your organization and allowed setup, the assistant can add a new site, create decoys for it (a hidden link, or a fake API route), and paste the code that hides them where only bots will look. Sites and decoys count toward your plan, and a decoy only records who fetches it.
“What does my policy block?” You get the configured policy for a site, labelled for what it is: configuration, not proof. The protection check is what tells you whether anything enforces it.
Pick your assistant. Each one signs you in through your browser the first time you use a WebDecoy tool.
Install the WebDecoy plugin:
/plugin marketplace add WebDecoy/claude-plugins
/plugin install webdecoy@webdecoyRestart Claude Code, run /mcp and sign in to webdecoy. Then ask it to “install WebDecoy in this app”, or run /webdecoy:install. The plugin adds the server, an install skill that follows WebDecoy’s own guide for your stack, and the install command.
In Settings, Connectors, choose Add custom connector and enter:
https://mcp.webdecoy.com/mcpIn Settings, Apps and Connectors, turn on developer mode and choose Create. Enter https://mcp.webdecoy.com/mcp as the server URL with OAuth authentication, and under the advanced OAuth settings choose dynamic client registration.
codex mcp add webdecoy --url https://mcp.webdecoy.com/mcp
codex mcp login webdecoy --scopes mcp:read,mcp:setup,offline_accessFor assistants that run MCP servers as local commands, install the CLI and sign in once:
brew install webdecoy/tap/webdecoy
webdecoy loginwebdecoy login shows a code to approve in your browser, and keeps the login in your macOS Keychain or Linux Secret Service, never in a file. Then add the command webdecoy mcp to your assistant. For Claude Desktop that is:
{"mcpServers": {"webdecoy": {"command": "webdecoy", "args": ["mcp"]}}}The CLI is open source: github.com/WebDecoy/cli.
The first time your assistant calls a WebDecoy tool, it gets back a link to approve it. Open the link, tick the sites that assistant may read, and approve. If you want it to add sites, create decoys and script tags, and check installs too, also tick Also allow setup. A site the assistant adds is added to its own access; sites it did not create still need your approval. Every assistant gets its own approval, so the one in your editor can see your staging site without the one in your browser seeing anything at all.
Step by step for each client: Connect an AI assistant.
Handing a security product to an AI assistant only works if the limits are clear, so here they are.
| The assistant can | The assistant cannot |
|---|---|
| Read the sites you approved for it | See any site you did not approve |
| Read protection status, detections, actors and policy | Change policies, enforcement, settings or billing |
| Get install guides with your public IDs filled in | Receive a secret key |
| Add a site, create decoys and a script tag, and check a page serves it, if you allowed setup | Point WebDecoy’s fetcher at a domain that is not your site |
A few more things we built in:
The MCP server is live for every WebDecoy account, including Free. If you do not have an account yet, start for free, connect your assistant, and ask it to install WebDecoy for you.
Claude Code (through the WebDecoy plugin), Claude.ai and Claude Desktop (as a custom connector), ChatGPT (as a developer mode connector) and Codex connect to https://mcp.webdecoy.com/mcp directly. Any other assistant that runs MCP servers as local commands can use the WebDecoy CLI: install it with Homebrew, run webdecoy login, and add the command webdecoy mcp.
No. Your assistant signs in with your WebDecoy account through a normal browser login, and then you choose which of your sites that assistant may see. There is no key to copy, paste or leak.
No. The assistant reads by default. The setup tools (adding a site, creating decoys and a site's script tag, and checking that a page serves it) work only if you tick Also allow setup when you approve the assistant. Nothing it can do changes your policies, enforcement, settings or billing.
No. Install guides include your site's public IDs, and name the environment variables your app needs, but secret values never pass through the assistant. You set them in your app's environment yourself.
Open Settings, Connected apps in WebDecoy and press Disconnect. Its next request is refused, even if its login has not expired yet. You can also change which sites it may see there at any time.
Every WebDecoy plan, including Free.
WebDecoy's Netlify extension now protects selected paths. Install the sensor, enable clearance checks, verify the deployment, and roll out in Monitor mode.
integrationConnect WebDecoy from the Vercel Marketplace to see which crawlers reach your site and which are forged. A log drain does the work: no code, no redeploy.
integrationDeploy WebDecoy's edge sensor to Cloudflare in one click. Detect the crawlers a JavaScript tag can't see, and enforce before they hit your origin.
integrationLike this post? Share it with your friends!
Get a personalized demo from our team.