Netlify MCP Server

by MCERQUA

303 downloads
Not rated
GitHub

About

MCP server for Netlify integration - manage Netlify sites through Model Context Protocol

Details

Author
MCERQUA
Downloads
303
Categories
Cloud Service

- Create new sites from GitHub repositories
- List existing Netlify sites with pagination
- Retrieve detailed site information
- Delete sites
- Secure authentication with Netlify API
- TypeScript for type safety
- Docker support for easy deployment

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Netlify MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install from source (npm install && npm run build) or use the provided Docker image. Obtain a Netlify personal access token and set it as NETLIFY_ACCESS_TOKEN in your environment or .env file. Add the server to your MCP client configuration specifying the path to the built index.js and the token. Available tools include createSiteFromGitHub, listSites, getSite, and deleteSite.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "netlify mcp server": {
            "netlify-mcp": {
                "command": "docker",
                "args": [
                    "build",
                    "-t",
                    "netlify-mcp",
                    "."
                ]
            }
        }
    }
}

McpServers

{
    "netlify-mcp": {
        "command": "docker",
        "args": [
            "build",
            "-t",
            "netlify-mcp",
            "."
        ]
    }
}

Netlify MCP Server

MCP Server
License: MIT

A Model Context Protocol (MCP) server for managing Netlify sites. This server enables seamless integration with Netlify's API through MCP, allowing you to create, manage, and deploy sites directly from your MCP-enabled environment.

Features

- 🚀 Create new sites from GitHub repositories
- 📋 List existing Netlify sites with pagination
- 🔍 Get detailed site information
- 🗑️ Delete sites
- 🔐 Secure authentication with Netlify API
- ⚡ Built with TypeScript for type safety
- 🐳 Docker support for easy deployment

Requirements

- Node.js 18 or higher
- A Netlify account with API access
- A GitHub repository for deploying sites

Installation

From Source

1. Clone this repository:

git clone https://github.com/MCERQUA/netlify-mcp.git
cd netlify-mcp

2. Install dependencies:

npm install

3. Build the project:

npm run build

Using Docker

docker build -t netlify-mcp .
docker run -e NETLIFY_ACCESS_TOKEN=your_token_here netlify-mcp

Configuration

Getting Your Netlify Access Token

1. Create a Netlify account at https://app.netlify.com/signup
2. Go to User Settings > Applications > Personal access tokens
3. Click "New access token"
4. Give it a name (e.g., "MCP Integration")
5. Copy the generated token

Setting Up MCP

1. Create a .env file in the project root:

NETLIFY_ACCESS_TOKEN=your_token_here

2. Add the server to your MCP settings configuration:

{
"mcpServers": {
"netlify": {
"command": "node",
"args": ["path/to/netlify-mcp/build/index.js"],
"env": {
"NETLIFY_ACCESS_TOKEN": "your_token_here"
},
"disabled": false,
"autoApprove": []
}
}
}

Available Tools

createSiteFromGitHub

Create a new Netlify site from a GitHub repository.
interface CreateSiteFromGitHubArgs {
  name: string;          // Name for the new site (subdomain)
  repo: string;          // GitHub repository (format: owner/repo)
  branch?: string;       // Branch to deploy from (default: main)
  buildCommand: string;  // Build command to run
  publishDir: string;    // Directory containing the built files
  envVars?: Record<string, string>; // Environment variables
}

listSites

List all Netlify sites you have access to.
interface ListSitesArgs {
  filter?: 'all' | 'owner' | 'guest';  // Filter for sites
  page?: number;         // Page number for pagination
  perPage?: number;      // Items per page (max 100)
}

getSite

Get detailed information about a specific site.
interface GetSiteArgs {
  siteId: string;  // ID or name of the site
}

deleteSite

Delete a Netlify site.
interface DeleteSiteArgs {
  siteId: string;  // ID or name of the site
}

Documentation

For more detailed information, see:
- Setup Guide
- API Documentation
- Usage Examples

Development

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.