Netlify
Manage Netlify sites, deploys, env vars, DNS, and form submissions via MCP. Connect with OAuth.
Example questions
Try asking your AI client
-
Which Netlify deploys failed in the last 2 days?
-
Did the production build for the marketing site ever finish?
-
What form submissions came in this week - names and emails only?
-
Write a draft DNS record for staging - do not create it yet.
-
Which sites still have a locked deploy?
Overview
Connect Netlify so AI clients can manage sites, deploys, environment variables, DNS, form submissions, and build hooks through the Netlify REST API.
stackgate.ai stores your OAuth token encrypted and calls https://api.netlify.com/api/v1 on your behalf. Tool results are returned to your AI client for that request.
Prerequisites
- A Netlify account
- A stackgate.ai account
Getting credentials
Netlify is OAuth-only. There is no personal access token paste on stackgate.ai.
- In stackgate.ai, open My Integrations → Netlify.
- Click Connect Netlify and authorize the Netlify account and teams you want AI to use.
- After redirect, the integration is ready. Use Edit tool access to limit Read vs Write tools if needed.
Optional defaults such as account_id, account_slug, and site_id can be stored on the connection so list and get tools do not need those IDs on every call.
Treat the connection like a password. Disconnect in My Integrations if access should stop, and revoke the app in Netlify if the token is exposed.
Using with AI clients
- Dedicated endpoint:
POST /mcp/netlifywith a Sanctum bearer token - Private gateway: one config for all integrations - use
netlify__*namespaced tools
See Documentation for HTTP authentication and private gateway setup.
Suggested workflow
get_current_user/list_accounts- confirm identity and team (account) IDs.list_sites/get_site- findsite_id(API id, not the subdomain alone).list_deploys/get_deploy/list_site_builds- inspect deploy and build status.create_site_build- trigger a git-connected production or branch build.cancel_deploy/restore_deploy/lock_deploy/unlock_deploy/rollback_site_deploy- traffic control.list_env_vars/create_env_vars/set_env_var- manage env vars carefully (never echo secret values unless asked).list_site_forms/list_form_submissions- Netlify Forms.list_dns_zones/list_dns_records/create_dns_record- DNS.purge_cacheafter publishing content that the CDN caches.
Troubleshooting
- 422 integration not configured - complete the OAuth connect flow in My Integrations.
- 401 Unauthorized - reconnect Netlify in My Integrations.
- 403 Forbidden - the Netlify team role or site permissions may lack access for that resource.
- 429 Too many requests - Netlify typically allows 500 requests per minute; deploys are limited to 3 per minute and 100 per day. Wait and avoid tight polling.
- Missing site resources - pass
site_idon the tool call, or set a default site on the connection. - Destructive actions - tools like
delete_site, DNS deletes, and env deletes can cause outages; confirm intent before approving Write access.
Available tools
-
get_current_user
Get the Netlify user for the connected OAuth token.
-
list_accounts
List Netlify accounts (teams) accessible to the connected user.
-
get_account
Get a Netlify account (team) by ID. Defaults to account_id from My Integrations.
-
list_sites
List Netlify sites for the connected account.
-
list_account_sites
List sites in a Netlify account (team). Defaults to account_slug from My Integrations.
-
get_site
Get a Netlify site by ID. Defaults to site_id from My Integrations.
-
create_site
Create a new Netlify site.
-
update_site
Update a Netlify site name or custom domain.
-
delete_site
Permanently delete a Netlify site and its deploys.
-
enable_site
Re-enable a site that was previously disabled by the user.
-
disable_site
Disable a Netlify site.
-
list_deploys
List deploys for a Netlify site.
-
get_deploy
Get a Netlify deploy by ID.
-
cancel_deploy
Cancel an in-progress Netlify deploy.
-
restore_deploy
Restore a previous deploy as the current published deploy for a site.
-
lock_deploy
Lock a published deploy so later deploys do not go live automatically.
-
unlock_deploy
Unlock a previously locked deploy.
-
rollback_site_deploy
Roll a site back to the previous published deploy.
-
list_site_builds
List builds for a Netlify site.
-
get_site_build
Get a Netlify site build by ID.
-
create_site_build
Trigger a git-connected Netlify build. Omit branch for production; pass a branch for a branch deploy.
-
list_env_vars
List environment variables for an account or site. Values may be masked depending on role.
-
get_env_var
Get one environment variable by key.
-
create_env_vars
Create environment variables. Pass env_vars as an array of objects with key and values (each value has value and context).
-
set_env_var
Create or update one value of an existing environment variable.
-
delete_env_var
Delete an environment variable by key.
-
list_site_forms
List Netlify Forms for a site (metadata only, not submissions).
-
list_form_submissions
List submissions for a Netlify form.
-
list_site_submissions
List form submissions across all forms on a site.
-
list_dns_zones
List DNS zones the connected user can access.
-
get_dns_zone
Get a Netlify DNS zone by ID.
-
list_dns_records
List DNS records in a zone.
-
create_dns_record
Create a DNS record in a Netlify DNS zone.
-
delete_dns_record
Delete a DNS record from a Netlify DNS zone.
-
purge_cache
Purge cached content from the Netlify CDN for a site. Optionally purge by cache tags.
-
list_build_hooks
List build hooks for a site.
-
create_build_hook
Create a build hook for a site.
-
delete_build_hook
Delete a build hook.
MCP endpoint:
https://stackgate.ai/mcp/netlify
(HTTP) or via the
private gateway.