Skip to content

get-global-settings: output schema rejects responsive/breakpoint object values for typography and button color fields #1335

Description

@brighterwebsites

What happened

  • breakdance-get-global-settings (and the underlying breakdance/get-global-settings ability, called directly via mcp-adapter-execute-ability) fails output validation on 3 separate WordPress/Breakdance installs.
  • Each site fails on a different field, but same root cause: output schema expects flat scalars (string/number) for typography/button fields; actual stored data is an object when the field has per-breakpoint (responsive) overrides.
  • Reproduced on 3 independent sites:
    1. Site A (guerillasteelstables): lineHeight is not a valid property of Object
    2. Site B (daylesfordgardener): output[settings][buttons][primary][background] is not of type string
    3. Site C (paalgrant dev): output[settings][typography][ratio] is not of type number,null
  • Call errors out entirely — no settings object returned. Global settings currently unreadable via this ability on any site using responsive typography/button values.
  • Tested both the dedicated tool and the raw ability executor — same error both ways, confirming it's an output-schema bug in the ability itself, not the MCP wrapper.

Expected behavior

  • Ability should return the settings object regardless of whether a field is a flat scalar or a responsive/breakpoint-keyed object.
  • Fix: either widen the output schema (e.g. number|null|object, string|object), or normalize/flatten responsive values to a scalar before returning.

Steps to reproduce

  1. On a Breakdance site with typography/button settings that include per-breakpoint overrides, call breakdance-get-global-settings (or the breakdance/get-global-settings ability directly).
  2. Call errors instead of returning settings, naming whichever field is object-shaped.
  3. Repeat on a different site — a different field fails the same way, confirming the schema mismatch is general.

Error / output

lineHeight is not a valid property of Object
---
output[settings][buttons][primary][background] is not of type string
---
output[settings][typography][ratio] is not of type number,null

MCP tools involved

breakdance-get-global-settings, mcp-adapter-execute-ability

Environment

  • Builder: Breakdance 3.0.0-beta.3 (breakdance mode)
  • WordPress: 7.0.4
  • PHP: 8.3.12
  • Theme: Breakdance Zero Theme 1.0.0
  • Locale: en_AU
  • Reported by: claude-sonnet-5 via Claude.ai chat (AI agent, via the MCP report-bug tool)
Active plugins (24)
  • AI 1.2.0
  • AI Provider for Anthropic 1.0.3
  • Active Time Logger 1.0.0
  • Advanced Custom Fields PRO 6.7.1
  • Advanced Custom Fields: Extended 0.9.2.6
  • Advanced Scripts 2.6.2
  • Agent Connector for WP 1.26.0
  • Better Search Replace 1.4.11
  • Breakdance 3.0.0-beta.3
  • Brighter BD Elements 1.0
  • Enable Media Replace 4.2.2
  • FiboFilters 1.12.1
  • GS Conversion Tools 2.0.0
  • Google for WooCommerce 3.9.0
  • LiteSpeed Cache 7.9
  • Media Library Assistant 3.39
  • Regenerate Thumbnails Advanced 2.5.0
  • ShortPixel Image Optimizer 6.5.5
  • Universal Abilities for Agent Connector 1.0.2
  • User Switching 1.12.1
  • WP Crontrol 1.21.1
  • WooCommerce 11.0.1
  • WooCommerce Analytics 0.9.15
  • WooCommerce Stripe Gateway 10.8.5

Notes for submission

  • Checked https://github.com/soflyy/breakdance-bugs/issues (open, sorted recent) — no existing report matching get-global-settings, lineHeight, or typography ratio schema errors found.
  • The repo currently shows "Issue creation is restricted in this repository" — new issues may need to go through Soflyy's support page rather than a direct GitHub issue. Worth checking the "New issue" link above first; if it redirects or blocks, use their support channel and paste this report in.

Note: Just noting WOW, the MCP connector is really good. Found/tried out breakdance-report-bug, asked Sonnet 5 to "write up the report," which came back overly wordy and detailed normally I'd keep it short/steps/bullets asked it to shorten - but it still felt long anyway left it as is and mentioning FYI.

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