Cover image
Try Now
2025-04-08

3 years

Works with Finder

1

Github Watches

3

Github Forks

4

Github Stars

Netlify MCP Server

smithery badge

A Model Context Protocol (MCP) server that provides tools and resources for interacting with Netlify through their CLI. This server enables deploying sites, managing environment variables, builds, and more, compatible with Netlify CLI v19.1.5.

Netlify Server MCP server

Recent Changes (April 8, 2025)

  • Compatibility Update: Verified tool compatibility with Netlify CLI v19.1.5.
  • Removed Unsupported Tools/Resources: Removed functionality related to unavailable CLI command groups: dns, forms, plugins, hooks, deploys. Specific commands like functions:delete, functions:invoke, and sites:get were also removed as they were either unavailable or incompatible with non-interactive use via the MCP server.
  • Site Context Workaround: Updated tools requiring site context (like env:*, logs:function, build, trigger-build) to pass the siteId via the NETLIFY_SITE_ID environment variable, as the --site flag is not supported for these commands in this CLI version.

Features (Compatible with Netlify CLI v19.1.5)

  • Deploy and manage sites (deploy-site, build-site, trigger-build, link-site, unlink-site, get-status, create-site, delete-site)
  • Manage environment variables (set-env-vars, get-env-var, unset-env-var, import-env, clone-env-vars)
  • Get function logs (get-logs)
  • Access site data via Resources (list-sites, list-functions, list-env-vars)
  • Comprehensive error handling
  • Type-safe parameter validation using Zod

Installation

Installing via Smithery

To install Netlify MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @DynamicEndpoints/Netlify-MCP-Server --client claude

Manual Installation

  1. Clone the repository (if not already done).
  2. Install dependencies:
    npm install
    
  3. Build the server:
    npm run build
    
  4. Ensure Netlify CLI is installed (v19.1.5 or compatible):
    # Example global install:
    npm install -g netlify-cli@19.1.5
    

Authentication

This MCP server interacts with the Netlify CLI, which requires authentication with your Netlify account. Since the server runs non-interactively, you must use a Personal Access Token (PAT).

  1. Generate a PAT:
    • Go to your Netlify User Settings > Applications > Personal access tokens (Direct Link).
    • Select New access token.
    • Give it a description (e.g., "MCP Server Token").
    • Set an expiration date.
    • Select Generate token.
    • Copy the token immediately and store it securely.
  2. Configure the Token: You need to make this token available to the MCP server as the NETLIFY_AUTH_TOKEN environment variable. Add it to the env section of the server's configuration in your MCP settings file (see below).

Note: Using netlify login is not suitable for this server as it requires interactive browser authentication.

Configuration

Add the following configuration to your MCP settings file (location varies by platform), replacing "YOUR_NETLIFY_PAT_HERE" with your actual Personal Access Token:

{
  "mcpServers": {
    "netlify": {
      "command": "node",
      "args": ["/path/to/Netlify-MCP-Server/build/index.js"], // Adjust path if needed
      "env": {
        "NETLIFY_AUTH_TOKEN": "YOUR_NETLIFY_PAT_HERE"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Replace /path/to/Netlify-MCP-Server with the actual path where you cloned/installed the server.

Settings file locations:

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Cline Dev Extension (VS Code): /home/user/.codeoss-cloudworkstations/data/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json (or similar based on OS/setup)
  • Consult your specific MCP client documentation for other potential locations.

Available Tools (Netlify CLI v19.1.5 Compatible)

(Parameters are based on the Zod schemas defined in src/index.ts)

Site & Deployment Management

deploy-site

Deploy a site directory to Netlify.

{
  "path": "string",        // Required: Path to the site directory
  "prod": "boolean?",      // Optional: Deploy to production
  "message": "string?"     // Optional: Deploy message
}

Example:

{
  "path": "./dist",
  "prod": true,
  "message": "Deploying latest changes"
}

list-sites

List all Netlify sites linked to your account.

{} // No parameters

Example:

{}

trigger-build

Trigger a new build/deploy for a site. Site context is passed via NETLIFY_SITE_ID env var.

{
  "siteId": "string",     // Required: Site ID or name
  "message": "string?"    // Optional: Deploy message
}

Example:

{
  "siteId": "your-site-id-here",
  "message": "Triggering rebuild"
}

build-site

Run a Netlify build locally (mimics Netlify build environment). Site context is passed via NETLIFY_SITE_ID env var if siteId is provided.

{
  "siteId": "string?",    // Optional: Site ID (if project dir not linked)
  "context": "string?",   // Optional: Build context (e.g., 'production', 'deploy-preview')
  "dry": "boolean?"       // Optional: Run a dry build (list steps without executing)
}

Example:

{
  "siteId": "your-site-id-here",
  "context": "production"
}

link-site

Link the current project directory to a Netlify site (requires Site ID for non-interactive use).

{
  "siteId": "string"     // Required: Site ID to link to.
}

Example:

{
  "siteId": "your-site-id-here"
}

unlink-site

Unlink the current project directory from the associated Netlify site.

{} // No parameters

Example:

{}

get-status

Show the Netlify status for the linked site/directory. (Will likely fail if run via MCP server unless the server directory itself is linked).

{} // No parameters

Example:

{}

create-site

Create a new site on Netlify (non-interactively).

{
  "name": "string?",        // Optional: Site name (subdomain)
  "accountSlug": "string?"  // Optional: Account slug for the team (defaults to 'playhousehosting' if omitted)
}

Example:

{
  "name": "my-awesome-new-site"
}

delete-site

Delete a site from Netlify.

{
  "siteId": "string",     // Required: Site ID to delete
  "force": "boolean?"     // Optional: Force deletion without confirmation (default: true)
}

Example:

{
  "siteId": "site-id-to-delete",
  "force": true
}

Environment Variable Management

set-env-vars

Set one or more environment variables for a site. Site context is passed via NETLIFY_SITE_ID env var.

{
  "siteId": "string",     // Required: Site ID or name
  "envVars": {            // Required: Object of key-value pairs
    "KEY": "value"
  }
}

Example:

{
  "siteId": "your-site-id-here",
  "envVars": {
    "API_KEY": "secret123",
    "NODE_ENV": "production"
  }
}

get-env-var

Get the value of a specific environment variable. Site context is passed via NETLIFY_SITE_ID env var if siteId is provided.

{
  "siteId": "string?",    // Optional: Site ID (if not linked)
  "key": "string",        // Required: The environment variable key
  "context": "string?",   // Optional: Specific context (e.g., 'production')
  "scope": "string?"      // Optional: Specific scope (e.g., 'builds', 'functions')
}

Example:

{
  "siteId": "your-site-id-here",
  "key": "API_KEY"
}

unset-env-var

Unset (delete) an environment variable. Site context is passed via NETLIFY_SITE_ID env var if siteId is provided.

{
  "siteId": "string?",    // Optional: Site ID (if not linked)
  "key": "string",        // Required: The environment variable key
  "context": "string?"    // Optional: Specific context to unset from (otherwise all)
}

Example:

{
  "siteId": "your-site-id-here",
  "key": "OLD_VAR"
}

import-env

Import environment variables from a .env file. Site context is passed via NETLIFY_SITE_ID env var.

{
  "siteId": "string",     // Required: Site ID or name
  "filePath": "string",   // Required: Path to the .env file
  "replace": "boolean?"   // Optional: Replace existing variables instead of merging
}

Example:

{
  "siteId": "your-site-id-here",
  "filePath": ".env.production",
  "replace": true
}

clone-env-vars

Clone environment variables from one site to another. Requires source site to be linked or specified via NETLIFY_SITE_ID.

{
  "fromSiteId": "string", // Required: Source Site ID
  "toSiteId": "string"    // Required: Destination Site ID
}

Example:

{
  "fromSiteId": "source-site-id",
  "toSiteId": "destination-site-id"
}

Serverless Functions

get-logs

View function logs. Site context is passed via NETLIFY_SITE_ID env var.

{
  "siteId": "string",     // Required: Site ID or name
  "function": "string?"   // Optional: Specific function name to filter logs
}

Example:

{
  "siteId": "your-site-id-here",
  "function": "my-serverless-func"
}

Available Resources (Netlify CLI v19.1.5 Compatible)

Access Netlify data directly using these resource URIs:

  • netlify://sites: List all sites (JSON output of sites:list --json)
  • netlify://sites/{siteId}/functions: List functions for a site (JSON output of functions:list --json, requires NETLIFY_SITE_ID={siteId} env var)
  • netlify://sites/{siteId}/env: List environment variables for a site (JSON output of env:list --json, requires NETLIFY_SITE_ID={siteId} env var)

Limitations (Netlify CLI v19.1.5)

  • Interactive Commands: Commands requiring interactive prompts (like netlify login, netlify init, netlify dev) are not supported by this server. Use a Personal Access Token for authentication.
  • Site Context: Many commands (env:*, logs:function, build, trigger-build, functions:list) require site context. This server passes the required siteId via the NETLIFY_SITE_ID environment variable when executing these commands. Commands like status and unlink operate on the current working directory of the server, which is typically not linked, and thus may not function as expected when called via the MCP server.
  • Unsupported Commands: Functionality related to DNS, Forms, Plugins, Hooks, and Deploys (listing specific deploys, getting deploy status) has been removed due to incompatibility with CLI v19.1.5.

Development

To modify the server:

  1. Update source code in src/index.ts.
  2. Build with npm run build.
  3. Restart the MCP server in your client application to load changes.
  4. Test your changes.

Resources

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Beniyam Berhanu
  • Therapist adept at identifying core issues and offering practical advice with images.

  • https://tovuti.be
  • Oede knorrepot die vasthoudt an de goeie ouwe tied van 't boerenleven

  • INFOLAB OPERATIONS 2
  • A medical specialist offering assistance grounded in clinical guidelines. Disclaimer: This is intended for research and is NOT safe for clinical use!

  • ANGEL LEON
  • A world class elite tech co-founder entrepreneur, expert in software development, entrepreneurship, marketing, coaching style leadership and aligned with ambition for excellence, global market penetration and worldy perspectives.

  • apappascs
  • Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.

  • ShrimpingIt
  • Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx

  • OffchainLabs
  • Implementación de la prueba de estaca Ethereum

  • huahuayu
  • Una puerta de enlace de API unificada para integrar múltiples API de explorador de blockchain similar a Esterscan con soporte de protocolo de contexto modelo (MCP) para asistentes de IA.

  • deemkeen
  • Controle su MBOT2 con un combo de potencia: MQTT+MCP+LLM

  • jae-jae
  • Servidor MCP para obtener contenido de la página web con el navegador sin cabeza de dramaturgo.

  • HiveNexus
  • Un bot de chat de IA para equipos pequeños y medianos, que apoyan modelos como Deepseek, Open AI, Claude y Gemini. 专为中小团队设计的 ai 聊天应用 , 支持 Deepseek 、 Open ai 、 Claude 、 Géminis 等模型。

    Reviews

    5 (1)
    Avatar
    user_wHqQxKy2
    2025-04-15

    As a loyal user of the mcp application, I am highly impressed with Changting Baichuan Cloud Website Security Monitoring. This product offers robust security features that give me peace of mind knowing my website is protected against potential threats. The seamless integration and user-friendly interface make it a top choice for anyone looking to enhance their website's security. Highly recommended!