Skip to main content
Glama
Netlify MCP Server

Netlify MCP Server

Official
by netlify
README.md
# Netlify MCP Server

[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, build, deploy, and manage your Netlify resources using natural language prompts.

---

## Overview

The Model Context Protocol is an emerging standard protocol for connecting code agents with MCP servers, allowing them to manage resources and perform tasks using natural language. The Netlify MCP Server acts as a bridge, providing API access, CLI tools, prompts, and more for your agents.

You can connect to the Netlify MCP Server using a variety of MCP clients, including:

* Windsurf
* Cursor
* Claude
* Copilot (VSCode)
* Cline
* Warp
* LM Studio
* [See the full list](https://modelcontextprotocol.org/clients)

---

## Use Cases

With Netlify MCP Server, your AI agents can:

* Create, manage, and deploy Netlify projects
* Modify access controls for enhanced project security
* Install or uninstall Netlify extensions
* Fetch user and team information
* Enable and manage form submissions
* Create and manage environment variables and secrets
* and more...
---

## Prerequisites

* **Node.js 22 or higher**
  Check with `node --version`
* **A Netlify account**
* **An MCP client** (e.g., Windsurf, Cursor, Claude, Copilot)

> **Tip:** Install the Netlify CLI globally for the best experience:
> `npm install -g netlify-cli`

---

## MCP Configuration

For the production MCP server, use the following configuration:

Editors with one-click install:

[![Install MCP Server on Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=netlify&config=eyJjb21tYW5kIjoibnB4IC15IEBuZXRsaWZ5L21jcCJ9)

[![Add MCP Server netlify to LM Studio](https://files.lmstudio.ai/deeplink/mcp-install-light.svg)](https://lmstudio.ai/install-mcp?name=netlify&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBuZXRsaWZ5L21jcCJdfQ%3D%3D)

[![Install on VS Code](https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF)](https://insiders.vscode.dev/redirect/mcp/install?name=netlify&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40netlify%2Fmcp%22%5D%7D)

[![Install on VS Code Insiders Edition](https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5)](https://insiders.vscode.dev/redirect/mcp/install?name=netlify&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40netlify%2Fmcp%22%5D%7D&quality=insiders)

[![Install on Goose](https://img.shields.io/badge/Install_MCP-Goose-black)](goose://extension?cmd=npx&arg=-y&arg=%40netlify%2Fmcp&id=netlify&name=Netlify&description=Build%2C%20deploy%2C%20and%20manage%20sites%20with%20Netlify's%20official%20MCP%20server.)
- use the following link in your browser if link fails to render or open: `goose://extension?cmd=npx&arg=-y&arg=%40netlify%2Fmcp&id=netlify&name=Netlify&description=Build%2C%20deploy%2C%20and%20manage%20sites%20with%20Netlify's%20official%20MCP%20server.`

Configuration for MCP config files:

```json
{
  "mcpServers": {
    "netlify": {
      "command": "npx",
      "args": [
        "-y",
        "@netlify/mcp"
      ]
    }
  }
}
```

For local development, see [Set up local MCP configuration](CONTRIBUTING.md).

---

## Troubleshooting

### Node Version

* Use Node.js 22 or higher for best results.
* If you use `nvm`, run:

  ```bash
  nvm install 22
  nvm use 22
  ```

### Netlify authentication troubleshooting

* If you run into authentication issues, you can temporarily add a [Netlify Personal Access Token (PAT)](https://app.netlify.com/user/applications#personal-access-tokens) to your MCP configuration:

```json
{
  "mcpServers": {
    "netlify-mcp": {
      "command": "npx",
      "args": ["-y", "@netlify/mcp"],
      "env": {
        "NETLIFY_PERSONAL_ACCESS_TOKEN": "YOUR-PAT-VALUE"
      }
    }
  }
}
```

**Do not commit your PAT to your repository!**
Once resolved, remove your PAT from the config.

---

## Generating a New Personal Access Token (PAT)

1. In the Netlify dashboard, select your user icon.
2. Go to **User settings** > **OAuth** > **New access token**.
3. Copy your token and add it (temporarily) to your MCP config as above.
4. Restart or refresh your MCP client.

---

## Deployment card (hosted MCP)

Ask an MCP Apps-compatible client: **“Show recent deployments for my project.”**
The `netlify-open-deployments` tool takes a `siteId` (and optional `deployId`) and
shows up to five matching deploys with status, branch, labeled creation time,
errors, and links, plus the project's team and its dashboard link. Filter the
project list by status. Tools also accept `status`; filtering is applied by Netlify
before limiting the results. Filters do not apply to a specific `deployId`. The card
refreshes every five seconds while a displayed deploy is active and stops when
they finish or after 15 minutes, including time spent hidden. The Refresh button
checks again manually and starts a new 15-minute window for automatic updates.
Applying filters also starts a new window.
Clients without MCP Apps support receive a text summary.

This uses the existing Netlify OAuth connection and adds no environment variables
or frontend build step. After deploying, refresh the client's MCP tool catalog.
This first version does not include build logs or multi-project lookup; use the
card's **Open in Netlify** link for full build details.

To smoke-test in ChatGPT, connect a deployed preview's `/mcp` endpoint, open a
project with a running deploy, and verify the card updates through completion.
Also check an empty project, a failed deploy, and the text fallback in a client
without MCP Apps support.

## Resources

* [Model Context Protocol Documentation](https://modelcontextprotocol.org/docs)
* [Official List of MCP Clients](https://modelcontextprotocol.org/clients)
* [Netlify CLI](https://docs.netlify.com/cli/get-started/)

TDQS

B3/5.0

Scored across 10 tools

Disambiguation4/5

The tools are mostly distinguished by Netlify service area and read/write role, so an agent can usually tell them apart. However, the extension reader includes a write-like 'initialize-database' operation, and several tools bundle multiple sub-actions behind a single 'select and run' interface, which adds some ambiguity.

Naming Consistency4/5

Almost all tools follow a consistent kebab-case pattern: netlify-<service>-services-<reader|updater>. The only deviation is netlify-coding-rules, which does not match the service/read-write convention but is still readable and clearly distinct.

Tool Count5/5

Ten tools is a well-scoped set for Netlify management, covering multiple service areas without becoming overwhelming. Each tool maps to a coherent service-and-access pattern rather than an arbitrary grab bag.

Completeness4/5

The server covers read/write operations across deploys, projects, teams, users, extensions, and observability, which is broad coverage for common Netlify workflows. There are still apparent gaps around destructive operations and some specialized site configuration areas, but core lifecycle tasks are represented.

Maintenance

ActivityActive
ResponsivenessMostly unanswered