The Netlify MCP Server allows you to manage Netlify sites through a Model Context Protocol (MCP) interface. You can:
Create new sites from GitHub repositories by specifying name, repository, branch, build command, and publish directory
List existing Netlify sites with optional filtering by access type
Retrieve detailed information about specific sites using their IDs
Delete Netlify sites from your account
Allows creating Netlify sites from GitHub repositories by specifying repository details, branch to deploy from, and build configuration.
Enables site management on Netlify's platform, including creating new sites from GitHub repositories, listing existing sites, retrieving detailed site information, and deleting sites.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Netlify MCP Servercreate a new site from my GitHub repo glama-ai/demo-app with build command 'npm run build' and publish directory 'dist'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Netlify MCP Server
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
Related MCP server: MCP Serverless Functions Example
Requirements
Node.js 18 or higher
A Netlify account with API access
A GitHub repository for deploying sites
Installation
From Source
Clone this repository:
git clone https://github.com/MCERQUA/netlify-mcp.git
cd netlify-mcpInstall dependencies:
npm installBuild the project:
npm run buildUsing Docker
docker build -t netlify-mcp .
docker run -e NETLIFY_ACCESS_TOKEN=your_token_here netlify-mcpConfiguration
Getting Your Netlify Access Token
Create a Netlify account at https://app.netlify.com/signup
Go to User Settings > Applications > Personal access tokens
Click "New access token"
Give it a name (e.g., "MCP Integration")
Copy the generated token
Setting Up MCP
Create a
.envfile in the project root:
NETLIFY_ACCESS_TOKEN=your_token_hereAdd 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:
Development
# Run in development mode with auto-rebuild
npm run dev
# Clean build artifacts
npm run clean
# Build the project
npm run buildTroubleshooting
Common Issues
"NETLIFY_ACCESS_TOKEN environment variable is required"
Make sure you've set the token in your environment or
.envfile
"Failed to create site: 401 Unauthorized"
Your access token might be invalid or expired
Generate a new token from Netlify settings
"Invalid repo format"
Ensure the repository is in format
owner/repoExample:
facebook/react, nothttps://github.com/facebook/react
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Model Context Protocol for the MCP framework
Netlify for their excellent deployment platform