Connect your AI Agents to Webflow in minutes

Available tools
list_assets
List all assets for a Webflow site with pagination. Use list_sites to find valid site IDs.
get_asset
Get a specific asset by ID including its hosted URL and metadata. Use list_assets to find IDs.
create_asset
Create an asset upload request. Returns a presigned upload URL. The actual file upload must be done separately to the returned URL.
delete_asset
Delete an asset permanently. This cannot be undone. Use list_assets to find asset IDs.
list_asset_folders
List all asset folders for a Webflow site. Use list_sites to find valid site IDs.
get_asset_folder
Get a specific asset folder by ID. Use list_asset_folders to find folder IDs.
create_asset_folder
Create a new asset folder in a Webflow site. Optionally nest under a parent folder.
list_collections
List all CMS collections for a Webflow site. Use list_sites to find valid site IDs.
get_collection
Get a CMS collection by ID including its fields. Use list_collections to find valid IDs.
create_collection
Create a new CMS collection in a Webflow site. Requires displayName and singularName.
delete_collection
Delete a CMS collection. This permanently removes the collection and all its items.
create_collection_field
Add a new field to a CMS collection. Use get_collection to see existing fields.
update_collection_field
Update a field in a CMS collection. Use get_collection to find field IDs.
delete_collection_field
Delete a field from a CMS collection. Use get_collection to find field IDs.
list_forms
List all forms for a Webflow site with pagination. Use list_sites to find valid site IDs.
get_form
Get a specific form by ID including its field configuration. Use list_forms to find form IDs.
list_form_submissions
List submissions for a form with pagination. Use list_forms to find form IDs.
get_form_submission
Get a specific form submission by ID. Use list_form_submissions to find submission IDs.
update_form_submission
Update a form submission's data. Use get_form_submission to see current values.
get_inventory
Get inventory details for a CMS item. Use list_collection_items to find item IDs.
update_inventory
Update inventory for a CMS item. Set type to 'finite' with quantity or 'infinite' for unlimited stock.
get_ecommerce_settings
Get e-commerce settings for a Webflow site including currency and tax configuration.
list_collection_items
List staged CMS collection items with pagination. Use list_collections to find collection IDs.
get_collection_item
Get a staged CMS collection item by ID. Use list_collection_items to find item IDs.
create_collection_item
Create a new staged CMS item. Pass field_data as a dict matching the collection's field schema.
create_collection_items_bulk
Create up to 100 staged CMS items in bulk. Each item dict must include fieldData.
update_collection_item
Update a staged CMS item's fields. Pass field_data with fields to change.
update_collection_items_bulk
Update up to 100 staged CMS items in bulk. Each item dict must include id and fieldData.
delete_collection_item
Delete a staged CMS item. This is permanent and cannot be undone.
delete_collection_items_bulk
Delete up to 100 staged CMS items in bulk. This is permanent and cannot be undone.
publish_collection_items
Publish staged CMS items to make them live. Provide a list of item IDs to publish.
list_live_collection_items
List live (published) CMS items with pagination. Only shows published content.
get_live_collection_item
Get a live (published) CMS item by ID. Shows the published version of the item.
create_live_collection_item
Create and immediately publish a CMS item. Skips the staging step.
update_live_collection_item
Update a live CMS item directly. Changes are immediately visible on the published site.
update_live_collection_items_bulk
Update up to 100 live CMS items in bulk. Changes are immediately visible.
unpublish_collection_item
Unpublish a live CMS item. Removes it from the published site.
unpublish_collection_items_bulk
Unpublish up to 100 live CMS items in bulk. Removes them from the published site.
list_orders
List e-commerce orders for a Webflow site with pagination. Optionally filter by status.
get_order
Get an e-commerce order by ID. Use list_orders to find order IDs.
update_order
Update an e-commerce order's comment or shipping details. Use get_order to see current values.
fulfill_order
Mark an e-commerce order as fulfilled. Optionally send a fulfillment notification email.
unfulfill_order
Mark a fulfilled e-commerce order as unfulfilled. Use get_order to check current status.
refund_order
Refund an e-commerce order. This cannot be undone. Use get_order to check order status first.
list_pages
List pages for a Webflow site with pagination. Use list_sites to find valid site IDs.
get_page
Get details of a specific Webflow page by ID. Use list_pages to find valid page IDs.
update_page
Update a Webflow page's title, slug, or SEO settings. Use get_page to see current values.
get_page_content
Get the DOM content (nodes) of a Webflow page. Returns structured page elements.
update_page_content
Update DOM content on a Webflow page for secondary locales only. Primary locale content must be edited in the Designer. Use get_page_content for node IDs.
list_products
List e-commerce products for a Webflow site with pagination. Use list_sites to find site IDs.
get_product
Get an e-commerce product by ID including its SKUs. Use list_products to find product IDs.
create_product
Create an e-commerce product with an optional default SKU. Product data should include fieldData with name and slug.
update_product
Update an e-commerce product's fields. Use get_product to see current values.
create_sku
Create SKU variants for an e-commerce product. Each SKU can have different price and properties.
update_sku
Update a specific SKU variant. Use get_product to find SKU IDs.
list_sites
List all Webflow sites accessible to the authenticated user. Returns site IDs, names, and metadata.
get_site
Get details of a specific Webflow site by ID. Use list_sites to find valid site IDs.
publish_site
Publish a Webflow site to make changes live. Optionally specify custom domains to publish to.
list_custom_domains
List all custom domains configured for a Webflow site. Use list_sites to find valid site IDs.
validate_credential
Validate Webflow API credentials by checking the authorized user info. Used during credential setup.
list_webhooks
List all webhooks configured for a Webflow site. Use list_sites to find site IDs.
get_webhook
Get a specific webhook by ID. Use list_webhooks to find webhook IDs.
create_webhook
Create a webhook for a Webflow site. Trigger types: form_submission, site_publish, collection_item_created, collection_item_changed, collection_item_deleted, collection_item_unpublished, ecomm_new_order, ecomm_order_changed, ecomm_inventory_changed.
delete_webhook
Delete a webhook. This stops all future webhook deliveries. Use list_webhooks to find IDs.

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Webflow MCP server
FAQs on using Merge's Webflow MCP server
What is a Webflow MCP?
It's an MCP server that gives your agents access to Webflow via tools. Your agents can invoke these tools to create and publish CMS collection items, manage e-commerce orders, handle form submissions, update site content, and more.
Webflow offers an official MCP server, but you can also use one from a third-party platform, like Merge Agent Handler.
How can I use the Webflow MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Content publishing pipeline: When a new blog post is approved in a content tool like Notion, an agent calls <code class="blog_inline-code">
create_collection_item</code>to add it to the appropriate Webflow CMS collection and then calls <code class="blog_inline-code">publish_collection_items</code>to make it live without any manual steps in the Webflow editor
- Form-to-CRM sync: When a visitor submits a contact form on a Webflow site, an agent calls <code class="blog_inline-code">
get_form_submission</code>to retrieve the data and creates a corresponding contact record in HubSpot, keeping sales pipeline data current without manual imports
- E-commerce order fulfillment: When a payment is confirmed in Stripe, an agent calls <code class="blog_inline-code">
fulfill_order</code>to mark the Webflow order as shipped and callsupdate_inventoryto decrement available stock, keeping storefront data accurate in real time
- Post-deploy site publish: When a CI pipeline finishes a build, an agent calls <code class="blog_inline-code">
publish_site</code>to push all pending content changes live alongside the code release, ensuring copy and functionality ship together
What are popular tools for Webflow's MCP server?
Here are some of the most commonly used tools:
<code class="blog_inline-code">create_collection_item</code>adds a new item to a specified Webflow CMS collection with the provided field values. Use this when an agent needs to push content from an external source into a Webflow site without opening the editor
<code class="blog_inline-code">publish_collection_items</code>moves one or more staged collection items to the live site. Call this after creating or updating items when an agent needs the changes to be immediately visible to site visitors
<code class="blog_inline-code">list_collection_items</code>retrieves all items in a CMS collection, including their field values and publish status. Good for agents that need to audit existing content before creating duplicates or generating a content inventory report
<code class="blog_inline-code">list_form_submissions</code>returns all submissions for a given Webflow form, including field data and timestamps. Helpful when an agent needs to process leads, route inquiries, or sync form data to a downstream system on a schedule
<code class="blog_inline-code">fulfill_order</code>marks a Webflow e-commerce order as fulfilled and optionally records tracking information. Use this when an agent is automating order processing in response to a fulfillment event in a logistics or payment system
<code class="blog_inline-code">publish_site</code>pushes all staged changes for a Webflow site to production. Call this when an agent needs to coordinate a content release with an external trigger, like a campaign launch date or a completed approval workflow
What makes Merge Agent Handler's Webflow MCP server better than alternative Webflow MCP servers?
Here is what sets Merge Agent Handler's Webflow MCP server apart from building your own or using a standalone alternative:
- Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Webflow, this means you can prevent form submission data containing PII, e-commerce order details, and unpublished CMS content from being exposed even when the agent has broad read access
- Managed authentication and credentials: Merge stores and refreshes Webflow credentials on your behalf. You never hand OAuth tokens to an agent directly or deal with re-authentication when Webflow credentials expire
- Real-time observability and audit trail: Every tool call made against Webflow is logged with timestamp, tool name, input parameters, and response metadata. You can see exactly what content an agent published, what orders it fulfilled, or what form data it read without adding any custom logging
- Tool Packs and controlled access: Tool Packs let you bundle specific Webflow tools with tools from other connectors into a single MCP endpoint, scoped to a specific use case. An agent gets exactly the tools it needs, nothing more
How can I start using Merge Agent Handler's Webflow MCP server?
You can take the following steps:
1. Create or log into your Merge Agent Handler account and navigate to Tool Packs (collections of connector tools scoped to a specific use case).
2. Create a new Tool Pack, then find and enable the Webflow connector. Choose which tools to include: enable read tools like <code class="blog_inline-code">list_collection_items</code> for content auditing use cases, or add write tools like <code class="blog_inline-code">create_collection_item</code> and <code class="blog_inline-code">publish_site</code> if your agent needs to create or publish content.
3. Add a Registered User inside the Tool Pack. This is the identity context under which your agent operates. Merge generates a unique MCP URL scoped to this user once it's created.
4. From the Registered User detail page, authenticate Webflow by completing the OAuth flow. Merge stores and manages the credentials going forward.
5. Copy the MCP URL from the Tool Pack detail page and generate an API key from Settings. You'll need both to connect your agent.
6. Add the MCP server to your agent or IDE using the MCP URL and API key. Your Webflow tools are now accessible through that endpoint.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now

























