Inicio - Documentación - POM AI - 11 MCP - Authoring tools - `pom_get_shortcode_schema`: inspect a shortcode schema

pom_get_shortcode_schema: inspect a shortcode schema

The grammar for one shortcode: which attributes it accepts, what values they take, and what it may be nested inside or contain.

This is the call that stops an assistant inventing attribute names.

Arguments

Argument Required Meaning
shortcode Yes The tag, such as web_button or vc_row

Permissions

mcp:read and wp:content:read, with edit_posts.

What it returns

Field Meaning
shortcode The tag
label, description Human name and purpose
source Layout shortcode, POM theme module, or other builder shortcode
category Its grouping
attributes A map of attribute name to its schema
is_container Whether it wraps other shortcodes
as_parent What it may contain
as_child What it may be placed inside
post_types Post types it is restricted to, if any
content_element Whether it produces content

An unknown tag returns pom_ai_mcp_shortcode_not_found.

Reading an attribute

Each attribute carries:

Field Meaning
type Normalised type: string, text, enum, media or object
control_type The underlying builder control
label, description What it is for
default The default value
options Allowed label-and-value pairs, when constrained
values Just the allowed values, for quick checking
dependency When the attribute only applies given another attribute's value
group Its tab in the builder interface

The type is derived from the control: dropdowns, radios and checkboxes become enum; image pickers become media; grouped, padding and background controls become object; textareas become text.

The fields that matter most

values. When present, these are the only acceptable values. Writing anything else produces an attribute that is silently ignored — the most common way generated builder content ends up looking wrong without failing.

as_parent and as_child. The nesting constraints, and they are enforced. The validator reports a violation as an error, so reading them first saves a round trip.

dependency. An attribute that only applies when another has a particular value. Setting it outside that condition does nothing, which is confusing to debug from the rendered page.

type: object. These attributes take a structured value, not a string. Passing a string produces a silently wrong result.

Read the schema for every shortcode you use

Not just the unfamiliar ones. Two shortcodes that look similar frequently differ in the attribute names for the same concept, and a web_* module's spacing attributes are usually not the ones a general WordPress builder would use.

Read the schemas for vc_row, vc_column and web_button before composing anything.

An assistant given the schemas writes valid markup on the first attempt. One given only the tag list writes plausible markup and finds out at validation.

Using it well

Show me the schema for web_button, and list its attributes with their allowed values.

Which attributes of web_listings control how many items are shown?

What can vc_column_inner be placed inside?

What it does not do

  • It does not validate your usage. That is pom_validate_builder_content.
  • It does not tell you what looks good. The schema is mechanical.
  • It does not cover merge tags. Those are template-side; see pom_get_available_mergetags.

When a shortcode is not found

pom_ai_mcp_shortcode_not_found means the tag is not in this site's catalogue. Causes, in order of likelihood:

  1. The assistant invented the tag, or borrowed it from another builder.
  2. The module is disabled — check pom_get_available_shortcodes with include_inactive.
  3. The POM theme is not active, so its modules are not registered.
  4. A typo.

The fix is always the same: go back to pom_get_available_shortcodes and work from the real list.

Related