Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Netlify MCP connector

OAuth 2.0/DCR Developer ToolsAutomationProductivity

Build, deploy, and manage Netlify projects — sites, functions, environment variables, forms, blobs, and edge functions — from AI agents via the Netlify...

Netlify MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Netlify MCP credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Before connecting Netlify MCP, enable the Model Context Protocol feature in your Slack app settings. This allows your Slack app to share context with LLMs and agents.

    1. Enable MCP in your Slack app

      • Go to api.slack.com/apps and open your app.
      • In the left sidebar, under Features, click Agents & AI Apps.
      • Under Model Context Protocol, toggle it on.
    2. Connect in Scalekit

      In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Netlify MCP and click Create.

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'netlifymcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Netlify MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'netlifymcp_get_netlify_coding_context',
    toolInput: { creationType: 'YOUR_CREATIONTYPE' },
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Get netlify coding context — ALWAYS call when writing code
  • Reader netlify deploy services, netlify extension services, netlify project services — Read Netlify deploy information
  • Updater netlify deploy services, netlify extension services, netlify project services — Write operations for Netlify deployments

Proxy API call

import { ScalekitClient } from '@scalekit-sdk/node'
import 'dotenv/config'
const scalekit = new ScalekitClient(
process.env.SCALEKIT_ENV_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET,
)
const actions = scalekit.actions
const connector = 'netlifymcp'
const identifier = 'user_123'
// Read a channel's message history
const result = await actions.executeTool({
connector,
identifier,
toolName: 'netlifymcp_slack_read_channel',
toolInput: { channel_id: 'C01234567' },
})
console.log(result)

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

netlifymcp_get_netlify_coding_context # ALWAYS call when writing code. Required step before creating or editing any type of Netlify functions, SDK/library usage, etc. Returns up-to-date code patterns and guidance for the selected creation type. 1 param

ALWAYS call when writing code. Required step before creating or editing any type of Netlify functions, SDK/library usage, etc. Returns up-to-date code patterns and guidance for the selected creation type.

Name Type Required Description
creationType string required The type of Netlify feature to get coding context for.
netlifymcp_netlify_deploy_services_reader # Read Netlify deploy information. Supports operations: get-deploy (retrieve a deploy by ID), get-deploy-for-site (retrieve a specific deploy for a site). 1 param

Read Netlify deploy information. Supports operations: get-deploy (retrieve a deploy by ID), get-deploy-for-site (retrieve a specific deploy for a site).

Name Type Required Description
selectSchema string required Operation selector. Choose 'get-deploy' to retrieve a deploy by ID, or 'get-deploy-for-site' to retrieve a deploy for a specific site.
netlifymcp_netlify_deploy_services_updater # Write operations for Netlify deployments. Supports operation: deploy-site (trigger a new deploy for an existing Netlify site). 1 param

Write operations for Netlify deployments. Supports operation: deploy-site (trigger a new deploy for an existing Netlify site).

Name Type Required Description
selectSchema object required Operation selector. Use operation='deploy-site' with a siteId to trigger a deploy.
netlifymcp_netlify_extension_services_reader # Read Netlify extension information. Supports operations: get-extensions (list all available Netlify extensions), get-full-extension-details (retrieve detailed information about a specific extension for a team). 1 param

Read Netlify extension information. Supports operations: get-extensions (list all available Netlify extensions), get-full-extension-details (retrieve detailed information about a specific extension for a team).

Name Type Required Description
selectSchema string required Operation selector. Use 'get-extensions' to list all extensions, or 'get-full-extension-details' with extensionSlug and teamId to get details for a specific extension.
netlifymcp_netlify_extension_services_updater # Write operations for Netlify extensions. Supports operations: change-extension-installation (install or uninstall a Netlify extension for a team or site), initialize-database (initialize the Netlify database extension). 1 param

Write operations for Netlify extensions. Supports operations: change-extension-installation (install or uninstall a Netlify extension for a team or site), initialize-database (initialize the Netlify database extension).

Name Type Required Description
selectSchema string required Operation selector. Use 'change-extension-installation' to install or uninstall an extension, or 'initialize-database' to set up the Netlify database extension.
netlifymcp_netlify_project_services_reader # Read Netlify project/site information. Supports operations: get-project (get a site by ID), get-projects (list sites, optionally filtered by team or name), get-forms-for-project (get forms for a site). 1 param

Read Netlify project/site information. Supports operations: get-project (get a site by ID), get-projects (list sites, optionally filtered by team or name), get-forms-for-project (get forms for a site).

Name Type Required Description
selectSchema string required Operation selector. Choose 'get-project', 'get-projects', or 'get-forms-for-project'.
netlifymcp_netlify_project_services_updater # Write operations for Netlify projects/sites. Supports operations: update-visitor-access-controls (set password or SSO login requirements), update-forms (enable or disable Netlify Forms), manage-form-submissions (list or delete form submissions), update-project-name (rename a site), manage-env-vars (get, set, or delete environment variables), create-new-project (create a new Netlify site). 1 param

Write operations for Netlify projects/sites. Supports operations: update-visitor-access-controls (set password or SSO login requirements), update-forms (enable or disable Netlify Forms), manage-form-submissions (list or delete form submissions), update-project-name (rename a site), manage-env-vars (get, set, or delete environment variables), create-new-project (create a new Netlify site).

Name Type Required Description
selectSchema string required Operation selector. Choose one of: update-visitor-access-controls, update-forms, manage-form-submissions, update-project-name, manage-env-vars, create-new-project.
netlifymcp_netlify_team_services_reader # Read Netlify team information. Supports operations: get-teams (list all teams for the current user), get-team (retrieve a specific team by ID). 1 param

Read Netlify team information. Supports operations: get-teams (list all teams for the current user), get-team (retrieve a specific team by ID).

Name Type Required Description
selectSchema string required Operation selector. Use 'get-teams' to list all teams, or 'get-team' with a teamId to get a specific team.
netlifymcp_netlify_user_services_reader # Read Netlify user information. Supports operation: get-user (returns the currently authenticated user's profile). 1 param

Read Netlify user information. Supports operation: get-user (returns the currently authenticated user's profile).

Name Type Required Description
selectSchema object required Operation selector. Set operation to 'get-user' to retrieve the current user's profile.