Netlify Integration
STDIOMCP server providing tools for interacting with Netlify through CLI.
MCP server providing tools for interacting with Netlify through CLI.
A Model Context Protocol (MCP) server for Netlify, providing comprehensive access to ALL Netlify CLI features through the latest MCP SDK v1.12.3 and Netlify CLI v22.1.3. Now with 43 tools covering Blobs, Dev Server, Recipes, Analytics, Forms, and advanced API operations.
28 comprehensive workflow templates designed specifically for AI coding agents:
netlify-deploy
- Complete deployment with validation and monitoringnetlify-setup
- Full site setup from creation to productionnetlify-environment-setup
- Environment configuration across contextsnetlify-troubleshoot
- Comprehensive issue diagnosis and resolutionnetlify-function-deploy
- Function deployment with best practicesnetlify-migration
- Site migration with optimizationnetlify-optimization
- Performance, security, and SEO optimizationnetlify-security-audit
- Complete security audit and hardeningnetlify-performance-audit
- Comprehensive performance analysis and optimizationnetlify-edge-functions-setup
- Edge functions deployment and configurationnetlify-blobs-management
- Comprehensive blob storage management workflownetlify-forms-setup
- Form handling and submission management setupnetlify-analytics-dashboard
- Analytics dashboard setup and monitoringnetlify-domain-setup
- Custom domain configuration and DNS managementnetlify-redirects-config
- URL redirects and rewrite rules configurationnetlify-build-optimization
- Build process optimization and cachingnetlify-monitoring-setup
- Comprehensive monitoring and alerting setupnetlify-backup-strategy
- Site backup and disaster recovery planningnetlify-team-collaboration
- Team workflow and collaboration setupnetlify-api-integration
- API integration and webhook configurationnetlify-staging-workflow
- Staging environment and preview deployment workflownetlify-seo-optimization
- SEO optimization and search engine visibilitynetlify-cdn-optimization
- CDN and edge network optimizationnetlify-compliance-audit
- Compliance and accessibility auditnetlify-cost-optimization
- Cost analysis and optimization recommendationsnetlify-disaster-recovery
- Disaster recovery testing and proceduresnetlify-advanced-deployment
- Advanced deployment strategies and blue-green deployments32 enhanced data sources with live updates:
Complete Netlify functionality at your fingertips:
deploy-site
- Deploy a site to Netlify (production or preview)trigger-build
- Trigger a new build and deploybuild-site
- Build site locally with context optionslist-sites
- List all Netlify sitescreate-site
- Create a new Netlify sitedelete-site
- Delete a Netlify siteget-site-info
- Get detailed site informationlink-site
- Link current directory to a Netlify siteunlink-site
- Unlink current directory from Netlify siteget-status
- Get current Netlify statusinit-site
- Initialize a new site in current directoryopen-site
- Open site in browserset-env-vars
- Set environment variables for a siteget-env-var
- Get a specific environment variableunset-env-var
- Unset an environment variableclone-env-vars
- Clone environment variables between sitesimport-env
- Import environment variables from filelist-deploys
- List deploys for a siteget-deploy-info
- Get information about a specific deploycancel-deploy
- Cancel a running deployrestore-deploy
- Restore a previous deploywatch-deploy
- Watch deployment progress in real-timelist-functions
- List all functions for a siteget-logs
- Get function logs for a sitebuild-function
- Build a serverless functioninvoke-function-advanced
- Invoke function with advanced optionsget-blob
- Get a blob from Netlify Blobs storageset-blob
- Set/store a blob in Netlify Blobs storagedelete-blob
- Delete a blob from storagelist-blobs
- List all blobs in a storestart-dev-server
- Start Netlify dev server locallyserve-built-site
- Serve a built site locallylist-recipes
- List available Netlify recipesrun-recipe
- Run a specific Netlify recipecall-netlify-api
- Make direct Netlify API callslist-api-methods
- List available API methodsget-form-submissions
- Get form submissions for a sitemanage-form
- Manage site forms and submissionsget-analytics
- Get site analytics datastream-logs
- Stream real-time logs from functionsenable-branch-deploy
- Enable branch deploys for a specific branchdisable-branch-deploy
- Disable branch deploys for a specific branchswitch-account
- Switch between Netlify accountsnetlify://sites
- List all sites (JSON)netlify://sites/{siteId}/overview
- Complete site overview with functions, deployments, and analyticsnetlify://sites/{siteId}/functions
- List site functions (JSON)netlify://sites/{siteId}/env
- List environment variables (JSON)netlify://sites/{siteId}/deploys
- List site deployments (JSON)netlify://sites/{siteId}/deploys/{deployId}
- Detailed information about a specific deploymentnetlify://sites/{siteId}/forms
- Form submissions and configurationnetlify://sites/{siteId}/analytics
- Site usage analytics and performance metricsnetlify://sites/{siteId}/logs
- Recent site and function logsnetlify://sites/{siteId}/edge-functions
- List and manage edge functions for a sitenetlify://sites/{siteId}/build-hooks
- Manage build hooks and webhook configurationsnetlify://sites/{siteId}/domains
- Custom domains and DNS configurationnetlify://sites/{siteId}/redirects
- URL redirects and rewrite rulesnetlify://sites/{siteId}/headers
- Custom HTTP headers configurationnetlify://sites/{siteId}/performance
- Site performance analytics and optimization datanetlify://sites/{siteId}/security
- Security headers, SSL, and vulnerability analysisnetlify://sites/{siteId}/bandwidth
- Site bandwidth consumption and analyticsnetlify://sites/{siteId}/errors
- Site error logs and exception trackingnetlify://blobs/{storeName}
- Netlify Blobs storage managementnetlify://blobs/{storeName}/{key}
- Individual blob data and metadatanetlify://recipes
- Netlify automation recipes and templatesnetlify://recipes/{recipeName}
- Detailed recipe configuration and stepsnetlify://api/methods
- Available Netlify API endpoints and methodsnetlify://account/usage
- Account-level usage statistics and limitsnetlify://account/teams
- Team membership and permissionsnetlify://account/billing
- Account billing details and usage costsnetlify://account/members
- Team member management and permissionsnetlify://account/integrations
- Connected services and integrationsnetlify://account/tokens
- Personal access tokens and API keysnetlify://account/notifications
- Email and webhook notification preferencesnetlify://global/regions
- Available deployment regions and edge locationsnetlify://status
- Current Netlify service status and healthnetlify-deploy
- Deploy a site with best practices guidancenetlify-setup
- Set up a new Netlify site with configurationnetlify-environment-setup
- Environment configuration across contextsnetlify-troubleshoot
- Comprehensive issue diagnosis and resolutionnetlify-function-deploy
- Function deployment with best practicesnetlify-migration
- Site migration with optimizationnetlify-optimization
- Performance, security, and SEO optimizationnetlify-security-audit
- Complete security audit and hardeningnetlify-performance-audit
- Comprehensive performance analysis and optimizationnetlify-edge-functions-setup
- Edge functions deployment and configurationnetlify-blobs-management
- Comprehensive blob storage management workflownetlify-forms-setup
- Form handling and submission management setupnetlify-analytics-dashboard
- Analytics dashboard setup and monitoringnetlify-domain-setup
- Custom domain configuration and DNS managementnetlify-redirects-config
- URL redirects and rewrite rules configurationnetlify-build-optimization
- Build process optimization and cachingnetlify-monitoring-setup
- Comprehensive monitoring and alerting setupnetlify-backup-strategy
- Site backup and disaster recovery planningnetlify-team-collaboration
- Team workflow and collaboration setupnetlify-api-integration
- API integration and webhook configurationnetlify-staging-workflow
- Staging environment and preview deployment workflownetlify-seo-optimization
- SEO optimization and search engine visibilitynetlify-cdn-optimization
- CDN and edge network optimizationnetlify-compliance-audit
- Compliance and accessibility auditnetlify-cost-optimization
- Cost analysis and optimization recommendationsnetlify-disaster-recovery
- Disaster recovery testing and proceduresnetlify-advanced-deployment
- Advanced deployment strategies and blue-green deploymentsTo install Netlify MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @DynamicEndpoints/Netlify-MCP-Server --client claude
git clone <repository-url> cd Netlify-MCP-Server
npm install
npm run build
npm install -g netlify-cli@latest
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).
Generate a PAT:
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.
Add the following configuration to your MCP settings file, replacing "YOUR_NETLIFY_PAT_HERE"
with your actual Personal Access Token:
{ "mcpServers": { "netlify": { "command": "node", "args": ["C:\\path\\to\\Netlify-MCP-Server\\build\\index.js"], "env": { "NETLIFY_AUTH_TOKEN": "YOUR_NETLIFY_PAT_HERE" }, "disabled": false, "autoApprove": [] } } }
Settings file locations:
%APPDATA%\Claude\claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
(Parameters are based on the Zod schemas defined in src/index.ts
)
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 all Netlify sites linked to your account.
{} // No parameters
Example:
{}
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" }
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 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 the current project directory from the associated Netlify site.
{} // No parameters
Example:
{}
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 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 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 }
Initialize a new site in the current directory.
{ "name": "string?", // Optional: Site name "accountSlug": "string?", // Optional: Account slug "manual": "boolean?" // Optional: Skip git detection }
Example:
{ "name": "my-new-site", "manual": true }
Open site in browser.
{ "siteId": "string?", // Optional: Site ID (if not linked) "admin": "boolean?" // Optional: Open admin panel instead of site }
Example:
{ "siteId": "your-site-id-here", "admin": true }
Watch deployment progress in real-time.
{ "siteId": "string", // Required: Site ID "deployId": "string?" // Optional: Specific deploy ID to watch }
Example:
{ "siteId": "your-site-id-here", "deployId": "deploy-id-123" }
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 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 (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 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 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" }
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" }
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)netlify://sites/{siteId}/deploys
: List deployments for a site (JSON output of deploys:list --json
, requires NETLIFY_SITE_ID={siteId}
env var)netlify://sites/{siteId}/forms
: List forms for a site (JSON output from form management tools)netlify://sites/{siteId}/analytics
: Site analytics data (JSON output from analytics tools)netlify://blobs/{storeName}
: List blobs in a store (JSON output from blob storage tools)netlify://recipes
: List available recipes (JSON output from recipe tools)netlify://api/methods
: List available API methods (JSON output from API discovery tools)netlify login
, netlify init
without parameters, interactive dev mode) are not supported by this server. Use a Personal Access Token for authentication and provide required parameters explicitly.siteId
via the NETLIFY_SITE_ID
environment variable when executing these commands. Commands that operate on the current working directory (like status
and unlink
) may not function as expected when called via the MCP server unless the server directory is properly linked.Note: This comprehensive implementation now covers all major Netlify CLI functionality including Blobs, Dev Server, Recipes, Analytics, Forms, and advanced API operations. Previously unsupported features like DNS, Plugins, and Hooks may still have limited support depending on CLI capabilities.
To modify the server:
src/index.ts
.npm run build
.