View as Markdown

Netlify Integration

Manage Netlify sites, deploys, builds, and environment variables

The Netlify integration provides access to manage Netlify sites, deploys, builds, and environment variables through the Integrate MCP server.

Installation

The Netlify integration is included with the SDK:

import { netlifyIntegration } from "integrate-sdk/server";

Setup

1. Create a Netlify OAuth App

  1. Go to App Developer Portal
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Netlify integration to your server configuration. The integration automatically reads NETLIFY_CLIENT_ID and NETLIFY_CLIENT_SECRET from your environment variables:

import { createMCPServer, netlifyIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    netlifyIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

netlifyIntegration({
  clientId: process.env.CUSTOM_NETLIFY_ID,
  clientSecret: process.env.CUSTOM_NETLIFY_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("netlify");
const result = await client.netlify.getCurrentUser({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, netlifyIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [netlifyIntegration()],
});

Configuration Options

export interface NetlifyIntegrationConfig {
  /** Netlify OAuth client ID (defaults to NETLIFY_CLIENT_ID env var) */
  clientId?: string;

Tools

netlify_get_current_user

Get current user

No parameters.

netlify_list_accounts

List accounts

No parameters.

netlify_get_account

Get account

export interface NetlifyGetAccountParams { account_id: string }

netlify_list_sites

List sites

export interface NetlifyListSitesParams { filter?: string;

netlify_get_site

Get site

export interface NetlifyGetSiteParams { site_id: string }

netlify_create_site

Create site

export interface NetlifyCreateSiteParams { name?: string;

netlify_update_site

Update site

export interface NetlifyUpdateSiteParams { site_id: string;

netlify_delete_site

Delete site

export interface NetlifyDeleteSiteParams { site_id: string }

netlify_enable_site

Enable site

export interface NetlifyEnableSiteParams { site_id: string }

netlify_disable_site

Disable site

export interface NetlifyDisableSiteParams { site_id: string }

netlify_list_deploys

List deploys

export interface NetlifyListDeploysParams { site_id: string;

netlify_get_deploy

Get deploy

export interface NetlifyGetDeployParams { deploy_id: string }

netlify_create_deploy

Create deploy

export interface NetlifyCreateDeployParams { site_id: string;

netlify_cancel_deploy

Cancel deploy

export interface NetlifyCancelDeployParams { site_id: string;

netlify_restore_deploy

Restore deploy

export interface NetlifyRestoreDeployParams { site_id: string;

netlify_lock_deploy

Lock deploy

export interface NetlifyLockDeployParams { deploy_id: string }

netlify_unlock_deploy

Unlock deploy

export interface NetlifyUnlockDeployParams { deploy_id: string }

netlify_list_builds

List builds

export interface NetlifyListBuildsParams { site_id: string;

netlify_get_build

Get build

export interface NetlifyGetBuildParams { site_id: string;

netlify_trigger_build

Trigger build

export interface NetlifyTriggerBuildParams { site_id: string;

netlify_list_env_vars

List env vars

export interface NetlifyListEnvVarsParams { account_id: string;

netlify_get_env_var

Get env var

export interface NetlifyGetEnvVarParams { account_id: string;

netlify_create_env_vars

Create env vars

export interface NetlifyCreateEnvVarsParams { account_id: string;

netlify_update_env_var

Update env var

export interface NetlifyUpdateEnvVarParams { account_id: string;

netlify_delete_env_var

Delete env var

export interface NetlifyDeleteEnvVarParams { account_id: string;

netlify_list_build_hooks

List build hooks

export interface NetlifyListBuildHooksParams { site_id: string }

netlify_create_build_hook

Create build hook

export interface NetlifyCreateBuildHookParams { site_id: string;

netlify_delete_build_hook

Delete build hook

export interface NetlifyDeleteBuildHookParams { site_id: string;

netlify_list_forms

List forms

export interface NetlifyListFormsParams { site_id: string }

netlify_list_form_submissions

List form submissions

export interface NetlifyListFormSubmissionsParams { form_id: string;

netlify_list_dns_zones

List dns zones

No parameters.

netlify_get_dns_records

Get dns records

export interface NetlifyGetDnsRecordsParams { zone_id: string }

netlify_create_dns_record

Create dns record

export interface NetlifyCreateDnsRecordParams { dns_zone_id: string;

netlify_delete_dns_record

Delete dns record

export interface NetlifyDeleteDnsRecordParams { record_id: string }

netlify_list_functions

List functions

export interface NetlifyListFunctionsParams { site_id: string }

netlify_list_files

List files

export interface NetlifyListFilesParams { site_id: string }

netlify_purge_cache

Purge cache

export interface NetlifyPurgeCacheParams { site_id?: string;

Notes

  • Category: Infrastructure
  • Authentication mode: OAuth