Summary
Let your AI check and run your Netlify sites: sites, deploys and builds, functions, forms and submissions, environment variable names and DNS, and start builds, publish or roll back deploys and lock auto publishing after you confirm.
Guided setup
Connect Netlify to Microsoft Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect Netlify in the guided setup, then add your MCP URL to Microsoft Copilot. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for Netlify
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Netlify, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Netlify + Microsoft Copilot
Let your AI check and run your Netlify sites: sites, deploys and builds, functions, forms and submissions, environment variable names and DNS, and start builds, publish or roll back deploys and lock auto publishing after you confirm.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
NETLIFY_TOKEN
Step 1 — Get credentials
- Sign in to Netlify at
https://app.netlify.com. - Open User settings → Applications → Personal access tokens and click New access token.
- Give the token a description and an expiration, then copy it. Newer tokens start with
nfp_. - Paste only the token into
NETLIFY_TOKEN, without the word Bearer, and install the connector. It is sent as a Bearer token to api.netlify.com only. - Check the setup with
netlify_get_current_user, thennetlify_list_sites.
Who sees what: a personal access token has your full rights in every Netlify team you belong to, and Netlify has no read-only tokens. Share the MCP server only with people who may deploy your sites. For a read-only setup, switch off the write tools listed below.
Changes live sites, so the AI asks first: netlify_trigger_build starts a new build and deploy from the connected repository and is also the way to retry a failed deploy; a production build publishes to the live site when it succeeds, unless auto publishing is locked, and it uses build minutes. netlify_restore_deploy publishes an earlier deploy again and netlify_rollback_site goes back to the deploy published before the current one; both change what visitors see immediately. netlify_lock_deploy stops auto publishing, so new builds are deployed but not published, netlify_unlock_deploy resumes it, and netlify_cancel_deploy stops a deploy that is still building so it is never published. Before each of them the AI tells you the site, branch or deploy and what will change, and waits for your yes.
Switched off at install: netlify_get_env_var_value, which returns non-secret environment variable values in plain text (variables marked secret come back masked, except in the dev context), and netlify_delete_form_submission, which deletes a submission for good. An administrator turns them on deliberately.
Secrets stay out: netlify_list_env_vars returns names, scopes and deploy contexts only, never values. Build hook URLs, the site password and deploy hook URLs are never returned.
How to work: netlify_list_accounts lists your teams; netlify_list_sites gives each site's id, and a site's domain such as my-site.netlify.app works as site_id too. Deploys: netlify_list_deploys (filter by branch, state or production) and netlify_get_deploy; builds: netlify_list_builds, netlify_get_build and netlify_list_build_hooks. Site details: netlify_get_site, netlify_list_functions and netlify_list_env_vars. Long lists carry _pagination, and the AI asks for the next page until it is gone.
Forms: netlify_list_forms, then netlify_list_form_submissions. Submissions hold what visitors typed, often personal data such as names and email addresses.
DNS: netlify_list_dns_zones, then netlify_list_dns_records. This works only for domains on Netlify DNS.
Common errors: 401: the token is wrong, expired or revoked; create a new one under User settings → Applications. 403: your user lacks the role for this team or site. 404: a wrong site, deploy or form id, or one you cannot see. 422: a value is invalid, and Netlify names it. 429: the rate limit is reached (about 500 requests a minute, and only a few deploys a minute); wait and retry.
The connector does not cover creating, deleting or configuring sites, uploading files, editing environment variables, DNS records or domains, or site analytics, which Netlify does not offer in its public API.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Netlifytools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
netlify_get_current_user | Get the Netlify user the personal access token belongs to: id, name, email, number of sites and last login |
netlify_list_accounts | List the Netlify teams (accounts) the user belongs to: id, name, slug, plan type and the user's roles |
netlify_list_sites | List sites (projects): id, name, URL, custom domain, team, connected repository and branch, build command and the currently published deploy |
netlify_get_site | Get one site: URL, custom domain and aliases, state, plan, team, repository, branch, build command, publish folder and the published deploy |
netlify_list_deploys | List a site's deploys, newest first: id, state (ready, building, error, ...), context (production, deploy-preview, branch-deploy), branch… |
netlify_get_deploy | Get one deploy by id: state, context, branch, commit, title, error message, URLs, lock state and times |
netlify_list_builds | List a site's builds, newest first: id, deploy id, commit sha, whether it is done, error text and time |
netlify_get_build | Get one build: deploy id, commit sha, whether it is done, error text and time |
netlify_list_build_hooks | List a site's build hooks: id, title and branch |
netlify_list_functions | List the serverless functions deployed for a site, with the deploy and branch they belong to |
netlify_list_forms | List the forms Netlify detected on a site: id, name, the pages they are on, number of submissions and their fields |
netlify_list_form_submissions | List the submissions of one form, newest first: number, time, name, email, company, summary and all submitted fields |
netlify_list_env_vars | List a site's environment variables: key, scopes (builds, functions, runtime, post-processing), whether it is marked secret, the deploy… |
netlify_get_env_var_value | Read the values of ONE environment variable per deploy context |
netlify_list_dns_zones | List the DNS zones managed by Netlify DNS: id, domain name, team, linked site and the Netlify name servers |
netlify_list_dns_records | List the records of a Netlify DNS zone: id, hostname, type (A, AAAA, CNAME, MX, TXT, NETLIFY ...), value, TTL, priority and whether Netlify… |
netlify_trigger_build | Start a new build and deploy of a site from its connected repository, optionally for another branch or with a cleared cache |
netlify_restore_deploy | Publish an earlier deploy to the live site again (Netlify's Publish deploy) |
netlify_rollback_site | Roll the live site back to the deploy that was published before the current one |
netlify_lock_deploy | Lock a published deploy: auto publishing stops, so new builds are deployed but not published until it is unlocked |
netlify_unlock_deploy | Unlock a locked deploy so auto publishing resumes; the next successful production build goes live |
netlify_cancel_deploy | Cancel a deploy that is still building or processing; it will not be published |
netlify_delete_form_submission | Delete one form submission for good |
Example prompts
- "Which of our Netlify sites had a failed deploy this week, and what was the error message?"
- "The last production deploy of the shop site broke checkout. Roll it back to the previous version, but show me which deploy goes live first."
- "Retry the failed build of the docs site on the main branch with a cleared cache. Ask me before you start it."
- "Show me the latest 20 submissions of the contact form on our marketing site, with name, email and message."
- "Which environment variables does the shop site have in production, and which of them are marked secret?"
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?