View as Markdown

Webflow Integration

Manage Webflow sites, CMS collections, pages, forms, and publishing

The Webflow integration provides access to manage Webflow sites, CMS collections, pages, forms, and publishing through the Integrate MCP server.

Installation

The Webflow integration is included with the SDK:

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

Setup

1. Create a Webflow OAuth App

  1. Go to Webflow 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 Webflow integration to your server configuration. The integration automatically reads WEBFLOW_CLIENT_ID and WEBFLOW_CLIENT_SECRET from your environment variables:

import { createMCPServer, webflowIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    webflowIntegration({
      scopes: ["authorized_user:read", "assets:read", "assets:write", "cms:read", "cms:write", "custom_code:read", "custom_code:write", "forms:read", "forms:write", "pages:read", "pages:write", "sites:read", "sites:write"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

webflowIntegration({
  clientId: process.env.CUSTOM_WEBFLOW_ID,
  clientSecret: process.env.CUSTOM_WEBFLOW_SECRET,
      scopes: ["authorized_user:read", "assets:read", "assets:write", "cms:read", "cms:write", "custom_code:read", "custom_code:write", "forms:read", "forms:write", "pages:read", "pages:write", "sites:read", "sites:write"], // Optional
});

3. Client-Side Usage

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

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

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

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

Configuration Options

export interface WebflowIntegrationConfig {
  /** Webflow OAuth client ID (defaults to WEBFLOW_CLIENT_ID env var) */
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • authorized_user:read
  • assets:read
  • assets:write
  • cms:read
  • cms:write
  • custom_code:read
  • custom_code:write
  • forms:read
  • forms:write
  • pages:read
  • pages:write
  • sites:read
  • sites:write

Tools

webflow_token_introspect

Token introspect

No parameters.

webflow_get_authorized_user

Get authorized user

No parameters.

webflow_list_sites

List sites

No parameters.

webflow_get_site

Get site

export interface WebflowGetSiteParams { site_id: string }

webflow_get_site_custom_domains

Get site custom domains

export interface WebflowGetSiteCustomDomainsParams { site_id: string }

webflow_publish_site

Publish site

export interface WebflowPublishSiteParams { site_id: string;

webflow_list_site_pages

List site pages

export interface WebflowListSitePagesParams {
    site_id: string;

webflow_list_site_collections

List site collections

export interface WebflowListSiteCollectionsParams { site_id: string }

webflow_get_collection

Get collection

export interface WebflowGetCollectionParams { collection_id: string }

webflow_list_collection_items

List collection items

export interface WebflowListCollectionItemsParams {
    collection_id: string;

webflow_list_live_collection_items

List live collection items

export interface WebflowListLiveCollectionItemsParams {
    collection_id: string;

webflow_get_collection_item

Get collection item

export interface WebflowGetCollectionItemParams {
    collection_id: string;

webflow_create_collection_items

Create collection items

export interface WebflowCreateCollectionItemsParams { collection_id: string;

webflow_update_collection_items

Update collection items

export interface WebflowUpdateCollectionItemsParams { collection_id: string;

webflow_delete_collection_items

Delete collection items

export interface WebflowDeleteCollectionItemsParams { collection_id: string;

webflow_publish_collection_items

Publish collection items

export interface WebflowPublishCollectionItemsParams { collection_id: string;

webflow_list_site_forms

List site forms

export interface WebflowListSiteFormsParams { site_id: string;

webflow_list_site_webhooks

List site webhooks

export interface WebflowListSiteWebhooksParams { site_id: string }

Notes

  • Category: Websites & CMS
  • Authentication mode: OAuth