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
- Go to Webflow Developer Portal
- Create a new OAuth application
- Configure your redirect URI
- 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
Prop
Type
Default Scopes
These defaults are applied unless you override scopes in the integration config:
authorized_user:readassets:readassets:writecms:readcms:writecustom_code:readcustom_code:writeforms:readforms:writepages:readpages:writesites:readsites: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
Prop
Type
webflow_get_site_custom_domains
Get site custom domains
Prop
Type
webflow_publish_site
Publish site
Prop
Type
webflow_list_site_pages
List site pages
Prop
Type
webflow_list_site_collections
List site collections
Prop
Type
webflow_get_collection
Get collection
Prop
Type
webflow_list_collection_items
List collection items
Prop
Type
webflow_list_live_collection_items
List live collection items
Prop
Type
webflow_get_collection_item
Get collection item
Prop
Type
webflow_create_collection_items
Create collection items
Prop
Type
webflow_update_collection_items
Update collection items
Prop
Type
webflow_delete_collection_items
Delete collection items
Prop
Type
webflow_publish_collection_items
Publish collection items
Prop
Type
webflow_list_site_forms
List site forms
Prop
Type
webflow_list_site_webhooks
List site webhooks
Prop
Type
Notes
- Category: Websites & CMS
- Authentication mode: OAuth