Skip to content

[BUG] No write support for selectedItems component props. #145

Description

@opellicano

Webflow MCP: No write support for "selectedItems" component props

Summary

The Webflow MCP server's Data API tools can read the value of a component instance prop typed selectedItems (a manually curated list of specific CMS item IDs), but there is no supported way to write a new value to that prop type. This blocks any MCP-driven workflow that needs to programmatically select specific CMS items into a component — e.g. choosing which blog posts appear in a "related posts" grid.

Where this shows up

Component: Blog Posts Grid (custom component, used across our Labs service pages)
Prop: Posts to Showtype: "selectedItems", confirmed via data_component_tool → get_component:

{
  "id": "a51e5b2e-374c-cc00-d289-77695d5c1e51",
  "type": "selectedItems",
  "name": "Posts to Show"
}

Reading the current value works fine via data_component_props_tool → get_component_instance_props:

{
  "propId": "a51e5b2e-374c-cc00-d289-77695d5c1e51",
  "value": { "itemIds": ["68ded7801746417be58025bf", "684c415d708dedcfc8790180", "65c2d1796e83ec0903eea99f"] },
  "name": "Posts to Show"
}

What was attempted

data_component_props_tool → set_component_instance_prop_values only accepts these value types: string | number | boolean | null | link | video | richText | bindable. There is no selectedItems (or equivalent reference-set/multi-item) option in the schema, and no field in the bindable variant that accepts an array of specific item IDs.

Attempt 1 — omit type entirely / pass raw itemIds: rejected at the schema-validation layer (additionalProperties: false on the values object), never reaches the server.

Attempt 2 — use type: "bindable" with binding_source_type: "cms", pointing at the same collection/field the prop already displayed:

{
  "prop_id": "a51e5b2e-374c-cc00-d289-77695d5c1e51",
  "type": "bindable",
  "binding_source_type": "cms",
  "binding_collection_id": "65c2d1796e83ec0903eea555",
  "binding_field_id": "080c5205de75418f997e425c4acfe0f1"
}

Result:

Error: Tool set_component_instance_prop_values failed: Element is not inside a CMS context

This binding mode requires the element to live on a CMS collection template page (or inside a Collection List), which correctly doesn't apply here — these are static, non-collection pages. But it also means there's no fallback path.

Impact

Any component with a selectedItems-type prop (curated CMS references, as opposed to a dynamic filtered list) cannot have that prop set via the MCP Data API on a static page. The only current workaround is manually selecting the items in the Designer canvas UI, which defeats the purpose of programmatic/agent-driven editing.

Suggested fix

Add a selectedItems (or referenceSet) value type to set_component_instance_prop_values, accepting something like:

{
  "prop_id": "...",
  "type": "selectedItems",
  "selected_item_ids": ["itemId1", "itemId2", "itemId3"]
}

mirroring the shape already returned by the read endpoint.

Environment

  • Webflow MCP connector (Data API surface), accessed via Claude's Webflow MCP integration
  • Site: Fullstack (63ea859d3ade03089d7e65c6)
  • Component: "Blog Posts Grid" (640b5309-6dd8-5feb-6816-53d2c0c01db2), group "0. Labs"
  • Date encountered: 2026-08-19/20

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions